Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

[ Каскадный ] · Стандартный · Линейный

> SmileBASIC 4/FUZE4/Game Builder Garage, Программируем на Свитче

AtH
post Суббота, 25 апреля 2020, 02:47
Отправлено #1


ветеран КЭИ и MSX
******

Группа: Пользователи
Сообщений: 1 894
Регистрация: 20 янв. 2010
Из: Москва
Пользователь №: 35 456





user posted image



Официальный сайт (англ.): 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 часть титров. Также в комплекте большое число примеров программирования вывода текста, графики, спрайтов, звука, разнообразных эффектов и т.п.

user posted image

Впервые подключил к свитчу 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 - Воскресенье, 13 июня 2021, 17:51


--------------------
«Электроника МК-161», 1chipMSX, AV Famicom, (S)NES Mini, GBA SP, New 3DS XL, Wii U, iPad, Switch
Покупка +4: Mustik, braund, Sidel72, wexxxx
Продажа +2: DrAckula1993, kioshi
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topicStart Poll
Ответов
AtH
post Понедельник, 27 апреля 2020, 16:24
Отправлено #2


ветеран КЭИ и MSX
******

Группа: Пользователи
Сообщений: 1 894
Регистрация: 20 янв. 2010
Из: Москва
Пользователь №: 35 456





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. Ключ через несколько недель удалю, так как у меня всего десять слотов.

Вот так она работает:
user posted image

Так выглядит её исходный код на Свитче:
user posted image

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

  • На Свитче есть не только заглавные русские буквы, поэтому я использовал и строчные. Ну и буква «ё» тоже есть. lol.gif
  • Помимо RND(1) на Свитче можно делать RND(N) и получать случайное целое от 0 до N-1, грех не воспользоваться.
  • Нумерация строк уже давно в Бейсике необязательная. Поэтому я убрал номера строк везде, где на них нет GOTO.

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

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

Сообщение отредактировал AtH - Вторник, 28 апреля 2020, 05:30


--------------------
«Электроника МК-161», 1chipMSX, AV Famicom, (S)NES Mini, GBA SP, New 3DS XL, Wii U, iPad, Switch
Покупка +4: Mustik, braund, Sidel72, wexxxx
Продажа +2: DrAckula1993, kioshi
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Daimond
post Среда, 29 апреля 2020, 02:24
Отправлено #3


Ветеран
******

Группа: Пользователи
Сообщений: 1 140
Регистрация: 27 апр. 2008
Пользователь №: 26 555





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 должно быть именно там.

Сообщение отредактировал Daimond - Среда, 29 апреля 2020, 02:24
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
AtH
post Среда, 29 апреля 2020, 03:03
Отправлено #4


ветеран КЭИ и MSX
******

Группа: Пользователи
Сообщений: 1 894
Регистрация: 20 янв. 2010
Из: Москва
Пользователь №: 35 456





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/smileb...h-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 можно использовать, как универсальный язык программирования, но при переносе на другие платформы придётся переводить код на другой язык и, возможно, переписывать библиотеки.

Сообщение отредактировал AtH - Среда, 29 апреля 2020, 13:15


--------------------
«Электроника МК-161», 1chipMSX, AV Famicom, (S)NES Mini, GBA SP, New 3DS XL, Wii U, iPad, Switch
Покупка +4: Mustik, braund, Sidel72, wexxxx
Продажа +2: DrAckula1993, kioshi
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic
AtH   SmileBASIC 4/FUZE4/Game Builder Garage   Суббота, 25 апреля 2020, 02:47
dimm0505   Интересно конечно. Я сделал общую тему Dev Corner ...   Суббота, 25 апреля 2020, 07:39
AtH   Хотя SmileBASIC не переведён на русский, он поддер...   Суббота, 25 апреля 2020, 08:11
dimm0505   128 мегов это за глаза для любого хоумбрюшного про...   Суббота, 25 апреля 2020, 08:34
AtH   Пока не нашёл ни взаимодействия с внешним миром, н...   Суббота, 25 апреля 2020, 08:59
Skywarp   Помнится, игрался с SmileBASIC на 3DS. Кодить на м...   Суббота, 25 апреля 2020, 09:05
AtH   На 3DS тоже проверки на равенство и неравенство в...   Суббота, 25 апреля 2020, 20:30
AtH   Не, тут совершенно другой уровень. Свитч к монитор...   Суббота, 25 апреля 2020, 09:11
dimm0505   Пишут что есть демо, а его нет на самом деле :woot...   Суббота, 25 апреля 2020, 12:41
AtH   Демки нет, но есть туториал. Также в eShop два вар...   Суббота, 25 апреля 2020, 12:50
dimm0505   Посмотрим, когда купим сам SB4. А когда - неизвест...   Суббота, 25 апреля 2020, 13:01
dimm0505   А тут же вроде есть:   Суббота, 25 апреля 2020, 20:32
AtH   В eShop после этого идёт в скобочках: (Note: It i...   Суббота, 25 апреля 2020, 20:50
Daimond   Ничего себе, чем вы тут занимаетесь. Расскажите чт...   Суббота, 25 апреля 2020, 21:10
dimm0505   Да баловство все это, с бейсиком грех не поиграть...   Суббота, 25 апреля 2020, 21:25
AtH   Я прошёлся по всем примерам. Они впечатляют. Особе...   Суббота, 25 апреля 2020, 21:28
dimm0505   Ты сам с собой что-ли общаешься? Узнать бы сначала...   Воскресенье, 26 апреля 2020, 00:30
AtH   Не знаю, есть ли ещё на ГБХ те, кто купил SmileBAS...   Воскресенье, 26 апреля 2020, 00:51
kartman_   А реально на нем переписать старые вещи для ранних...   Воскресенье, 26 апреля 2020, 07:08
AtH   Совершенно реально. Язык за эти десятилетия разви...   Воскресенье, 26 апреля 2020, 16:09
dimm0505   [url=https://images.ctfassets.net/x3227kynr7c6/1uN...   Воскресенье, 26 апреля 2020, 17:12
AtH   Очень любопытно! Спасибо, присмотрюсь к FUZE. ...   Воскресенье, 26 апреля 2020, 19:02
dimm0505   Я в своем первом сообщении здесь упоминал его. ...   Воскресенье, 26 апреля 2020, 19:19
AtH   Поддерживаю. Скорее всего FUZE4 тоже интерпретатор...   Воскресенье, 26 апреля 2020, 20:05
dimm0505   Разрабы про FUZE Player и последние доработки: ht...   Воскресенье, 26 апреля 2020, 20:57
AtH   Смотреть 40-минутное видео по FUZE, конечно, на лю...   Воскресенье, 26 апреля 2020, 22:39
Skywarp   Интересно, про FUZE я и не слышал. Сначала напомни...   Понедельник, 27 апреля 2020, 09:01
dimm0505   Просто раньше упоминали средства разработки здесь:...   Понедельник, 27 апреля 2020, 09:25
AtH   Skywarp, К лайту можно про контроллер подключать....   Понедельник, 27 апреля 2020, 16:24
dimm0505   А метку @40 это SB4 позволяет ставить? Просто я ...   Вторник, 28 апреля 2020, 18:19
AtH   SmileBASIC 4 позволяет делать любую метку — хоть @...   Вторник, 28 апреля 2020, 20:31
dimm0505   Все-таки язык к С по синтаксису ближе во FUZE4, я...   Среда, 29 апреля 2020, 10:23
AtH   FUZE4 работает не на Си, совершенно точно. Некотор...   Среда, 29 апреля 2020, 10:41
dimm0505   Ну для различных арифметических задач, и тех веще...   Среда, 29 апреля 2020, 10:55
AtH   Про трассировку лучей точно не знаю, но 3D-движки...   Среда, 29 апреля 2020, 13:31
MichaelForExample   Тогда уж лучше просить загадать число юзера от 1 д...   Среда, 29 апреля 2020, 10:59
dimm0505   Ну да, видимо как-то так.   Среда, 29 апреля 2020, 12:19
dimm0505   Не, не Raytracing, raycasting - самый простой ва...   Среда, 29 апреля 2020, 13:36


Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Вт., 24 июня 2025, 10:37
Skin Designed (c) by Rooq.net, All Rights Reserved.