|
6 / 6 / 0
Регистрация: 04.02.2022
Сообщений: 15
|
|
Какой выбрать язык?20.02.2022, 17:48. Показов 2482. Ответов 17
Метки нет (Все метки)
Доброго времени суток.
У меня интересный вопрос к програмистам. Связан он с выбором языка програмирования. Вообщем, я хочу создать свою собственную пиксельную головоломку (в 2D): Суть в том, что в уровнях будут разного рода препятствия и т.д. В меню будет небольшой инвентарь и прочее. Но, какой мне язык программирования начать изучать, чтобы мне потом не застрять? (уже изучаю Python) У меня есть выбор: -JavaScript -C# -Java Какой язык и движок выбрать?
0
|
|
| 20.02.2022, 17:48 | |
|
Ответы с готовыми решениями:
17
Какой язык программирования выбрать для создания игр? Какой язык программирования выбрать Какой язык программирования выбрать для хобби? |
|
|
|
| 20.02.2022, 18:34 | |
|
C# -> Unity
Lua -> Corona (Solar2D) Python -> Cocos 2D или PyGame Если кроме пайтона ни с чем не знакомы, советую не метаться, написать что-то несложное на нем. Игровых движков для него предостаточно, два я назвал, почитайте про них - будет яснее, что выбрать.
1
|
|
|
6 / 6 / 0
Регистрация: 04.02.2022
Сообщений: 15
|
|
| 20.02.2022, 19:05 [ТС] | |
|
vantfiles, Ну, я после пайтона хотел начать изучать либо JS либо Java, но трудно определиться...
И если уж програмировать на JS, я хотел использовать Cocos2D-x. Что скажите?
0
|
|
|
Модератор
|
||||
| 20.02.2022, 21:15 | ||||
|
0
|
||||
|
6 / 6 / 0
Регистрация: 04.02.2022
Сообщений: 15
|
|
| 21.02.2022, 07:16 [ТС] | |
|
alecss131, тоесть, если даже изучать Java, то не получится создать хотя бы 2D игру? Но ведь Java не игровой язык?
Lua - скриптовый язык программирования, для игр не совсем подходит. C++ - Довольно трудный язык и на изучение его уйдет огромное количество времени(его ещё нужно понимать) JavaScript - больше к веб разработке подходит Python - даже не знаю ожно ли на нём создать что-то годное. Я уже запутался, даже не знаю какой язык выбрать, чтобы мне его хватало.
0
|
|
| 22.02.2022, 01:05 | |||||||
|
У Метанита отличный вводные курсы по JavaScript, Node.js, HTML/CSS:
Я могу вам своими словами объяснить, как работают шейдеры. На WebGL есть два вида шейдеров: вершинный и фрагментный. Если вы рисуете квадрат, который состоит из двух треугольников, то вершинный шейдер будет вызван 6 раз - по одному разу для каждой вершины. Вы должны предварительно сохранить вершины в буфер VBO (Vertex Buffer Object). VBO - это просто место хранения массива вершин треугольников. Фрагментный вызывается для каждого пикселя треугольника и задаёт ему цвет. Вызов вершинного и фрагментного шейдеров происходит после команды gl.drawArrays. Если интересно, то читайте книгу по WebGL, Метанита и спрашивайте, что непонятно. Пока приведу пример: https://jsfiddle.net/zjydm1ev/
0
|
|||||||
| 22.02.2022, 11:24 | |||||||||||
|
Песочница Plunker. Пример с наложением картинки на прямоугольник на WebGL на новом стандарте JavaScript
Выше я использовал песочницу JSFiddle, но есть намного более удобная песочница Plunker (https://plnkr.co/) В эту песочницу можно загружать файлы (картинки, спрайты, тайлы, звуковые, текстовые файлы, json/xml файлы и т.д.) Правда, размер этих файлов должен быть небольшим. В Plunker можно создавать несколько js (или ts) файлов. Вы можете создать пример на Plunker и опубликовать ссылку на пример. Каждый сможет перейти по ссылке, сделать Fork (то есть копию) и вносить изменения в свою копию. Очень удобная штука, чтобы показывать код в действии или демонстрировать какие-то ошибки для вопросов на форуме. Я переписал пример выше с учётом нового стандарта JavaScript (ES2015), где "var" был заменён на "const" и "let". Ключевое слово "const" означает, что ссылка на объект не будет меняться, а "let" означает, что ссылка на объект будет меняться ("let" переводится, как "позволять"). Картинку я перенёс в песочницу, а до этого она лежала на DropBox. Ещё я упростил код. Раньше координаты прямоугольника и текстурные координаты хранились в одном массиве и копировались в один VBO:
Пример в песочнице Plunker
0
|
|||||||||||
| 22.02.2022, 12:38 | ||||||
0
|
||||||
|
Модератор
|
||
| 22.02.2022, 13:46 | ||
|
Браузерные игры такое себе, довольно специфичная категория. Впрочем мобильные игры тоже довольно специфичны и почти все создаются только для заработка, в основной своей массе казуальщина по типу 3 в ряд. Много людей создание мобильных/браузерных игр за геймдев не считают. Да и рекомендовать создавать игры на голых графических апи ничем не лучше советов писать на ассемблере. Если человек хочет создавать игры то пусть создает игры а не изобретает велосипеды создавая свои движки и фреймворки. Очень высока вероятность погрязнуть в рутине так и не начав писать именно игры. Добавлено через 2 минуты И если брать ваши аргументы, то на джаве невозможно найти работу не зная Spring, Hibernate и прочие веб фреймворки. Умение делать игры и гуи программы на джаве не поможет найти работу. Десктопная джава и андроидная это почти как 2 разных языка. Добавлено через 3 минуты Производительность веба оставляет желать лучшего. Это только комп у меня мощный а мобильные устройства у всей семьи довольно бюджетные. И меня постоянно удивляет почему простые приложения (не говоря уже о играх) грузятся по пол часа и вылетают. А это разработчикам лень делать нативные программы, им проще и выгоднее наклепать кросплатформенного веба.
0
|
||
| 22.02.2022, 15:06 | |||||||
0
|
|||||||
| 22.02.2022, 16:27 | ||
|
alecss131, я понял давно вашу позицию, но как вы не меняете свою позицию, так и я свою не меняю. Высказались, остались при своём мнении. В данном случае, спорить - это пустая трата времени. Давайте лучше писать игры, показывать процесс и результат. Кстати, огромное количество времени отнимает форум, а должен быть результат в виде игрушек. Призываю вас и всех форумчан, кто читает это сообщение посоревноваться, кто быстрее, на выбранном языке (API, движке и т.д.) перепишет примеры кода из Let's make 16 games in C++/SFML!, как можно ближе к этим примерам по внешнему виду, то есть по результату работы. Можно выкладывать без кода, главное, чтобы можно было запустить играбельную демку. Если не хотите соревноваться, то просто проигнорируйте этот призыв, но я уже начал переписывать их на TypeScript и WebGL. Может ещё перепишу на JavaScript. Dinaid, я вам очень сильно советую тоже переписать эти игрушки. Они очень простые, но они дадут очень много всего полезного. Но надо не останавливаться и улучшать игр. Я только сейчас начал понастоящему понимать, что, для того чтобы учиться писать игры нужно писать много простых игр и по мере роста навыков улучшать их. Параллельно пишите свою игру. Объясните, пожалуйста, подробнее, за игру вы хотите написать, я попробую вам помочь на WebGL.
Я начал с игры Blobby Volley (на физическом движке Box2D), она 15-я в списке: Это волейбол на физическом движке Box2D. Я использую порт Box2D на JavaScript и TypeScript - Planck.js Здесь туториал Planck.js https://github.com/shakiba/planck.js/wiki, который просто немного поправленный официальный тутоиал Box2D Я за пару дней в свободное время набросал такую демку на WebGL, TypeScript и Planck.js (Box2D). Здесь я использую свою вспомогательную графику, чтобы отображать невидимые коллайдеры Box2D. Я их временно делаю видимыми. У меня есть флаг, чтобы скрыть рисование графики коллайдеров. По поводу мысли "написания простых игр" есть такая короткая статья на сайте нубтутс: https://noobtuts.com/articles/make-small-games Я ещё перевёл с помощью Google Translate:
0
|
||
| 22.02.2022, 17:10 | |||||||||||||||||||||||||||
Фрагментный шейдер:
0
|
|||||||||||||||||||||||||||
| 22.02.2022, 18:27 | |
|
Dinaid, в вашем профиле написано, что вам 13 лет. Это реально? Если да, то это круто. Я начал программировать в 17-18 уже в универе. Я считаю, вам не надо изучать Flask на Python. Вы выбрали даже не Django, который гораздо популярнее Flask. Вам всё равно для Frontend нужен будет JavaScript и HTML/CSS. Лучше всего взять ещё более популярный в сравнении даже с Django - Node.js. На Node.js у вас будет один и тот же язык на сервере и клиенте - JavaScript (в будущем лучше, я считаю, перейти на TypeScript). Я давал ссылку выше на Metanit: https://metanit.com/web/nodejs/ Я не встречал ничего лучше, чем у Metanit'a по Node.js, даже в книгах на английском. У него там всё что нужно для работы с NPM-пакетами, базами данных (MySQL, MongoDB), по тому, как делать веб-api, по unit-тестированию и всё самое необходимое. Я думаю, что вы выберите браузерные игры и веб-разработку. Если с играми не очень пойдёт заработок, то вы сможете зарабатывать созданием веб-приложений и веб-сайтов, какое-то время, пока реклама на играх в сец. сетях не приносит нужного дохода. Вам 100% нужна будет работа с базами данных, как для веб-приложений, так и для игр (рекорды сохранять, сделать регистрацию, мультиплеер и т.д.), а данные лучше всего передавать через веб-сокеты, поэтому ставьте модуль ws (он имеет 57-58 млн. скачиваний в неделю) и развёртывайте свою игру (или веб-приложение) на Node.js хостинге Heroku, вот моя пошаговая инструкция: Инструкция по развёртыванию Node.js сервера с WebSockets на бесплатном хостинге Heroku. Веб-клиент и Desktop-клиент (Qt) Отличная книга, где обучение JavaScript через создание простых игр: JavaScript для детей. Самоучитель по программированию | Морган Ник, только лучше всего её изучать на английском, потому что в ней очень простой английский и это дополнительная тренировка английского: JavaScript for Kids: A Playful Introduction to Programming. Лучше всего, чтобы вы переписывали игры из этой книги на WebGL. Только не надо углубляться в WebGL, особенно в 3D. То что я вам объяснил, уже почти достаточно, чтобы написать многие игры: вашу игру, игры из книги Моргана, те 16-игр из канала в сообщении выше. Просто копируйте код рисования текстурированного прямоугольника в следующий новый проект, от проекта к проекту этот код рисования один и тот же, а концентрируйтесь на непосредственно на коде игр.
0
|
|
| 22.02.2022, 18:28 | ||
|
Добавлено через 1 час 14 минут
0
|
||
| 22.02.2022, 19:43 | ||||||||||||||||
|
Поясню ещё некоторые строки кода в примере из сообщения #8:
0
|
||||||||||||||||
|
6 / 6 / 0
Регистрация: 04.02.2022
Сообщений: 15
|
|
| 24.02.2022, 09:53 [ТС] | |
|
8Observer8, не совсем, я лишь изучаю азы Python и прохожу весь материал по книге. После изучения этого языка, я хотел конечно создать свою веб страничку, или какой-то сайт среднего уровня, но не более.
Я хотел бы создавать простые 2D игры, и у меня уже есть для этого идеи. Python для этого не подойдёт, я так думаю... Вот так...
0
|
|
| 24.02.2022, 13:11 | ||||
0
|
||||
| 24.02.2022, 13:11 | |
|
Помогаю со студенческими работами здесь
18
Какой язык выбрать? Какой язык выбрать. Какой язык выбрать? Какой язык выбрать ? Какой язык выбрать? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|