Войти
ПрограммированиеФорумОбщее

Хочу начать писать свою игру

Страницы: 1 2 3 Следующая »
#0
15:50, 23 дек. 2019

Всем привет.

Я программер.
Хочу начать писать свою игру. До этого игры не писал...
Что я хочу сделать?...
Хочу сделать браузерную игру.
Многопользовательскую - т. к. проще с контентом, т е не надо придумывал левелы.
2D - т. к. так проще с рисованием ( ну может я ошибаюсь).
Это пока все, в чем я определился , ну ... или почти все (первое время собираюсь делать на node.js).
В этой теме хотел обсудить некоторые вопросы, которые у меня возникают на этом этапе.
В силу того что игры я не писал, и не делал некоторых вещей касательно таких игр - программирование сетей, написание серверов для них, я немного упрощаю себе задачу (вы уже заметили - 2d + многопользовательская).
Так же не смотря на многопользовательность, я не собираюсь делать реал-тайм онлайновость.
думаю что буду делать пошаговую игру. Хотя уверен что тут ожидается совсем другое...

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

И вот все игроки передвигаются по миру, между собой взаимодействуют, возможно чтото строют, играют...

Вопросы такие что как строить такие игры. Именно со стороны сервера.
Как строит карты для таких игр?
Где можно узнать про карты для таких игр? Прочитать?
Возможна ли пошаговость в огромной карте?
И вообще есть ли какая то матчасть для таких игр?
Сорри если неясно задал вопросы. Могу попробовать задать по другому.


#1
16:46, 23 дек. 2019

Советую начать с пакмана и тетриса чтоб набить шишки.

#2
17:18, 23 дек. 2019

Привет.
со стороны сервера все довольно просто, у тебя есть карта - это 2д массив, особенно удобно писать на nodejs так как внутри массива ты можешь завести объекты и в каждом объекте могут быть уникальные данные. Лучше всего написать собственный редактор карты, будет хорошей практикой и в то же время меньше проблем в будущем. Пошаговость конечно возможно, все упираеться в количество расчетов, чем больше будешь данных расчитывать тем меньше придеться использовать карту. Матчасти нету, есть разные статьи но наверное лучше просто спросить у людей. Задавай более конкретные вопросы.
Например тебе нужно изучить websocket создать на стороне Nodejs сервер и подключить клиент, поддерживать связь, обмениваться с сервером json записями. Если хочешь сдвинуть объект на карте то с начала отправляешь запрос на сервер и когда сервер пришлет команду на сдвиг тогда сдвигаешь.

#3
17:59, 23 дек. 2019

Главная матчасть это English. Тогда можно попытаться осилить это например. Если игру по урокам удастся поднять, и при этом осмыслить исходники, то дальше уже можно думать, как из этого сделать игру мечты.
(Но вообще мысль, что ММО запилить легче, чем сингл, это свежо :))
В любом случае, желаю успеха.

#4
18:22, 23 дек. 2019

Самое главное написать свой движок, без этого не напишешь игоря.

#5
(Правка: 19:42) 19:38, 23 дек. 2019

carefree

2D - т. к. так проще с рисованием ( ну может я ошибаюсь).

Не факт!
Если не художник, то лучше 3D и то смотря чего делать. 2D очень тонкая и деликатная тема и не всем она по плечу.
3D модельки можно где нибуть нарыть и переделать под себя. С 2D так не получится.
#6
19:57, 23 дек. 2019

Без дизайнера - даже не рыпайся. Ляжешь на этапе планирования. Игра это на 90% произведение дизайнера. Программная часть там не шибко сложна.

#7
(Правка: 21:30) 21:27, 23 дек. 2019

раб вакуумной лампы
> Игра это на 90% произведение дизайнера

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

#8
21:31, 23 дек. 2019

flint2
> 3D модельки можно где нибуть нарыть и переделать под себя. С 2D так не
> получится.

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

#9
21:51, 23 дек. 2019

Будешь писать 50000 - 150 000 строк только ради логики и скринов, которые будут вызываться раз в сессию?

#10
(Правка: 22:37) 22:37, 23 дек. 2019

nes
> Самое главное написать свой движок

Лучше начать с проектирования своего процессора.

#11
(Правка: 4:46) 1:15, 24 дек. 2019

Попробуй посмотреть в код BrowserQuest. Это довольно старая штука, но зато как раз на node js. Она не очень много пользовательская (в один инстанс влезает не очень много людей, но поддерживается балансинг). Причем, писал это один человек (на самом деле, игру делали два брата, но один из них делал рисунки, а второй закодил). Думаю, этого будет достаточно, чтобы сделать свое.

#12
12:22, 24 дек. 2019

Nazdorovye

Лучше начать с проектирования своего процессора.

Именно ! Чем продуманнее команды и архитектура, тем быстрее и легче писать сложный код !

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

Я уже как пару лет это стал и замечать и ощущать.

Просто Intel\AMD не сильно развивают новые команды в процах. А зря ! Это могло бы ускорить работу программы, без увеличения частоты процессорных ядер.

#13
19:04, 24 дек. 2019

Ух ты . Как много ответов.  Не ожидал.

Да. В разработке игр я пока новичок.
И думаю действительно надо начать с того, чтобы что-то повторить.
По поводу своего движка или процессора... ну думаю такому как мне пока рано или не надо на первых этапах. К тому же есть наверно готовые движки. Или нет, раз многие тут говорят что нужен свой.
На этом форуме я тоже впервые.
Я так понял что тут можно например, что-то сделать и потом отдавать на критику. верно? но это наверно не в этой ветке. Или не так?... Так нельзя?
Но я так понял судя по ответам так же что можно вообще все спрашивать более подробно.
Могу ли я пошагово прямо в этой ветке рассказывать то , что у меня получается. ну и так скажем каждый шаг свой отдавать критике. Или нет? Никто не захочет смотреть что я делаю на каждом шагу? Или может есть другая ветка?
Вот что я решил пока на данном этапе:
Я попробую повторить пакман. Но в многопользовательском режиме( хотя может он уже такой существует).
Т е пакманов будет столько сколько юзеров. Карта в идеале бесконечная . Ну... как в agar.io. Ну .. т е как бы это Pacman.io)))
Пока подумаю над генератором такого лабиринта, т е произвольного. Где то уже кстати видел алгоритм генерации. Похож на поиск с возвратом. Т е жадный . Поработаю пока над ним.
Потом добавлю создание пакмана, его движения-перемещения.
А потом может какую-то логику для разных игроков - в зависимости от того кто-то сколько точек съел - разные скорости или бои между пакманами. или может разные роли - пакманы и привидения.
Вот.. постараюсь держать в курсе и отдавать на критике пошагово, если это возможно, было бы круто.
Кто как думает?

#14
20:42, 24 дек. 2019

carefree
> Я попробую повторить пакман. Но в многопользовательском режиме
В принципе, неплохая идея, для опытного программиста.
Но если игры никогда не делал, советую начать с обычного, однопользовательского.

> Пока подумаю над генератором такого лабиринта, т е произвольного.
А вот это лишнее. Не стоит замахиваться сразу на слишком многое.
Главной целью первого этапа всегда стоит получение работоспособного прототипа.
Если на чем-то можно сэкономить (например, на графике — все рисовать цветными прямоугольниками) — это нужно сделать. И уже после получения прототипа можно начать наполнять его "мясом", причем, не стоит бояться полного переписывания — если что, всегда остается прошлая версия.
В противном случае есть риск завязнуть на каком-то второстепенном элементе в порыве перфекционизма.
На этом форуме есть примеры, как написание игры началось и закончилось написанием универсального логгера.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее