Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > создания игры в браузере


Автор: dereyly 16.6.2006, 17:44
Вот задался идеей написать online игру. Идея не нова, поэтому может ответите на мои вопросы
Как уже ясно из названия игра браузерная и какими средствами ее мы будем программировать
1) Как я понимаю функциональная часть программы пишется на Java или C# (что вы думаете на этот счет)
2) Марафет наводим Flash
3) И самое интересное как осуществляется взаимодействие пользователей Server,  у нас есть некоторое Серверное приложение котороеотвечает на запрос пользователя съиграть с оопнентом (или группе людей) для этих людей выделяется некоторое логическое пространство т.е характеристики команды А иБ берутся из БД, затем этими характеристики в рамках этих характеристик пользователь взаимодействует с функциональную часть через Браузер....

ЗЫ Просьба прокоментировать эту концепция словами посуществу или линками 
ЗЗЫ кстати как там у нас насчет копирайта на С# MySQL Oracle -- будут ли треблвать за вышеперчисленное ПО деньги или как всегда....  

Автор: $tatic 16.6.2006, 21:02
Цитата(dereyly @  16.6.2006,  18:44 Найти цитируемый пост)
как осуществляется взаимодействие пользователей Server

Насколько я понял, здесь речь идет о клиент-серверном протоколе. ИМХО лучше всего XML, его понимают и Flash, и C#, и PHP, и JSP и т.д. smile
У каждого свои плюсы и минусы. Например C# (скомпиленый) ИМХО будет быстрее Явы и ПХП, но последний более распространен.
К слову, клиентская часть необязательно может быть флешевой (также можно HTML или XUL (только для Firefox) в соединении с AJAX), хотя согласен - это не так красиво
Цитата(dereyly @  16.6.2006,  18:44 Найти цитируемый пост)
насчет копирайта на С# MySQL Oracle

Если ты арендуешь готовый хост с этими приблудами, то за них ты уже заплатил, а проблемы могут быть (в худшем случае) только у хостинга.
Если же сервер ставится с нуля, то .NET для винды бесплатный (тут платишь за саму виндуsmile), можно использовать альтернативный проект Mono (под винду или никсы), который согласно лицензии GNU GPL бесплатный. MySQL тоже GNU GPL со всеми вытекающими. А вот Oracle уже довольно дорогой продукт, но, повторяюсь, если хост арендованный, то у тебя проблем ИМХО нет. 

Автор: $tatic 17.6.2006, 09:54
А что ты хочешь за игру сделать? 

Автор: dereyly 17.6.2006, 18:29
Тактическая игра про Школы Восточных единоборств (с оружием), так что любители востока пока еще нереализованная таргет группа... У каждого игрока есть несколько воинов которыми он управляет (4-8), что то вроде Джагет алиеса только на восточный манер. Перемещение - Драг Энд Дроп, помоему это несложно еализуется... Если я выберу HTML небудет ли картинка просто открыватся в след окне(закладке) от  попытки перетащить фишку ?....
Но вообще чисто для обучения хотелось бы сделать игру ГО в браузере...   

Автор: arilou 20.6.2006, 23:21
Цитата(dereyly @  17.6.2006,  18:29 Найти цитируемый пост)
Тактическая игра про Школы Восточных единоборств (с оружием), так что любители востока пока еще нереализованная таргет группа

Идея хороша. Если реализуешь, будет клёво. 

Цитата(dereyly @  16.6.2006,  17:44 Найти цитируемый пост)
1) Как я понимаю функциональная часть программы пишется на Java или C# (что вы думаете на этот счет)

Я бы делал на C# (ASP.NET). Отличный язык, много возможностей. Опять же, тут на Винграде отличный .NET раздел, всегда поможем!

Цитата(dereyly @  16.6.2006,  17:44 Найти цитируемый пост)
2) Марафет наводим Flash

Однозначно  smile Для проекта будет нужен хороший флэшер.

Цитата(dereyly @  16.6.2006,  17:44 Найти цитируемый пост)
3) И самое интересное как осуществляется взаимодействие пользователей Server

На сервере ведется список желающих поиграть, типа очереди. Клиенты периодически обращаются к серверу и проверяют, можно ли начать играть. Как только сервер отвечает "да", начинается игра. ИМХО, удобнее всего это сделать с помощью web-service. 

Автор: dereyly 2.7.2006, 14:03
Цитата(arilou @ 20.6.2006,  23:21)
На сервере ведется список желающих поиграть, типа очереди. Клиенты периодически обращаются к серверу и проверяют, можно ли начать играть. Как только сервер отвечает "да", начинается игра. ИМХО, удобнее всего это сделать с помощью web-service.

Можно об этом чуть поподробнее если остальные вещи я понимаю как делать то тут я даже незнаю что искать и где смотреть...
Начинаю с момента что 2 игрока хотят играть между собой, после этого из базы данных берутся параметры (характеристики) каждой команды (вот с этого момента может я ошибаюсь)... на сервере выделяется место под названием игра Н и как то настраиватся канал между двумя этими игроками (короче темный лес) 
вообще как это происходит?
тот же небольшой проект soldat или стандартные игры Diablo Warcraft где кто то является Server -ом и к ниму уже присоеденяются, может кто знает этот механизм  

Автор: arilou 2.7.2006, 21:28
Цитата(dereyly @  2.7.2006,  14:03 Найти цитируемый пост)
вообще как это происходит?

На сервере ведется список ожидающих игры клиентов, скорее в виде очереди. Периодически сервер ее опрашивает, и если есть игроки, начинается новая игра.

Каждая игра на сервере индентифицируется уникальным ID. При начале игры клиенты получают этот ID и потом используют его при посылке команд на сервер, чтобы идентифицировать игру. Между клиентами соединение не настраивается, все идет через центральный сервер. Скорость обновления определяется типом игры. Например, для пошаговой стратегии вполне нормальный вариант - обновление по окончанию хода игрока.

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

Что-то вроде этого  smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)