Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

GBX.ru _ Nintendo Switch: Игры _ SmileBASIC 4/FUZE4/Game Builder Garage

Автор: AtH Суббота, 25 апреля 2020, 02:47

https://cdn02.nintendo-europe.com/media/images/10_share_images/games_15/nintendo_switch_download_software_1/H2x1_NSwitchDS_SmileBasic4_image1600w.jpg



Официальный сайт (англ.): https://www.petc4.smilebasic.com/?lang=en

Установил SmileBASIC 4. «Игра» представляет собой современный транслятор языка Бейсик с «облачной» возможностью делиться программами. Каждая платная DLC «Server Tickets» даёт +10 «слотов» — мест под программы, которые можно опубликовать для других. Сегодня попробую написать и выложить что-нибудь простенькое, присоединяйтесь. Без этого DLC чужую программу можно загрузить только раз в 8 часов.

Update. Моя первая программа на SmileBASIC4 называется DAY1. Загрузить её можно по коду "4JE52E23", только без кавычек. smile.gif Пожалуйста, поделитесь здесь, если получилось загрузить. Управление кнопками направления на левом джойконе, выбор языка клавишей «A», выход кнопкой «+». Можете поставить лайк, если она вам понравилась. cool.gif

SmileBASIC переведён на английский язык. При запуске быстренький путеводитель по интерфейсу (это одна из частей манги, см. ниже), который при желании легко пропустить. Тех, кто хочет не только запускать чужие программы, приглашают скачать справочник (34 страницы инфографики на английском в pdf) вот с этой Вики:

https://sup4.smilebasic.com/en/doku.php

В справочнике много чего. Как рисовать, делать спрайты, обращаться к про контроллеру, USB-клавиатуре, даже к тойконам и инфракрасной камере!

Конечно же, на сайте море информации на японском языке. Но для большинства английского должно быть достаточно. Вот, например, подробный веб-справочник по языку:
https://sup4.smilebasic.com/en/doku.php?id=reference:top

В самом SmileBASIC есть как контекстная подсказка F1, так и кнопка «Beginner’s Guide», где смешные персонажи под музыку и с юморком учат школьника-троечника программированию на SmileBASIC 4.3.0. Там, правда, тоже требуется знание английского. Нечто вроде манги по азам программирования из 12 частей, плюс 3 части про USB-клавиатуру, ещё 3 про интерфейс SmileBASIC’а и 1 часть титров. Также в комплекте большое число примеров программирования вывода текста, графики, спрайтов, звука, разнообразных эффектов и т.п.

http://the-hacker.ru/2020/SmallBASIC.JPG

Впервые подключил к свитчу USB-клавиатуру, хотя можно программировать и без неё, с экранной клавиатуры. Пишут, что USB-мышку тоже можно подключить, но мне пока про контроллера хватает. Пока всё сильно напоминает «Ямах» моего детства (1980’ые) на стероидах. lol.gif Должно быть идеально для начинающих, изучать программирование.

Поскольку у меня дохриллион десятилетий опыта работы с японским MSX Basic’ом, от которого этот диалект явно произошёл (я даже его когда-то дизассемблировал и помню немного, как его потроха были устроены), а также отличное знание английского — спрашивайте тут. Если что будет непонятно, без проблем разберёмся вместе. Похоже, довольно мощные программы можно на SmileBASIC’е писать и делиться ими.

Правда, это не eShop и не App Store. Да и 3D-графики, поддержки видео и некоторых других технологий пока не обнаружил. Заработать таким образом вряд ли у кого получится. Но если изучить архитектуру Свитча и набросать макет, для разработки своей игры достаточно будет перейти на более серьёзный язык программирования.

Когда ваша программа опубликована в SmileBASIC, другие имеют право её загрузить, ставить лайки и даже вносить изменения, в свои копии. Можно хранить программы как у себя, так и на сервере без публикации. Также можно ограничить круг пользователей, но если такая программа станет популярной, она опубликуется самостоятельно.

Добавлено спустя 46 минут:
Wow! Японцы используют слово «execute» в значении «казнить», то есть как синоним «delete» — удалить проект или файл. lol2.gif При этом весь мир использует это слово в первом значении, как «выполнить». Японцам похрен. lol.gif

Вообще, похоже, что под невинным видом Бейсика в eShop выложена целая студия разработчика. Вроде Visual Studio, только тут всё крутится вокруг SmileBASIC’а и сделано с любовью, доступно для детей.

» Features «


Несколько ссылок, всё на английском:

1. Введение в программирование. Моя игра DAY1 немного сложнее, но весьма похожа. Рекомендую после прочтения обучалки загрузить её и разобраться в моём коде.
https://agameaweek.com/?Blog=9706

1.1. Тот же автор объясняет, как написать ещё одну игру — теннис:
https://agameaweek.com/?Blog=9741

1.2. Хороший обзор языка, без ввода-вывода (графика, джойконы не объяснены):
http://smilebasicsource.com/page?pid=1526

1.3. Отличия SB4 от SB3, включая графику и контроллеры Свитча:
http://smilebasicsource.com/page?pid=1362

2. Ссылка на японские проекты, которые можно загрузить в SmileBASIC’е:
https://twitter.com/gosokkyu/status/1253349847085862913

3. Обучающие видео:
https://www.youtube.com/user/SmileBoooom

4. Официальные советы по программированию и работе в SmileBASIC 4:
https://sup4.smilebasic.com/en/doku.php?id=tips

5. Сайт сообщества с исходниками для SmileBASIC 4:
https://new.smilebasicsource.com/

Автор: dimm0505 Суббота, 25 апреля 2020, 07:39

Интересно конечно. Я сделал общую тему Dev Corner в железном разделе, но пусть лучше отдельная будет по бэйсику. Пока покупать не буду, дороговато, но там вроде демка есть. Может и пощупаю. MSX в те годы только в школе пробовал, к сожалению ничего не писал там, хотя среди 8-битных компиков это самый мощный, да и бейсик богатый. Здесь реализация интерпретатор? Или компиляция все-таки выполняется перед запуском? Просто шустро проги выполняются как, для бэйсика-интерпретатора нехарактерно.

Еще же какой-то FUZE есть для разработки на Свитче. Правда там не бейсик в чистом виде, а какая-то смесь бульдога с носорогом. Но демки тоже впечатляют.

Автор: AtH Суббота, 25 апреля 2020, 08:11

Хотя SmileBASIC не переведён на русский, он поддерживает русские символы (да и вообще 16-битный Юникод) и русскую раскладку USB-клавиатуры. Для этого в системных настройках Свитча надо выбрать:

Система → Клавиатура USB → Русский

Переключаться между русской и английской раскладками можно внезапно по Alt+`

Добавлено спустя 9 минут:
Вроде, интерпретатор. По крайней мере для программиста незаметно, если есть какая-то компиляция. Да и многие описанные трюки было бы сложно провернуть, если бы была компиляция.

Язык куда богаче Бейсика MSX. Три типа данных — целые (32-бита со знаком), плавучка (двоичная, то есть быстрая и суровая) и строки (16 битные символы, длина строк без ограничений). Переменные могут содержать значения любого из этих типов. Есть массивы, в том числе многомерные. Несколько я понял, массивы и строки хранятся в динамической памяти с автоматической уборкой мусора. Похоже, что японцы позаимствовали несколько хороших идей из Лиспа и Питона.

Номера строк не нужны, но есть метки. Названия меток можно хранить в виде строк, присваивать их переменным, использовать их при переходах и вызовах подпрограмм. На одной строке может быть несколько операторов через двоеточие.

Проектов может быть несколько. Каждый может состоять из нескольких файлов, включая текстовые, файлы данных и графические. Есть большое количество встроенных спрайтов, фоновых мелодий и звуковых эффектов на все случаи жизни.

В одном проекте одновременно могут быть загружены четыре программы, которые могут читать и изменять исходный текст друг друга, а при желании передают друг другу управление. Ещё есть «сабпрограммы» (возможно, это они и есть), которые исполняются одновременно с основной программой (многозадачность) — в справочнике это расписано, как самая сложная технология, предназначенная для опытных программистов.

Оператор PLAY для фоновой музыки поддерживается, причём макроязык сильно развился и включает несколько инструментов, описание на английском здесь:
https://sup4.smilebasic.com/en/doku.php?id=reference:About_MML

Есть несколько режимов экрана. Четыре плоскости, которые можно сдвигать относительно друг друга, вращать, растягивать и сжимать. Тысячи спрайтов можно тоже перемещать по этим плоскостям, вращать, отражать по двум осям, увеличивать и уменьшать. Распознаются их столкновения, а при наложении можно задать приоритет, кто будет сверху.

Есть операторы READ/DATA, также есть RESTORE.

Бейсик работает быстро, так как сам процессор Свитча шустрый. При старте Бейсик пишет, что 134216720 байт свободно. Да, почти 128 Мбайт. Так что ресурсов достаточно, по любительским меркам. Люди так нормально программы пишут, в том числе игровые. Можно их скачивать, запускать, смотреть исходный код.

Автор: dimm0505 Суббота, 25 апреля 2020, 08:34

128 мегов это за глаза для любого хоумбрюшного проекта и игры. Интересно, как они решили вопрос с пользовательскими спрайтами, анимацией, музыкой? Есть-ли какой импорт внешний или создавать ассеты можно только внутри IDE?

Автор: AtH Суббота, 25 апреля 2020, 08:59

Пока не нашёл ни взаимодействия с внешним миром, ни с Интернетом. Если они есть, то хорошо запрятаны.

С другой стороны, если файлы проектов хранятся на SD-карте и без криптографии, вносить туда изменения может быть простой задачей.

Автор: Skywarp Суббота, 25 апреля 2020, 09:05

Помнится, игрался с SmileBASIC на 3DS. Кодить на маленьком экранчике со стилусом это вам не удобную клавиатуру к свитчу подключать smile.gif
На 3DS был эксплоит у SmileBASIC, который позволял поставить хоумбрю. Вот так вот)

В документации, если что, не нашёл возможность использования внешних ассетов. Ну это и очевидно было.

Автор: AtH Суббота, 25 апреля 2020, 09:11

Не, тут совершенно другой уровень. Свитч к монитору, клавиатуру и мышку к свитчу. Получается полноценный бытовой компьютер-переросток.

Но SmileBASIC4 также работает и в портативном режиме с экранной клавиатурой, как на 3DS. Да, он наследник того самого SmileBASIC’а. Про эксплойты на Свитче пока не слышал, но и не гуглил про них.

Автор: dimm0505 Суббота, 25 апреля 2020, 12:41

Пишут что есть демо, а его нет на самом деле lol2.gif
https://www.nintendo.ru/-/--299117.html?q=smilebasic%204&f=147393

Автор: AtH Суббота, 25 апреля 2020, 12:50

Демки нет, но есть туториал. Также в eShop два варианта SmileBASIC4. Один из них с билетом. Сейчас не могу проверить, выгодней ли покупать набор, чем Бейсик и билет по отдельности.

В первый пост добавил код загрузки моей DAY1 игрушки. Она совсем простенькая — использует спрайты и музыку, взятые из встроенной библиотеки.

Автор: dimm0505 Суббота, 25 апреля 2020, 13:01

Посмотрим, когда купим сам SB4. А когда - неизвестно.


Автор: AtH Суббота, 25 апреля 2020, 20:30

QUOTE (Skywarp @ Суббота, 25 апреля 2020, 10:05)

Помнится, игрался с SmileBASIC на 3DS.
*

На 3DS тоже проверки на равенство и неравенство взяты из Си: == и != ?

Очень непривычно. Хотя желание отделить присваивание (тут его назвали «заменой») от сравнения понятно. Вообще интересно, насколько программы на Бейсике можно будет переносить между двумя консолями.

Автор: dimm0505 Суббота, 25 апреля 2020, 20:32

QUOTE (AtH @ Сегодня, 20:30)

Вообще интересно, насколько программы на Бейсике можно будет переносить между двумя консолями.
*


А тут же вроде есть:
QUOTE
Download "SmileBASIC" Nintendo 3DS version of public programs

Автор: AtH Суббота, 25 апреля 2020, 20:50

В eShop после этого идёт в скобочках:

(Note: It is possible to load programs and data created with "SmileBASIC", but the commands are not compatible, so they need to be modified to run.)

Автор: Daimond Суббота, 25 апреля 2020, 21:10

Ничего себе, чем вы тут занимаетесь. Расскажите чтоль о примерах уже сделанных программ, чтоб не только программистам было интересно.

Автор: dimm0505 Суббота, 25 апреля 2020, 21:25

QUOTE (Daimond @ Суббота, 25 апреля 2020, 21:10)

Ничего себе, чем вы тут занимаетесь. Расскажите чтоль о примерах уже сделанных программ, чтоб не только программистам было интересно.
*

Да баловство все это, с бейсиком грех не поиграться. Вряд-ли кто-то будет заморачиваться сильно.

Автор: AtH Суббота, 25 апреля 2020, 21:28

Я прошёлся по всем примерам. Они впечатляют. Особенно где опросы всяких джойконов — гироскопа, акселерометра, инфракрасной камеры. Очень просто делать вибрацию, буквально одной командой. Оказывается, на Свитче 63 разных типов вибрирования. Есть, из чего выбирать.

Из чужих программ я пока загружал только одну, с самым большим рейтингом. Это оказалась стрелялка шмапс с разнообразными уровнями и врагами. Но там море этих программ. Есть ролевые игры, гонки и т.п.

Моя первая программа тоже игра. Сперва нужно выбрать язык. Если выбрал русский, играешь за красную клубничку и уворачиваешься от апельсинок. Если английский, то наоборот. После трёх учебных этапов сложность уровней начинает расти. На тебя начинает лететь и клубника, и апельсины, и вишни, а постепенно и остальные спрайты. Их становится всё больше — в-общем, сколько продержишься.

Но во всё это интересней играть, наверное, чем здесь описывать. Тем более, что исходный код доступен и можно усовершенствовать игры, которые понравились.

Добавлено спустя 2 часа 8 минут:
Обновил свою игру первого дня — в Москве он ещё не прошёл.

Немного подстроил тайминг. Разрешил управление с правой крестовины (ABXY). Добавил вибрацию и видеоэффект при GAME OVER. Стало если не интересней, то по крайней мере немного забавней. lol.gif

Код загрузки тот же самый. Если уже скачали, выберите в игровом меню «обновить»:

See Works → Local → DAY1 → долгое нажатие «A» → Check Updates

Автор: dimm0505 Воскресенье, 26 апреля 2020, 00:30

Ты сам с собой что-ли общаешься? Узнать бы сначала, кто купил себе SB4 уже.

Автор: AtH Воскресенье, 26 апреля 2020, 00:51

Не знаю, есть ли ещё на ГБХ те, кто купил SmileBASIC. Но вообще народ есть, кто свои программы выкладывает и чужие скачивают. А мой код для скачки действителен как сейчас, так и годы спустя.

Автор: kartman_ Воскресенье, 26 апреля 2020, 07:08

А реально на нем переписать старые вещи для ранних версий бейсика? Или синтаксис заметно отличается? Например игрушку Билла Гейтса 81 года - https://drivey.com/DONKEYQB.BAS.html

Автор: AtH Воскресенье, 26 апреля 2020, 16:09

Совершенно реально.

Язык за эти десятилетия развился, но основа осталась. Посмотрел код — в SmileBASIC4 те же самые LOCATE, PRINT, IF, FOR, DIM, CLS и так далее.

Конечно, кто переписывает старые программы, должен понимать, что они делают, чтобы в сложных местах переводить эти действия на современный язык.

Например, метки в SmileBASIC4 уже не просто цифры, а любой идентификатор с @ в начале. На них по прежнему можно переходить с помощью GOTO и GOSUB.

Насколько я понял, исчез оператор POKE и функция PEEK. Также придётся разобраться с операторами SCREEN и ON ERROR.

Добавлено спустя 15 минут:
По графике LINE, CIRCLE, PRESET, PAINT, COLOR заменяются на GLINE, GCIRCLE, GPSET, GPAINT, GCOLOR.

GET и PUT на GSAVE и GLOAD.

Графика в SmileBASIC4 очень мощная. Кратко про неё https://sup4.smilebasic.com/en/doku.php?id=reference:Command_Summary(drawing_screen), а продробности здесь:
https://sup4.smilebasic.com/en/doku.php?id=reference:Graphics

Вместо DRAW можно заранее нарисовать картинку (GRP или JPG) во внешнем приложении, потом её вывести с помощью LOADG. SmileBASIC4 поддерживает файлы:
https://sup4.smilebasic.com/en/doku.php?id=reference:Files

Обычно вся графика размещается на невидимой странице. Откуда нужные изображения копируются с наложением на видимую страницу, по мере необходимости.

По звуку SOUND заменяется на BEEP, можно добавить фоновую музыку BGMPLAY. В моей игре «первого дня» она есть. Подробности по звуку в SmileBASIC4:
https://sup4.smilebasic.com/en/doku.php?id=reference:Sound

И полно всего, чего в 1980’ые не было в Бейсике, от гироскопов до быстрого преобразования Фурье (FFT):
https://sup4.smilebasic.com/en/doku.php?id=reference:Command_Summary(inputsoundand_others)

Автор: dimm0505 Воскресенье, 26 апреля 2020, 17:12

https://images.ctfassets.net/x3227kynr7c6/1uNbSpF1mUjf3czyU718o8/1c0b4b2e2ac64b19e0cebd8a685dcd3c/FUZEeditor4.jpg

https://fuzearena.com/forum

Эта тема хоть и о СмайлБэйсике, но советую народу присмотреться и к FUZE4. Начнем с того, что она в два раза дешевле SB4:
https://www.nintendo.ru/-/-Nintendo-Switch/FUZE4-Nintendo-Switch-1626336.html#Overview

В скором времени разрабы обещают аппку для всех владельцев Свитча, которая позволит запускать разработанные на нем программы без установленного FUZE.

Ну и по своим возможностям похоже он превосходит SB4:
» Нажмите, для открытия спойлера «


Имеет встроенный редактор тайловых карт для создания 2D-уровней, задников, карт и пейзажей, редактор изображений и спрайтов для создания уникальной графики. Программируемый синтезатор! И очень большая библиотека готовых ассетов.

Как я понимаю, во фьюзе уже "из коробки" есть неплохая поддержка 3D (не говоря про 2D).

Импонирует также то, что синтаксис языка FUZE больше на С похож (что позволит писать более компактный и читаемый код):

https://cdn02.nintendo-europe.com/media/images/06_screenshots/games_5/nintendo_switch_download_software_2/nswitchds_fuze4nintendoswitch/NSwitchDS_Fuze4NintendoSwitch_02.jpg



Автор: AtH Воскресенье, 26 апреля 2020, 19:02

Очень любопытно! Спасибо, присмотрюсь к FUZE.

Бейсик мне по душе именно потому, что я его давно знаю. Проследить его эволюцию от Бейсик-80 до SmileBASIC весьма интересно и поучительно.

Тем более, что существует отечественный диалект smart BASIC, позволяющий создавать приложения для айфонов и iPad’ов:
http://www.kibernetik.pro/forum/viewforum.php?f=2

http://the-hacker.ru/2020/smartBASIC.JPG

Если ребёнок изучит SmileBASIC, ему довольно просто перейти на smart BASIC (он тоже работает на самих устройствах) и начать зарабатывать, делая приложения для App Store.

Update. Посмотрел в eShop. FUZE4 действительно дешевле. Но и получаешь меньше за свои деньги.

SmileBASIC4 всё же настоящий Бейсик. На Бейсике уже много чего опубликовано, в том числе на русском языке. Практически под любую платформу можно найти интерпретатор Бейсика, а то и компилятор.

FUZE4 же самобытная штучка под Свитч с предположительно большими возможностями. Насколько меньшая цена перевешивает отсутствие кросс-платформы и литературы, надо смотреть.

Автор: dimm0505 Воскресенье, 26 апреля 2020, 19:19

QUOTE (AtH @ Сегодня, 19:02)

Очень любопытно! Спасибо, присмотрюсь к FUZE.
*

Я в своем первом сообщении здесь упоминал его.
QUOTE (dimm0505 @ Вчера, 07:39)

Еще же какой-то FUZE есть для разработки на Свитче.
*


QUOTE (AtH @ Сегодня, 19:02)

Бейсик мне по душе именно потому, что я его давно знаю. Проследить его эволюцию от Бейсик-80 до SmileBASIC весьма интересно и поучительно.
*

Бэйсик хорош конечно для начала, побаловаться там, поиграться. Сам еще на спектруме игрался с Laser/Mega Basic, если кто помнит такие реализации там. Но все же для чего-то более серьезного С получше будет. И с точки зрения компактности исходника/кода. Хотя я не уверен, что во FUZE4 чистая реализация С, там тоже какая-то смесь. Но работает все шустро, если судить по разным видео. Надо действительно почитать о нем еще.

Предлагаю здесь еще и FUZE4 тогда обсуждать, ни к чему несколько тем заводить.

Автор: AtH Воскресенье, 26 апреля 2020, 20:05

Поддерживаю. Скорее всего FUZE4 тоже интерпретатор, раз его в eShop добавили. И да, там действительно не чистый Си, так как на скриншоте завершающих ; нет.

Правда сомневаюсь, что по FUZE4 могу быть столь же полезен для сообщества, как по Бейсику. Пока что ни одной программы на нём не опубликовал, да и сам транслятор ещё не приобрёл. Хотя Си знаю не хуже Бейсика. Если они близки, проблем не возникнет.

Автор: dimm0505 Воскресенье, 26 апреля 2020, 20:57

Разрабы про FUZE Player и последние доработки:


Автор: AtH Воскресенье, 26 апреля 2020, 22:39

Смотреть 40-минутное видео по FUZE, конечно, на любителя. Поэтому пара ссылок на сайты по FUZE (вторая у меня не открывается):

https://fuzearena.com/
https://www.fuze.co.uk/

Справочник по FUZE:
https://fuzearena.com/help/

Видеоуроки по FUZE — тут эти 40-минутные видео на английском:
https://fuzearena.com/forum/category/6/tutorials
https://www.youtube.com/channel/UCbUt0ZVIYAxBM8DBNNSB8Ng

Форум, тоже на английском:
https://fuzearena.com/forum/

Автор: Skywarp Понедельник, 27 апреля 2020, 09:01

Интересно, про FUZE я и не слышал. Сначала напомнил Python чем-то.
Надо заценить оба инструмента. Купил оба SmileBASIC и FUZE. Впервые попробую подключить клавитуру к Switch Lite =)

QUOTE (AtH @ Суббота, 25 апреля 2020, 21:30)

На 3DS тоже проверки на равенство и неравенство взяты из Си: == и != ?
*

Да, синтаксис один и тот же. smile.gif

Меня всегда интересовало, а в каком-нибудь из этих инструментов можно считывать amiibo? Было бы крутой опцией.

Кстати, насчёт управления вибрацией свитча и джойконов. Вы там не увлекайтесь, всегда давайте альтернативу людям с ограниченными возможностями у кого Switch Lite, в виде какого-нибудь другого эффекта) Как в Super Mario Odyssey сделали.

Автор: dimm0505 Понедельник, 27 апреля 2020, 09:25

Просто раньше упоминали средства разработки здесь:
http://gbx.ru/?showtopic=123720&st=40

И мало кто внимание обращал.

Автор: AtH Понедельник, 27 апреля 2020, 16:24

Skywarp,

К лайту можно про контроллер подключать. В моей игре «первого дня» вибрация — дополнительный эффект, особо не влияющий на геймплей.

При переходе на новый уровень джойстик немного вибрирует. Но этот переход и так заметен, так как фрукты начинают лететь в другом направлении.

Про чтение амибо пока нигде не читал. Но среди опубликованных программ на Бейсике много интересного. Я уже закачал разные приложения, но пока не запускал. Бейсик — раздолье для любителей бесплатного скачивания. lol.gif

Добавлено спустя 7 часов 8 минут:
Взял первую программу из первого совета в московской книжке 1991 года «128 советов начинающему программисту» за авторством В.Ф. Очкова и Ю.В. Пухначева. Там есть, правда, и нулевой совет.

Вот, как эта простая игра выглядит в книжке:

CODE
10 PRINT 'УГАДАЙ ЧИСЛО ОТ 1 ДО 1000'
20 PRINT 'ЗА МИНИМУМ ПОПЫТОК'
30 A=1+INT(1000*RND(1)):I=0
40 I=I+1:PRINT I;'-Я ПОПЫТКА';:INPUT B
50 IF B>A THEN PRINT 'ПЕРЕЛЕТ':GOTO 40
60 IF B<A THEN PRINT 'НЕДОЛЕТ':GOTO 40
70 PRINT 'УГАДАЛИ'


Запустил её на SmileBASIC 4. Назвал игру S01, вот её публичный ключ: 4N34N3DPX. Ключ через несколько недель удалю, так как у меня всего десять слотов.

Вот так она работает:
http://the-hacker.ru/2020/S01.JPG

Так выглядит её исходный код на Свитче:
http://the-hacker.ru/2020/S01SRC.JPG

Важных изменений всего два. В строке 40, а также в её упоминаниях в строках 50 и 60, я поставил @ перед номером строки. Такие требования SmileBASIC и без этого программа бы не запустилась. Также я заменил одинарные кавычки на двойные. Тоже самое я бы сделал и в 1990’ые годы, ведь в большинстве Бейсиков строки в двойных кавычках. Остальные три изменения косметические, и без них всё работает:

Под спойлером программа для Свитча в текстовом виде. Работающий отечественный код на Бейсике, которому 30+ лет.
» Нажмите, для открытия спойлера «

Будут проблемы в переводе старых программ на SmileBASIC 4 — пишите. Подскажу, как их решать.

Автор: dimm0505 Вторник, 28 апреля 2020, 18:19

QUOTE (AtH @ Вчера, 16:24)

я поставил @ перед номером строки
*


А метку @40 это SB4 позволяет ставить? Просто я помню Васик, который только по строкам GOTO делал, или Pascal в котором есть объявление Label. Но оператор GOTO не люблю, он структуру кода портит сильно. Но для такой малюсенькой прожки можно в принципе использовать.

Автор: AtH Вторник, 28 апреля 2020, 20:31

SmileBASIC 4 позволяет делать любую метку — хоть @40, хоть @MyLabel4. Объявлять их заранее, как в Паскале, не нужно. Главное требование, чтобы метка начиналась с @.

Это полезно для переноса старых программ. Есть даже ON…GOTO и ON…GOSUB. Наличие структурных операторов — IF, CASE, DEF и циклов позволяет обходиться в новых программах без меток.

Программу S01 легко переписать без GOTO, но мне было важно показать, что старые программы реально запустить на Свитче с минимумом переделок.

Свитч это обычный бытовой компьютер, как БК-0010, ZX Spectrum или Ямахи MSX. Но деньги на разработку Свитча дают геймеры, поэтому Бейсик и поставляют в виде такого необязательного DLC. lol2.gif

Автор: Daimond Среда, 29 апреля 2020, 02:24

QUOTE (AtH @ Понедельник, 27 апреля 2020, 16:24)

Вот, как эта простая игра выглядит в книжке:
CODE
10 PRINT 'УГАДАЙ ЧИСЛО ОТ 1 ДО 1000'
20 PRINT 'ЗА МИНИМУМ ПОПЫТОК'
30 A=1+INT(1000*RND(1)):I=0
40 I=I+1:PRINT I;'-Я ПОПЫТКА';:INPUT B
50 IF B>A THEN PRINT 'ПЕРЕЛЕТ':GOTO 40
60 IF B<A THEN PRINT 'НЕДОЛЕТ':GOTO 40
70 PRINT 'УГАДАЛИ'
*

В бэйсике вообще ничего не понимаю, но ради фана "портировал" это на ZX Spectrum. Вопрос - I=0 и INPUT B в 30ой и 40ой строке должны быть именно там? Я их сделал отдельными строками и вроде всё работает. К слову в 50ой и 60ой строке GOTO должно быть именно там.

Автор: AtH Среда, 29 апреля 2020, 03:03

QUOTE (Daimond @ Среда, 29 апреля 2020, 03:24)

В бэйсике вообще ничего не понимаю, но ради фана "портировал" это на ZX Spectrum. Вопрос - I=0 и INPUT B в 30ой и 40ой строке должны быть именно там? Я их сделал отдельными строками и вроде всё работает. К слову в 50ой и 60ой строке GOTO должно быть именно там.
*

Да, эта программа как раз из эпохи Спектрума.

I=0 и INPUT B на отдельных строках норм. В Бейсике можно писать сразу несколько операторов в одной строке, разделяя их двоеточием. Этот трюк сохранился в SmileBASIC 4.

Главное, чтобы I=0 исполнилось до строки 40, а то количество попыток перестанет подсчитываться и начнёт обнуляться уже в ходе игры.

В принципе, в строках 50 и 60 тоже используется двоеточие, чтобы IF THEN выполнил две команды подряд (PRINT и GOTO), а не одну.

По Бейсику рекомендую книги Кеткова:
https://ru.wikipedia.org/wiki/Кетков,_Юлий_Лазаревич

Также про Бейсик много чего можно нагуглить в свободном доступе, это популярный язык. Перерыв домашнюю библиотеку, я сразу нашёл 6 отечественных и переводных книг по нему, включая «128 советов». Причём лучшие книги по Бейсику пока что не раскопал. Где-то валяются по сусекам.

Добавлено спустя 4 часа 15 минут:
Обзор SmileBASIC 4 от автора, кто делал обзор SmileBASIC на 3DS (англ.):
https://seafoamgaming.com/2020/04/27/smilebasic-4-switch-eshop-review/

8/10, вердикт свои $30 транслятор стоит.

Автору больше всего понравилось подключение USB-клавиатуры и бесплатный «магазин» приложений для Бейсика. Он отмечает, что SB4 — лучший среди всех Бейсиков, выпущенных SmileBoom, и для него уже разработано сообществом большое количество игр и приложений.

Добавлено спустя 7 часов:
Установил FUZE4 со скепсисом и буду некоторое время голодать lol.gif , но не пожалел. Вот мой сравнительный отзыв после первого получаса в этой девелоперской студии.

Если коротко, FUZE4 это Лего, а SmileBASIC 4 — мастерская. В Лего проще соорудить что-то стандартное, хотя в данном случае Лего освоить немного сложнее, чем начать работать со станками и инструментами в мастерской.

Главная разница в том, что Бейсик — универсальный язык. Это мультиплатформа, развивавшаяся десятилетиями, имеющая свои стандарты и историю. Язык глубоко продуман и идеален для начинающих. Даже паническая критика Эдгара Дейкстры в сторону ранних версий Бейсика подчёркивает — Бейсик достоин внимания и там есть, что критиковать. По Бейсику проще найти литературу на русском языке, да и на английском. На SmileBASIC 4 можно писать хоть каталог домашней библиотеки, хоть готовить диплом или делать домашние задания по высшей математике. Вам доступна библиотека программ чуть ли не за полвека, а созданное вами не так стыдно опубликовать. Народ поймёт и оценит. Возможно, использует через десятки лет, когда Свитч станет историей.

FUZE4 — специализированная студия для разработки игр, причём игр на и для Нинтендо Свитч. Она требует знания английского. Информации на русском по FUZE практически нет, а язык программирования самобытный, хотя и не такой сложный. Всё, что создано для FUZE4, разработано за несколько последних лет и непонятно, будет ли у всего этого продолжение или всё созданное на нём пойдёт в помойку. Зато FUZE4 дешевле.

Во FUZE4, как и в SmileBASIC’е, богатая библиотека ассетов — готовых строительных блоков для ваших игр, графика и звук. Доступ к этой библиотеке удобней, на первый взгляд, во FUZE4. Точно также обе среды используют Юникод, в них обеих предусмотрено подключение USB-клавиатуры, есть графредактор и обмен программами на уровне ресурсов и исходного кода. Можно делиться своим творчеством, запускать чужие программы и изучать, как они устроены. Мне понравилось, что FUZE4 позволяет отслеживать проекты друзей. Вокруг обеих платформ есть живое англоязычное сообщество, а по Бейсику можно также получить помощь от русских и японцев.

Во FUZE4 есть редактор карт, помогающий в разработке множества стандартных игр. FUZE4, по сравнению с Бейсиком накладывает больший отпечаток на творчество, в том числе ограничивая его Свитчом.

Также во FUZE4 уже готовая поддержка 3D-графики. Объекты, материал, освещение, камера, вот это всё из коробки. Такое можно реализовать и такое делают на Бейсике, но там это требует специальных знаний или чужих библиотек. С другой стороны поддержка музыки и 2D-графики (слои, спрайты, текстовые экраны) в Бейсике мне показалась богаче и удобней.

Бейсик освоить русскому человеку проще, писать на нём игры незначительно сложнее. Зато написанное проще переносить на другие платформы. И наоборот, FUZE4 можно использовать, как универсальный язык программирования, но при переносе на другие платформы придётся переводить код на другой язык и, возможно, переписывать библиотеки.

Автор: dimm0505 Среда, 29 апреля 2020, 10:23

QUOTE (AtH @ Сегодня, 03:03)

а язык программирования самобытный, хотя и не такой сложный
*

Все-таки язык к С по синтаксису ближе во FUZE4, я правильно понимаю?

QUOTE (AtH @ Сегодня, 03:03)

Зато написанное проще переносить на другие платформы.
*

Вряд-ли кто-то здесь, в разделе Свитча и в теме про средства разработки для него, собирался что-то там портировать куда-то еще. Здесь надо выбирать из существующего именно под Свитч. Наиболее удобное, с эффективным и быстрым кодом. Ты примерно не прикидывал производительность схожих задач в обеих системах? Хотя это сложно конечно по стандартным примерам, надо самому бенчмарк писать.

И я считаю об изучении Бейсика не надо тут столько внимания уделять, какую-то литературу приводить и тп. Это язык для букварей, все кто мало-мальски увлекался программизмом, знает его, и в эту тему точно не полезет без базовых основ.

Он еще проще чем "язык" для программируемых калькуляторов серии БЗ и МК, которые были популярны в конце 80-х начале 90-х в СССР. Я еще будучи школьником освоил их по "Науке и жизнь" и паре книжек, которые нашел в библиотеке. Расстановку 8 ферзей для MK-61 помню в "Науку и жизнь" на конкурс отправлял lol.gif

Автор: AtH Среда, 29 апреля 2020, 10:41

FUZE4 работает не на Си, совершенно точно. Некоторые вещи заимствованы из Си, но также и из других языков.

Например, функция print() явно взята из Питона. Там она, кстати, появилась из Бейсика. Вообще две среды настолько мощные и похожи, что выбор — дело вкуса.

Хорошо. Буду считать, что все здесь Бейсиком владеют. Но если у кого возникнут с ним проблемы, готов ответить.

Производительность не замерял. Вроде процессоры сейчас такие быстрые, что производительность ограничивают больше человек и оборудование.

Основная тема игры, конечно. Но Свитч + SmileBASIC 4 это уже не просто игровая консоль, а полноценный бытовой компьютер. Минусом только ограниченный цифровой обмен с внешним миром — флэшку не вставишь, на сайт из Бейсика не зайдёшь. Между самим свитчами обмен норм, через публичный ключ.

Программируемые калькуляторы, кстати, тоже люблю. «Науку и жизнь» читал, даже работал с одним журналистом оттуда, в те времена. Как раз на тему ПМК и компьютеров.

Автор: dimm0505 Среда, 29 апреля 2020, 10:55

QUOTE (AtH @ Сегодня, 10:41)

Производительность не замерял. Вроде процессоры сейчас такие быстрые, что производительность ограничивают больше человек и оборудование.
*

Ну для различных арифметических задач, и тех вещей, которые есть в обоих библиотеках SB4 и F4 может быть разницы особой и не будет (например вывод спрайтов, музыки и тп). А например с 3D задачами? Ты пишешь, что у F4 уже есть какая-то базисная реализация функций 3D (+ материалы, освещение и тп). А как с этим у SB4? Попробовать для него написать свой Raycasting движок, может он и не выдаст приемлемого быстродействия. К тому же как я понимаю у F4 доступно гораздо больше оперативки для пользователя (вроде до 2GB).

QUOTE (AtH @ Сегодня, 10:41)

Минусом только ограниченный цифровой обмен с внешним миром — флэшку не вставишь, на сайт из Бейсика не зайдёшь.
*

Плохо то, что прожки SB4 нельзя запускать тем, у кого нет своей среды. Для F4 вроде планируют сделать аппку, позволяющую запускать всем желающим. Видимо она будет выполнять роль RT-интерпретатора. Тогда как в таком случае они решат вопрос с ассетами F4? Или они сразу линкуются к аппке пользователя? Или может вообще F4 создает линкованный код? Вопросы....

Автор: MichaelForExample Среда, 29 апреля 2020, 10:59

Тогда уж лучше просить загадать число юзера от 1 до 1000.
И написать бинарный поиск.

Добавлено спустя 2 минуты:

QUOTE (dimm0505 @ Среда, 29 апреля 2020, 11:55)

Плохо то, что прожки SB4 нельзя запускать тем, у кого нет своей среды. Для F4 вроде планируют сделать аппку, позволяющую запускать всем желающим. Видимо она будет выполнять роль RT-интерпретатора. Тогда как в таком случае они решат вопрос с ассетами F4? Или они сразу линкуются к аппке пользователя? Или может вообще F4 создает линкованный код? Вопросы....
*

Я думаю аппка по сути будет почти аналогом jre, в то время как владельцы основной программы владеют аналогом jdk.
Ресурсы думаю будут вместе с самим приложением приходить.

Автор: dimm0505 Среда, 29 апреля 2020, 12:19

QUOTE (MichaelForExample @ Сегодня, 10:59)

Я думаю аппка по сути будет почти аналогом jre, в то время как владельцы основной программы владеют аналогом jdk.
Ресурсы думаю будут вместе с самим приложением приходить.
*


Ну да, видимо как-то так.

Автор: AtH Среда, 29 апреля 2020, 13:31

QUOTE (dimm0505 @ Среда, 29 апреля 2020, 11:55)
А например с 3D задачами? Ты пишешь, что у F4 уже есть какая-то базисная реализация функций 3D (+ материалы, освещение и тп). А как с этим у SB4? Попробовать для него написать свой Raycasting движок, может он и не выдаст приемлемого быстродействия.
*

Про трассировку лучей точно не знаю, но 3D-движки к SB4 пишут и используют. Конечно же, на F4 это значительно быстрее, так как написано на более низком уровне и наверняка идёт через аппаратные ускорители.

Свитч всё же игровая консоль, железо под это 3D и заточено.

QUOTE (dimm0505 @ Среда, 29 апреля 2020, 11:55)
К тому же как я понимаю у F4 доступно гораздо больше оперативки для пользователя (вроде до 2GB).
*

Судя по https://www.petc4.smilebasic.com/spec?lang=en программам на Бейсике доступно 128Мб оперативки, их максимальный размер 2Мб. Есть ещё память сохраняемых данных (Save Data), от 64Мб до 512Мб.

Файлы могут занимать до 16Мб после сжатия, которое всегда выполняется для графики и данных. Общий размер проекта (из нескольких файлов) на Свитче неограничен, хотя на сервер можно загружать лишь по 20Мб на проект.

Если F4 доступно 2Гб оперативки, для некоторых программ это будет плюсом. Хотя для большинства бытовых задач и 128Мб завались.

QUOTE (dimm0505 @ Среда, 29 апреля 2020, 11:55)
Плохо то, что прожки SB4 нельзя запускать тем, у кого нет своей среды. Для F4 вроде планируют сделать аппку, позволяющую запускать всем желающим.
*

Так для FUZE4 тоже нет, лишь в мечтах.

На айфонах автор smart Бейсика сделал компиляцию программ на Бейсике в приложения через Xcode. Но это требует Мака, конечно. На борту айфона получится только их написать и отладить, перед окончательной компиляцией и сборкой в Xcode.

Автор: dimm0505 Среда, 29 апреля 2020, 13:36

QUOTE (AtH @ Сегодня, 13:31)

Про трассировку лучей точно не знаю, но 3D-движки к SB4 пишут и используют.
*


Не, не Raytracing, raycasting - самый простой варик. Такие движки и на GBA были. Трассировки лучей нет конечно.
https://ru.wikipedia.org/wiki/Ray_casting

Автор: Skywarp Среда, 29 апреля 2020, 13:52

В целом, я вижу больше перспективы в SmileBASIC чем в FUZE, хотя оба хороши. Пока не могу пощупать до выходных полноценно: у меня, как оказалось, чёртов OTG кабель с micro USB, а не Type C, жду новый кабель) Но руки чешутся.

Меня всегда напрягала зависимость от онлайн сервисов в любых играх / приложениях. Так вот, у меня такая привычка - думать об обходных путях передачи информации на случай апокалипсиса (если не будет доступа к их серверу, или их прикроют, как передавать код помимо прошивки консоли).
Идея в том, чтобы создать програмку, которая генерирует звук из информации, которую надо передать, а на компе микрофон принимает звук и считывает) В общем, модем.. И обратно принимать через камеру джойкона. Вопрос только к доступу к файлам кода как к ресурсам. Если доступ есть к обычным текстовым файлам в файловой системе, то без проблем, просто копирнул код в текстовый файл и положил в ресурсы.. Сложно сказать, я пока не щупал особо SB4, есть ли такой доступ.
Эта идея была ещё давно у меня, оказалось, не только у меня. Сейчас к удивлению обнаружил, что на 3DS версию SmileBASIC такое реализовывали. Надо же, заморочились smile.gif
https://smile-basic.fandom.com/wiki/Transfer_Methods


Насчёт отдельного standalone приложения для FUZE, которое только запускает игры. Оно у них бесплатное будет чтоли? Если нет, то разницы и преимущества не вижу. Покупая интерпретатор того же SB4 будет и доступ к библиотеке игр, и сами инструменты, если нужны. Не вижу проблем.

Автор: AtH Среда, 29 апреля 2020, 14:01

Я очень мало смотрел чужих программ на SB4. Обычно там всё плоское, но можно найти и 3D. Насколько я понял, те 3D технологии, что в F4 из коробки, на SB4 мало кто способен реализовать.

2D графика же в Бейсике впечатляет. Несколько аппаратных слоёв, которые движутся относительно друг друга, как в Сонике. Их довольно просто произвольно вращать и масштабировать относительно друг друга, при этом продолжая на этих слоях использовать спрайты, битмэпы, линии, окружности, треугольники, текст и т.п.

При выводе спрайтов можно задавать координату Z и они все друг на друга накладываются правильным образом. Эти наложения можно отслеживать и, например, взрывать корабли при попадании снаряда.

Автор: dimm0505 Среда, 29 апреля 2020, 14:07

QUOTE (Skywarp @ Сегодня, 13:52)

Насчёт отдельного standalone приложения для FUZE, которое только запускает игры. Оно у них бесплатное будет чтоли?
*


Конечно бесплатное. FREE.

Автор: AtH Среда, 29 апреля 2020, 14:13

QUOTE (dimm0505 @ Среда, 29 апреля 2020, 11:55)

Видимо она будет выполнять роль RT-интерпретатора. Тогда как в таком случае они решат вопрос с ассетами F4? Или они сразу линкуются к аппке пользователя?
*

В F4 тоже есть проекты.

Когда пишешь программу, создаёшь проект и копируешь туда все нужные ассеты из других проектов. Интерпретатор загружает проект на исполнение полностью, все ассеты под рукой.

Автор: Skywarp Среда, 29 апреля 2020, 14:19

QUOTE (dimm0505 @ Среда, 29 апреля 2020, 15:07)

Конечно бесплатное. FREE.
*

Еле еле, но нашёл информацию:

QUOTE
FUZE Player

Within the next few months FUZE is planning to release, for free, a special version of FUZE called the FUZE Player. The player allows Nintendo Switch users to download and play FUZE projects for free. If your project has made the grade on FUZE Arena it will be available for the world to see.. and play!

То есть, нужно, чтобы на FUZE Arena проект добился определённого успеха, чтобы он попал в список для FUZE Player. Не до конца понял, что там на FUZE Arena требуется для этого, не смотрел ещё.

Вот ещё https://www.oxgadgets.com/2020/02/fuze4-nintendo-switch-update.html
QUOTE
Projects are upvoted by users with the very best appearing in the FUZE Showcase for all to see.


Всё это напоминает мне Steam Greenlight уже.

Автор: AtH Среда, 29 апреля 2020, 14:33

На SB4 все проекты проходят модерацию перед получением публичного ключа. Обмениваться порнухой и пираткой не получится. lol.gif

Мои однофайловые проекты (DAY1 и S01) прошли модерацию за несколько минут. Возможно, когда больше копий SB4 раскупят, модерация станет час или ещё дольше.

Автор: dimm0505 Среда, 29 апреля 2020, 15:06

QUOTE (Skywarp @ Сегодня, 14:19)

То есть, нужно, чтобы на FUZE Arena проект добился определённого успеха,
*


Ну это и хорошо, нам всякого дерьма не нужно. Пущай тока отборная годнота попадает!

Автор: AtH Среда, 29 апреля 2020, 21:21

Официальная вертикальная стрелялка (шмап) «SOLID GUNNER VERTIKA» с лёгким 3D на SmileBASIC 4:

Она же, игра вдвоём:

Добавлено спустя 20 минут:

QUOTE (dimm0505 @ Среда, 29 апреля 2020, 14:36)

Не, не Raytracing, raycasting - самый простой варик. Такие движки и на GBA были. Трассировки лучей нет конечно.
https://ru.wikipedia.org/wiki/Ray_casting
*

Трассировка лучей (настоящая, не raycasting) на SB4 (программная). Скорость, конечно, не риалтайм. Но сцену посчитать и сохранить в файле для быстрой загрузки — вполне.


Добавлено спустя 29 минут:
QUOTE (dimm0505 @ Среда, 29 апреля 2020, 11:23)

Ты примерно не прикидывал производительность схожих задач в обеих системах? Хотя это сложно конечно по стандартным примерам, надо самому бенчмарк писать.
*

Есть вот такой бенчмарк. Замер быстродействия Бейсика на бытовом компьютере 1980’ых, когда говорили «Бейсик медленный»:

Замер быстродействия SB4 на Свитче:

Автор: dimm0505 Среда, 29 апреля 2020, 21:53

Нашел старую (еще японскую) демку SB4, где 3D графика присутствует:



И немного WIP (в разработке) проектов на FUZE4:







Видно, что FUZE шустрей справляется с 3D, и больше подходит для разработки в нем.

Автор: AtH Среда, 29 апреля 2020, 21:59

Возможности редактора Бейсика. В нашем eShop подсказка будет на английском языке. USB-клавиатура, редактор и Бейсик поддерживают русскую раскладку. Но на экранной клавиатуре русский язык я пока не нашёл. Возможно, плохо искал.


Возможности официального графредактора GAHAKU:


Добавлено спустя 4 минуты:
Приглашение к программированию на Бейсике. Включите английские субтитры. Показана японская версия, в нашей справка будет на английском языке.


Добавлено спустя 21 минуту:
Серия из 4 коротких официальных видео, как опубликовать работу. Тоже включайте английские субтитры. Будет показана японская версия, в нашей надписи на кнопках на английском языке, поэтому ориентироваться проще.



(1/4) Создание проекта:


(2/4) Создание, редактирование и сохранение MAIN.PRG и др. файлов с исходным текстом на Бейсике:


(3/4) Загрузка проекта на сервер, редактирование информации о проекте:


(4/4) Редактирование опубликованного проекта:


Добавлено спустя 1 час 22 минуты:
Популярные японские игры на Бейсике, рекомендованные официальным твиттером:


Добавлено спустя 1 час 48 минут:
Официальный фб рекомендует ещё три игры, но почему-то без ключа скачивания. Эти ключи, как и для SOLID GUNNER VERTIKA, мне пришлось восстановить самому:

Автор: Skywarp Четверг, 30 апреля 2020, 16:54

Хехе, подключил не только клавиатуру, но и мышь, через USB хаб и переходник на Type-C.
Всё идеально работает, с мышой удобно попиксельно спрайты рисовать, хотя я так же могу и на тачскрине, есть стилус от Super Mario Maker 2.

https://i.imgur.com/8fB8BAx.jpg
https://i.imgur.com/bxhQ5Vb.jpg


У меня так то оригинальный свитч есть, мог бы и его использовать, но он в другой квартире (на моём "складе" у родителей), планировал продавать зачем-то. Может передумаю)

Кстати, пару раз пробовал FUZE (ещё без клавы). Показался сырым немного. Вылетел с ошибкой при навигации по меню где-то. На ютюбе у кого-то было так же в старом видео.

Автор: dimm0505 Четверг, 30 апреля 2020, 16:59

QUOTE (Skywarp @ Сегодня, 16:54)

через USB хаб и переходник на Type-C.
*


Что за переходник? Нашел какой-то в DNS от CableExpert:
https://c.dns-shop.ru/thumb/st4/fit/wm/2000/2000/bde5e7e380d883b66c81c5c2c3ae7429/658b7a948908cb336f11ffa88818d74c2d59e39e100ca210bacd11a7c5f52e5c.jpg

Потом куплю, попробую. А если в USB дока клаву воткнуть, увидит ее свитч?

Автор: Skywarp Четверг, 30 апреля 2020, 17:02

QUOTE (dimm0505 @ Четверг, 30 апреля 2020, 17:59)

Что за переходник? Нашел какой-то в DNS от CableExpert:


Потом куплю, попробую. А если в USB дока клаву воткнуть, увидит ее свитч?
*

Переходник вот этот: https://www.ozon.ru/context/detail/id/170213043
Я думаю, тут любой OTG переходник/кабель подойдёт. (лишь бы Type-C)
Хаб https://www.ozon.ru/context/detail/id/6248645 если что

К USB дока будет работать. Меня волновал только Switch Lite)
https://www.lifewire.com/use-keyboard-and-mouse-with-nintendo-switch-4773699

Автор: AtH Четверг, 30 апреля 2020, 20:44

Skywarp,
поздравляю. У меня FUZE норм запустился, с клавиатурой работает. Но кодировать на нём пока не пробовал. Мышь он, вроде, не поддерживает.

С большим свитчём на ТВ лучше, конечно. Прям счастливое советское детство, 80´ые годы. Дворец, Ямаха… lol.gif У кого дети 12+, очсоветую им Бейсик купить. Не пожалеете. Это лучшее, на что можно потратить $30.

Автор: dimm0505 Пятница, 01 мая 2020, 10:21

Ни у кого из купивших SB4/F4 нет блютуз клавы с BT-свистком? По идее должно же все робить? И без проводов самое главное.

Автор: dimm0505 Пятница, 01 мая 2020, 18:03

Пожалуй стоит пересмотреть свой скептицизм по поводу производительности работы Улыбающегося Васька и Фьюза в отношении 2D подсистемы. Ребята создали небольшой бенчмарк, в которым задействовали 4096 спрайтов (в виде скачущих шариков).

https://pbs.twimg.com/media/EWpg41GVAAA2vcZ.jpg

Первый результат:

QUOTE
SB4: 60 fps
F4: 28 fps

https://twitter.com/nico28et/status/1254936177477550081


После оптимизации в коде, результаты следующие (VSync по 60fps отключен):
lol2.gif
QUOTE
smilebasic 4: ~218 fps
fuze: ~40 fps

https://twitter.com/nico28et/status/1255242221193957377

Код на F4:
https://pbs.twimg.com/media/EWtyv0oXsAAczL0.jpg

Код на SB4:
https://pbs.twimg.com/media/EWuC8irXkAMtkcf.jpg
https://pbs.twimg.com/media/EWuC8ifX0AcrY0J.jpg

sb4 key: 4N3AN43PF
fuze key: NXY3N3GDNA


Код конечно приятней и короче на F4, но результат в 5 раз быстрей на SB4.
Допускаю, что тут вопрос может быть в оптимизации. Но вроде выясняется, что SB компилирует перед запуском в bytecode, а F4 - интерпретатор (пока).

Автор: Skywarp Пятница, 01 мая 2020, 20:42

QUOTE (dimm0505 @ Пятница, 01 мая 2020, 11:21)

Ни у кого из купивших SB4/F4 нет блютуз клавы с BT-свистком? По идее должно же все робить? И без проводов самое главное.
*

У меня нет блютус клав, проверить не смогу(

Наконец привёз обратно свой оригинальный Switch. Подключил к монику, подключил мышь с клавой к доку, теперь всё удобно.

Не знаю, скидывали нет, наткнулся на такой полезный пост - обзор языка (он постепенно дополняется). Это чтобы референсы не листать долго, для быстрого старта.
http://smilebasicsource.com/page?pid=1526

Мне, как человеку пришедшему из мира C#, Python, Go, Java, как раз необходимо такое.. Хотя я ещё в 12 лет начинал с VB6, теперь по работе VBA иногда пригождается.
В основном, с новым инструментом необходимо привыкать к структуре кода, воркфлоу, best practices. Например, я вижу, что в Бейсике приветствуется использование меток и GOTO, GOSUB. Хорошо, что есть DEF, с ним уже процедурный подход возможен. В принципе, это все даже совмещают, как я увидел.


ZX Spectrum Next мне навряд ли светит приобрести с его недоступностью, свитч с SB4 какая-никакая замена

Автор: AtH Пятница, 01 мая 2020, 22:40

QUOTE (dimm0505 @ Пятница, 01 мая 2020, 11:21)

Ни у кого из купивших SB4/F4 нет блютуз клавы с BT-свистком?
*

Специализированной пары BT Клава+свисток у меня нет. Использую проводную, мне норм.

QUOTE (Skywarp @ Пятница, 01 мая 2020, 21:42)

В основном, с новым инструментом необходимо привыкать к структуре кода, воркфлоу, best practices. Например, я вижу, что в Бейсике приветствуется использование меток и GOTO, GOSUB. Хорошо, что есть DEF, с ним уже процедурный подход возможен. В принципе, это все даже совмещают, как я увидел.
*

Кем это там приветствуется? В топку их! Из туториала, на который ты же ссылку давал, жирный шрифт мой:

QUOTE
Labels, GOTO, and GOSUB

These are features that come from old versions of BASIC, so they're not really recommended, but they're included here because you're likely to run into them when reading other people's code.


В Бейсике есть полный набор структурных операторов — все три цикла плюс безусловный цикл, условный оператор и DEF для процедур и функций. GOTO/GOSUB используют те, кто обучался в старой Фортрановской парадигме и не мог перейти на дейкстровское структурное программирование.

В примере S01 я сохранил GOTO лишь затем, чтобы показать простой способ переноса на SB4 очень старых программ.

Кстати, проф. Вирт использует GOTO в своих компиляторах. Правда, только в одном случае — при обнаружении ошибки GOTO 99 передаёт управление за пределы управляющих структур, на обработчик ошибок.

Автор: Skywarp Суббота, 02 мая 2020, 07:35

QUOTE (AtH @ Пятница, 01 мая 2020, 23:40)

Кем это там приветствуется? В топку их! Из туториала, на который ты же ссылку давал, жирный шрифт мой:
В Бейсике есть полный набор структурных операторов — все три цикла плюс безусловный цикл, условный оператор и DEF для процедур и функций. GOTO/GOSUB используют те, кто обучался в старой Фортрановской парадигме и не мог перейти на дейкстровское структурное программирование.

В примере S01 я сохранил GOTO лишь затем, чтобы показать простой способ переноса на SB4 очень старых программ.

Кстати, проф. Вирт использует GOTO в своих компиляторах. Правда, только в одном случае — при обнаружении ошибки GOTO 99 передаёт управление за пределы управляющих структур, на обработчик ошибок.
*

Это всё объясняет, спасибо. Ссылку сам нашёл только недавно, прочитать ещё не успел) Хорошо, что и тут их не рекомендуется использовать. Просто сбило с толку, что в разных примерах их увидел. Эта штука видимо применялась в 80-е) Но в доках те же метки испольуются ,например в RESTORE. А структур здесь нет, полагаю?

Автор: AtH Суббота, 02 мая 2020, 12:39

Для операторов DATA метки нужны. Но это как имена переменных или констант, ничего плохого.

Тип данных структуры, они же записи, отсутствует в SB4. Их приходится заменять на массивы. Есть три вида массивов (целые, вещественные и строковые), в том числе многомерные.

Массивы очень развиты. Им можно менять размеры и проверять эти размеры на ходу. Из одномерных массивов можно делать стеки — команды PUSH и POP. Набор типов продуман и отточен, но это далеко не Паскаль.

Автор: dimm0505 Воскресенье, 03 мая 2020, 08:02

Сурьёзный подход к среде разработки:

https://pbs.twimg.com/media/EXAnyOrUcAo81V9.jpg

https://pbs.twimg.com/media/EXAnyOrUEAI-Vai.jpg

https://pbs.twimg.com/media/EXAnyO1VcAAAOp7.jpg

https://twitter.com/Bug_taro/status/1256548048030756865

Автор: AtH Воскресенье, 03 мая 2020, 19:59

Предустановленные звуки в Бейсике — что доступно для своих программ «из коробки»:

Автор: z.g Понедельник, 04 мая 2020, 01:04

у меня SmileBASIC из eshop'а на свиче пропал. был в избранном, потому и заметил.

Автор: AtH Понедельник, 04 мая 2020, 01:42

На сайте www.nintendo.ru тоже не находится. Видимо, кто не успел скачать — придётся менять регион и покупать за евро.

Автор: z.g Понедельник, 04 мая 2020, 02:16

у меня как раз европейский регион.

Автор: AtH Понедельник, 04 мая 2020, 02:23

Тогда США или Япония.

В России при прямом заходе из меню + пишет ошибку 2811-6001 «Программа в данный момент недоступна». При поиске не находит. Кто успел купить, тому повезло.

Последняя версия в русском eShop была 4.3.0

Автор: Skywarp Понедельник, 04 мая 2020, 07:47

https://twitter.com/smilebasic_com/status/1255746406121238529

QUOTE
[Important Notice]
We are currently discussing ratings with IARC on the content of the sample code (GAME_PRG, GAME_SHOOTER) in the title, SmileBASIC 4,
so we are temporarily suspending sales in some sales areas (US, CA and Mexico are all still on sale).


QUOTE
We apologize for any inconvenience this may cause.

There will be an announcement from us as soon as we have a chance of resuming sales.


Такое уже было с 3DS версией, потом вернули smile.gif

Автор: AtH Вторник, 05 мая 2020, 15:49

На странице:
https://sup4.smilebasic.com/en/doku.php?id=download

появился официальный учебник по SmileBASIC’у для начинающих, первая часть. 21 страница на английском, с иллюстрациями.

Автор: AtH Пятница, 15 мая 2020, 11:44

Обнаружил ошибку в SmileBASIC 4. Из-за использования двоичной плавучки

CODE
PRINT (0.1+0.2-0.3)*1000000000

даёт ответ, отличный от нуля. А именно
CODE
0.00000006


Решил устроить по этому поводу небольшой флешмоб в твиттере. Можете поддержать, уже два ретвита:
https://twitter.com/arvi1973/status/1260953892616978433?s=21

Исправить ситуацию просто. Достаточно подключить библиотеку десятичной плавучки, bcd или dpd. Такая библиотека выложена фирмой Интел под свободной лицензией. В моём любимом MSX BASIC’е тоже была десятичная плавучка.

Авторы SmileBASIC 4 свой лайк поставили, но пока молчат. Они везде лайк ставят, где SmileBASIC упоминается. Пока не знаю, это робот или прочитали на самом деле. Если есть твиттер, поддержите акцию. Пусть исправят арифметику — Бейсик язык для начинающих, а двоичная плавучка даёт неочевидные результаты и служит источником ошибок даже для опытных программистов.

Автор: dimm0505 Пятница, 15 мая 2020, 12:09

Лайкнул, так как твиттаком не пользуюсь для чего-то еще. Где SB4 в eshop, вот что непонятно. Уже столько времени прошло.

Автор: dimm0505 Понедельник, 01 июня 2020, 21:13

Завтра:

http://images.nintendolife.com/9c118d9986757/fuze4.original.png

https://www.youtube.com/channel/UCbUt0ZVIYAxBM8DBNNSB8Ng

Автор: dimm0505 Вторник, 16 июня 2020, 16:10

Музтема из Тетриса, исполненная с помощью HD Rumble джойконов lol2.gif
https://old.reddit.com/r/NintendoSwitch/comments/h9pelz/tetris_theme_in_hd_rumble_made_with_fuze/

Код проги для FUZE:
NNN7BNND5C

Автор: dimm0505 Пятница, 19 июня 2020, 21:10

SmileBasic 4 вернули в ижоп:

https://www.nintendo.ru/-/-Nintendo-Switch/SmileBASIC-4-1763115.html#gameDetails

Шо там за демоверсия все-таки?

Автор: dimm0505 Воскресенье, 28 июня 2020, 10:45

SMILEBASIC 4 обновили до версии 4.4.0 lol2.gif

» Нажмите, для открытия спойлера «

Автор: Akuji Пятница, 02 апреля 2021, 12:39

Товарищ превратил свич в программируемый микрокалькулятор: https://pmk.arbinada.com/ru/node/1528

Автор: dimm0505 Воскресенье, 13 июня 2021, 17:56

Здесь собрали уже все средства разработки для Свитча, ну и Game Builder Garage пусть тут будет. В eshop есть демка:
https://www.nintendo.ru/-/-Nintendo-Switch/Game-Builder-Garage-1964648.html

Можно попробовать самому. А пока видосы и первые впечатления:







Нашли "шорткаты" в редакторе, может кому сгодятся:

QUOTE

ZL + right stick (or pinch): zoom in/out
ZL + left stick (or right stick alone, or slide with two fingers): move
ZL + A (or ZL + touch): multi-selection (select Nodons one by one, then move or delete them)
ZL + click on a stick: go back to the center of the screen

You can also use ZR instead of ZL.

Автор: dimm0505 Воскресенье, 20 июня 2021, 20:47

Ну как тут народ извращается в гараже? lol2.gif













https://mygarage.games/discovery/index

Автор: Daimond Воскресенье, 20 июня 2021, 22:09

Вроде говорилось, что будет бесплатная версия программы, позволяющая играть в созданные игры. Вышло такое?

Автор: dimm0505 Понедельник, 21 июня 2021, 01:17

QUOTE (Daimond @ Воскресенье, 20 июня 2021, 22:09)

Вроде говорилось, что будет бесплатная версия программы, позволяющая играть в созданные игры. Вышло такое?
*

Для Гаража? Честно не слышал, это про FUZE4 говорили.




Автор: Daimond Понедельник, 21 июня 2021, 11:23

QUOTE (dimm0505 @ Сегодня, 01:17)

Для Гаража? Честно не слышал, это про FUZE4 говорили.
*


Да, именно про FUZE4 спрашиваю. Тема общая, потому так вышло.

Автор: dimm0505 Понедельник, 21 июня 2021, 11:56

QUOTE (Daimond @ Понедельник, 21 июня 2021, 11:23)

Да, именно про FUZE4 спрашиваю. Тема общая, потому так вышло.
*

Вроде еще в прошлом году вышел для него плейер.

Автор: dimm0505 Пятница, 25 июня 2021, 10:38