Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Вопрос к знающим веб-девелоперам (карточная онлайн игра)

Вопрос к знающим веб-девелоперам (карточная онлайн игра)

Поделиться
ZloyWNSПостоялецwww6 сен. 201713:01#0
Всем доброго времени суток!

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

Коротко о проекте:

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

Сам я только недавно начал интересоваться именно разработкой, нормально знаю пока только HTML/CSS, JS только начинаю. То есть понимание есть только о фронт-енде более менее, серверная сторона - темный лес. А так как колоды карт будут общие для всех игроков - храниться они будут на стороне сервера (насколько я понимаю).

Ну и собственно вопрос: какие лучше технологии выбрать, что бы реализовать базовый функционал (рандомный выбор карты из колоды - передача игроку1/изьятие этой карты из массива - рандомный выбор карты - передача игроку2/изьятие из массива и т.д.)
Всего 3 колоды: из первых двух каждому игроку в начале игры выдается по одной карте. Далее в течении трех раундов из второй колоды берется три карты (по одной за раунд), которые общие для всех игроков (как в покере, техасский холдем)

Что касается механики сравнения карт, комбинаций, кто выиграл, кто проиграл, то там механика лично для меня понятная и в этом я разберусь со временем, а вот что касается именно раздачи карт, не совсем понятно(

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

Извиняюсь если криво описал - только начинаю. Любыми необходимыми деталями и подробностями с радостью поделюсь.

TiendilУчастникwww6 сен. 201714:34#1
1. В браузерной игре (да и вообще в любой игре) сама игровая логика не так уж и много занимает от всего кода, куда больше тратится на обвесок: регистрацию, сообщения, чатики, магазины, админки, etc. Поэтому выбирать технологию надо с учётом этого всего.
2. Без разницы что выберешь без опыта: всё равно получится плохо, набьётся много шишек, получится много опыта, которые уже позволят выбрать что-то осмысленное.

Поскольку вообще нет опыта в разработке, можешь попробовать взять NodeJS (чтобы не учить ещё один ЯП), но в качестве развития, имхо, это тупик.

Рекомендую взять Python 3 + Django для всех обвесков (делать их монолитным сервером), а саму логику реализовать в виде отдельного микросервиса на Python 3 + asyncio.

ZloyWNSПостоялецwww6 сен. 201715:19#2
Tiendil
> Поскольку вообще нет опыта в разработке, можешь попробовать взять NodeJS (чтобы
> не учить ещё один ЯП), но в качестве развития, имхо, это тупик.

а можно пожалуйста пару слов поподробнее? Я как раз думал о нем, как раз из-за того что б серверную часть на том же js писать, но почему тупик в плане развития?

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

так что именно в данный конкретный момент времени нужна простота + скорость реализации, я так понимаю для меня альтернативы Node.js нету? И искать какие-то полуготовые решения смысла нету?

ChupakaberПостоялецwww6 сен. 201716:11#3
ZloyWNS
> ак что именно в данный конкретный момент времени нужна простота + скорость
> реализации, я так понимаю для меня альтернативы Node.js нету?
альтернативы всегда есть
но NodeJS думаю зайдет легче всего, не только потому. что там тот же js как в браузере, но и это тоже имеет большое значение. а также потому, что там "из коробки" многое доступно , быстро развертывается и легко применяется

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

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

Правка: 6 сен. 2017 16:17

TiendilУчастникwww6 сен. 201716:33#4
ZloyWNS
> о почему тупик в плане развития?
Вопрос холиварный. Там слегка специфичная культура разработки сложилась, как следствие используемого ЯП и низкого порога входа в него. Плюс сам язык тоже оставляет желать лучшего: он не проектировался для написания сколь-нибудь сложного кода. А возможно и вообще не проектировался :-D Хотя некоторые вещи в JavaScript весьма интересно сделаны.

> так что именно в данный конкретный момент времени нужна простота + скорость реализации, я так понимаю для меня альтернативы Node.js нету?
В такой формулировке альтернативы нет. Но я не помню, слышал ли вообще о случаях, когда прототип на одной технологии выкидывали и писали с нуля и правильно на другой. Для этого, мммм... нужна определённая культура разработки и понимание людей, которые деньги дают. Поэтому нужно быть готовым, что переисывать не будет времени или денег.

ZloyWNSПостоялецwww7 сен. 20178:13#5
Chupakaber, Tiendil

Спасибо вам большое за развернутые ответы, реально помогли определиться, а то моя компетентность в этом вопросе не позволяет адекватно составить мнение)

По поводу специфики языков, JS мой "первенец" поэтому он для меня идеален :D

MixeYaПостоялецwww7 сен. 201713:21#6
ZloyWNS
> По поводу специфики языков, JS мой "первенец" поэтому он для меня идеален :D
У него управление типами подогнано идеально для маленьких программ и для людей которые не умеют программировать(дизайнеры, художники).
С ростом размера проекта такие сильные стороны постепенно превращаются в слабые.
RikkПостоялецwww7 сен. 201716:04#7
MixeYa
> такие сильные стороны постепенно превращаются в слабые.
Это какие ?
MixeYa
> У него управление типами подогнано идеально для маленьких программ
это каких ? сколько байтов ?
MixeYa
> для людей которые не умеют программировать(дизайнеры, художники).
как они будут управлять типами если не умеют программировать ?

--
давай лучше с тобой не будем их троллить а прогеймдизайним проект

Правка: 7 сен. 2017 16:07

MixeYaПостоялецwww7 сен. 201716:22#8
Rikk
> давай лучше с тобой не будем их троллить
Не вижу тут троллинга. Точнее, со своей стороны не вижу.

Правка: 7 сен. 2017 16:22

RikkПостоялецwww7 сен. 201716:37#9
MixeYa
> Не вижу тут троллинга

Есть такой анекдот.

Два фермера беседуют о том кто и почему пожирает поля с пшеницей

фермер1 — Ты видишь суслика ?
фермер2 —- Нет , не вижу .
фермер1 —- Я тоже не вижу , а он есть !

MixeYaПостоялецwww7 сен. 201716:48#10
Rikk
Вот троллил бы ты по теме, было бы нормально.
А у тебя, по теме, тямы нет троллить, поэтому постишь чепуху всякую, да анекдотики :-)
RikkПостоялецwww7 сен. 201717:13#11
MixeYa
> Вот троллил бы ты по теме, было бы нормально.
MixeYa
> У него управление типами подогнано идеально для маленьких программ и для людей
> которые не умеют программировать(дизайнеры, художники).

То есть чтоб так заявлять ты наверное  человек в теме .

покажи свои работы. кидай ссылки. или видео.

TiendilУчастникwww7 сен. 201717:48#12
Rikk
> Два фермера беседуют о том кто и почему пожирает поля с пшеницей
>
> фермер1 — Ты видишь суслика ?
> фермер2 —- Нет , не вижу .
> фермер1 —- Я тоже не вижу , а он есть !

Школота детектед :-D

RikkПостоялецwww7 сен. 201718:03#13
Tiendil
> Школота детектед

школота это временно и проходит , к тому же из школоты возможно выращивать специалистов в деле . это не страшно и поправимо .

но вот если человек умственно неполноценный больной дебилизмом — это проблема на всю жизнь.

TiendilУчастникwww7 сен. 201718:07#14
Rikk
> школота это временно и проходит
Для этого надо усилия прилагать. В первую очередь контролировать свои поступки, сдерживать порывы так сказать.

/ Форум / Программирование игр / Веб

2001—2017 © GameDev.ru — Разработка игр