Unity, C#
Ходить по "квадратикам" и слушать высказывания интересно в первые секунды. Хотя может еще всего не нашел.
Самое простое, что приходит в голову - игра наподобние дейтсимов или визуальных романов. Там надо ходить по стилизованным "квадратикам" и слушать или читать диалоги. Минимум графики, примитивное программирование - в основном деревья выбора диалогов и квадратики с текстом.
С версиями - пока не менял. Портировать можно - есть выбор, но когда понадобилось под айос, не вышло.
Про портирование я имел ввиду - можно ли перетащить схему с блупринтами из Анрила в скажем Юнити или Край Энджин, или наоборот. Что делать, если Анрил вдруг сдохнет или станет платным, а вы уже кучу блупринтов понаделали? Вот на С++ или C# что написал - это много где применить можно, просто скопировав код или вынеся всё в подключаемые библиотеки.
Я, увы, не программист.
ну это вы сказали в самом начале, я просто пытался объяснить точку зрения с "нашей/моей" стороны.
Потому, что вы возможно видите прогу как своего маленького ребеночка, которого нужно оберегать от злых дядек.
Нужно просто представить себе различных пользователей проги. Например требование геймпада для вас вроде само собой разумеется, а другим может лаже это и в голову не прийти.
Я бы расположил картинку геймпада, клавиатуры и перечеркнутую мышку (видимо с ней непросто будет) на главном экране.
Это тренинг. Каждый триггер вызывает свой диалог. Один диалог повторяется в четырёх формах времени.
Это не видно визуально. Я просто теряюсь на каждом уровне, нет ни дороги ни каких либо маркеров для привязки. Даже цвет/форма "клетки" для выхода не отличается от всех остальных
Прослушав диалог повторить его
Каким образом? Ходить туда сюда неудобно.
Мною написано более 200 уроков. Продолжаю писать дальше.
Просто замечательно, больших успехов. Но хотелось бы увидеть это и в "нормальной форме".
Да, примитивные диалоги были ещё на первых компах, на Синклере например. Только кроме текстов и звуков имитации речи больше ничего не было.
Да и не могло быть. Я решил совместить игровой процесс с процессом обучения языку. Но если в игре к повтору диалога путь закрыт, разве что через
полное повторение уровня, хотя не всегда, то у меня каждый диалог можно тут же повторить. В самом диалоге можно повторить фразу, спуститься по
дереву диалога вниз или подняться вверх.
Портирование наверняка возможно. Ведь блупринты написаны на базе С++.
Для большинства юзеров на самом деле нужна версия под андроид. Со временем сделаю. Анрил позволяет. Но сначала нужно эту довести до ума.
Что до методики обучения, то упор сделан на тренировку. Программа не учит грамматике. Это тренажёр. Материалов по обучению языкам много,
ютуб забит блогерами. Но у них линейный формат, когда невозможно тут же повторить фразу по нажатию кнопки. А перетаскивая ползунок плеера,
никак не попадёшь на то же место.
Спасибо. Программа ещё не готова и потому там мелькает надпись TEST. Всё упёрлось в озвучку, которая тормозит процесс выхода релиза.
Хотя, до полного релиза пройдёт ещё не один год. Но как минимум нужно наполнить первое меню в 25 уроков.
Цель тестовой версии выявить ошибки и дать возможность начать заниматься тем, кому это важно, не ожидая релиза.
Без геймпада тоже можно заниматься, хотя это и не очень удобно. Кто возьмёт в руки геймпад, уже не захочет работать с клавиатурой.
Конечно, это может стать препятствием для тех, кто не сможет обзавестись геймпадом. Но это обязательное условие для погружение
в тренинг. Так же как в спорте. Нет денег на бутсы, будешь без толку скользить по траве. Тренинг включает не только кортекс, но и лимбу.
Прослушав диалог повторить его.
Каким образом? Ходить туда сюда неудобно.
В диалоге ходить никуда не нужно. Один диалог - один триггер. Вошёл в него и жми на интер. Пробел - повтор фразы.
Сейчас ещё добавил кнопку возврата на фразу назад. То есть весь диалог можно гонять туда-сюда в одном триггере.
Один диалог повторяется в каждом триггере, но в разных формах времени.
Известный термин довести до автоматизма, я меняю на довести до рефлекса. Когда мы разговариваем, то не обращаем внимание на то,
что иногда отвечаем сразу, моментально, не дослушав собеседника до конца, перебивая его. Это и есть говорить на рефлексах.
Мы всегда говорим короткими фразами заготовками, которые закреплены в нашей памяти. А уже из них создаём конструкции, меняющие
смыслы. Мы всё помним. Бэбиками начинаем говорить слогами, потом запоминаем слова, куски фраз. Так же и любой иностранный язык
учить надо со слогов, потом слов и наконец короткие фразы, из которых составляются сложные конструкции.
О том как работать с программой будет дополнительная информация. Для этого я сделаю вводной видеоролик и выложу его на ютуб.
А в самой игре будет вводной урок, в котором вместо немецкого будет обучение работе с программой.
Маркеры и подсказки добавлю.
кто не сможет обзавестись геймпадом
Дело не в том можешь или нет. А в том хочешь ли ты им пользоваться в принципе, тем более, ради одной программы.
Вошёл в него и жми на интер. Пробел - повтор фразы.
Вот именно с этого и стоило начать. И смысл появился, и диалоги.
Маркеры и подсказки добавлю.
Замечательно, а то я никак не пойму куда нужно идти
Еще забыл про одну большую проблему - невозможно переключится на другую программу.
Нахожусь в "диалогах" - а тут письмо пришло или гуглу вдруг спросить захотелось - а фигвам, нужно только выходить. А потом долго и нудно искать где был в последний раз.
не стоит забывать, что непрограммисту 3Д на ЯП будет очень сложно освоить. А тут раз два и готово.
Всё то же самое. Что значит "раз, два и готово"? С блупринтами - там сотни и тысячи разных типов прямоугольничков, и нужно знать, что с чем стыкуется. Каждый прямоугольничик что ваш класс (или объект) в языке программирования (под капотом так оно и есть). И от того, что вы программируете визуально, вам легче не становится. Это всё та же идея визуального программирования, которая почила в бозе для бизнес-приложений, разных форм и прочего. А у тридешников просто с опозданием история повторяется. Ну и с шейдерами там сейчас так - они слишком переусложнённые и низкоуровненвые даже в последней версии какой-нибудь Shader Model, поэтому иногда проще делать на блупринтах. Модель подготовки и передачи данных в шейдер и из шейдера - как в каком-то С или ассемблере. Где функции, где параметры нормальные почему нет подсказок нормальных и выбора из готовых значений (типа энумы). Почему я должен забивать руками какие-то монструозные структуры, держа открытыми кучи справочников, чтобы знать, какие значения бывают и как их наполнять? Что это за нечитаемый бред?
Shader "Standard" {
Properties {
_Color ("Color", Color) = (1.000000,1.000000,1.000000,1.000000)
_MainTex ("Albedo", 2D) = "white" { }
_Cutoff ("Alpha Cutoff", Range(0.000000,1.000000)) = 0.500000
_Glossiness ("Smoothness", Range(0.000000,1.000000)) = 0.500000
_GlossMapScale ("Smoothness Scale", Range(0.000000,1.000000)) = 1.000000
[Enum(Metallic Alpha,0,Albedo Alpha,1)] _SmoothnessTextureChannel ("Smoothness texture channel", Float) = 0.000000
}
SubShader {
LOD 300
Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }
Pass {
Name "FORWARD"
Tags { "LIGHTMODE"="FORWARDBASE" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }
ZWrite [_ZWrite]
Blend [_SrcBlend] [_DstBlend]
Не успеваю. Насчёт геймпада. Захочешь тренировать немецкий по-настоящему, потратишься. Это динамика. Лимба это моторика пальцев. Здорово помогает кортексу, когда он закипает.
Альт таб точно не полностью экран открывает. Игруха мешает. Не знаю как с этим бороться. Надо подумать. Как вариант уменьшить окно игры, но это не выход.
Вчера написал сценарий вводного урока с объяснениями как работать с прожкой. Куда ходить, что жать. Добавил выход на искэйп. Работает.
Я начинал с юньки в 17-м году. Ох и попил он мне крови. Потом резко перешёл на анриал. Там программинг на блупринтах. Это намного круче чем болт. Хотя, может его уже подтянули, но если вы ещё мыслите кодами C#, то нет.
Я просто так хочу изучить Unity, потом поделюсь со всем миром своими знаниями. У меня ноут Unreal Engine не потянет - Core i5, 8GB, 100GB SSD+900GB HDD+Geforce GTX (точно номер не помню). Многие делают мобильные игры на юнити, и зарабатывают очень много на рекламе, и за платные услуги - допустим аксексуары - платные скины.
Насчёт геймпада. Захочешь тренировать немецкий по-настоящему, потратишься
Не думаю. Может на выходных покажу, как можно свободно без него обходится.
Не знаю как с этим бороться.
Не уверен, что Unreal на это способна, она скорее всего не умеет в окне работать или хотя-бы мышу отдать.
Я вот сейчас с первым диалогом играюсь "Wer bist du" - очень хорошо всё сделано.
Не уверен, что Юнити на это способна, она скорее всего не умеет в окне работать или хотя-бы мышу отдать.
У всех нормальных игровых движках хоть в старых, хоть в новых разделяются на методы Init, Paint, Keyboard, KeyPad, Mouse. В методе Init происходит инициализация и подгрузка чего-ниубдь (3D моделей, текстур, аудио, музыка), в методе Paint рисует, метод постоянно вызывается как-будто от таймера, в методах Keyboard, KeyPad, Mouse ловите нажатие кнопок. Чтобы передать в метод Paint какую нажали кнопку, нужно завести глобальную переменную и передавать код кнопки в методах Keyboard, KeyPad, Mouse а в методе Paint считываете код клавиши из глобальной переменной.
Допустим в колледже мы изучали библиотеку FreeGlut простой пример, нужно зарегистрировать Callback-функции:
int main(int argc, char **argv) { // init GLUT and create window glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA); glutInitWindowPosition(100,100); glutInitWindowSize(320,320); glutCreateWindow("Lighthouse3D- GLUT Tutorial"); // register callbacks glutDisplayFunc(renderScene); glutReshapeFunc(changeSize); glutIdleFunc(renderScene); // here are the new entries glutKeyboardFunc(processNormalKeys); glutSpecialFunc(processSpecialKeys); // enter GLUT event processing cycle glutMainLoop(); return 1; }
В Callback-функции glutDisplayFunc обрабатываетсся графика, а в Callback-функции glutKeyboardFunc обрабатывается нажатие клавиши.
Сделал я свой тестовую прогу на ваших данных. Мне так намного привычнее. Специально не пишу никакого описания, для теста, получится ли найти все функции. Там конечно, только один маленький кусочек.
https://tutorde202208.azurewebsites.net/
Не знаю правда, будет ли звук проигрываться на всех машинах, там похоже нестандартный кодек.
Системные требования для вашего компьютера, при которых тренажёр заработает:
AlexNek показал скриншоты вашего тренажора, и я вспомнил раньше во второй половине 90х была игра Addy для детей, там учили разным предметам. Я эту игру где-то в 2004 году купил.
О, этот дизайн 90-х и начала 2000-х, когда градиентная заливка на фон кнопки считалась супер-пупер графической примочкой. А уж если градиент не прямой, а какой-нибудь радиальный, то вообще атас. И пофиг, что этот градиент не стыкуется с окружающим дазайном - главное, зафинтилить "модную" кнопку поверх всего.
Офф - зачем они трясут пачками и прислушиваются (видео с канала, где видео про Addy)? (Я тоже трясу и тоже прислушиваюсь.)
Пфф, драй кило, блин! Щас по 5-7 кило нормально.