Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос про возможности игр, Необходимо узнать у опытных программисто 
:(
    Опции темы
Proud
Дата 20.2.2012, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.4.2010

Репутация: нет
Всего: нет



Добрый вечер, день, утро, уважаемые любители и профессионалы программированияsmile
Есть несколько жизненноважных вопросов к гуру языковsmile

Перейдем к делу: есть небольшая идея по созданию приложения в контакте, основная суть в нем то что игроки будут соперничать в реальном времени друг с другом, игра скорее всего будет довольно простой... Возможно ли это создать, на каком лучше языке программирования это делать и насколько сейчас технологии позволяют КОМФОРТНО соперничать друг с другом в реальном времени именно в контакте???

Так же вопрос, если это не получится сделать приложением в контакте, на каком языке програмирования стоит делать данный проект, что бы потом его интегрировать в сайт?!

Буду премного благодарен ответам, уточняющим вопросам и обсуждениям, так как все находится в зачаточном состоянии и любая информация и мысль способна помочь!

Всем заранее спасибо!!!


PM MAIL   Вверх
SEvg
Дата 21.2.2012, 14:39 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 5.2.2012

Репутация: нет
Всего: нет



Обычно на подобные вопросы отвечают так: "какой язык лучше знаешь на том ипиши".

А вобще, узнай на чём сделаны игры в контакте - на том и делай.
PM MAIL   Вверх
KaraKum
Дата 22.2.2012, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Это проблема, которую я сейчас для себя решаю smile
Решаю очень просто - реализовываю свой язык программирования smile

Суть проблемы в следующем: многопользовательский real-time реализовывается посредством прогона игровой логики одновременно на сервере и всех клиентах с очень частым обновлением (10-15 раз в секунду), что позволяет сократить пинг с помощью предсказаний и прочего. Это весьма общирная тема и о ней следует читать в-отдельности (например из статей Tim'a Sweeny (создателя Unreal Tournament), инноватором является John Carmack) - в этом много тонкостей и большое поле для работы (ping compensation, dead reckoning...).
Так вот, чтобы была возможность прокручивать игровую логику И на клиенте И на сервере - она должна быть написана на таком языке, который можно скомпилять И для клиента И для сервера.
Пример моего случая: у меня сервер на C++, а клиент Unity3D (можно выбрать между JS, AS3, C#).
Я пытался использовать для этого язык HaXe, но он не подошёл даже после модификаций.

Ко всему прочему в real-time мультиплеерных играх можно использовать только UDP для соединения (причины также можно найти в статьях), поэтому Flash (AS3) не подходит. В Unity3D есть UDP, поэтому и выбрал его. Хотя Adobe обещает ввести в своём следующем релизе возможность использования UDP (правда это будет весьма хитро реализовано).

Это сообщение отредактировал(а) KaraKum - 22.2.2012, 16:36
PM MAIL WWW   Вверх
ksnk
Дата 22.2.2012, 17:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



Цитата(KaraKum @  22.2.2012,  16:36 Найти цитируемый пост)
Решаю очень просто - реализовываю свой язык программирования

Оригинальный подход... В свое время мир тоже создавался простыми словами "да будет свет". Правда до появления копьютеров прошло довольно много времени  smile 

Цитата(KaraKum @  22.2.2012,  16:36 Найти цитируемый пост)
Unity3D 

Unity - это JavaScript или/и С#. Вот и ограничение.

На C# несложно слепить серверное приложение, вроде... Так что он вполне себе самодостаточен. 

Mожно ограничится JS для серверных и клиентских узлов, так как на сервере можно ставить Node.js, а клиент Unity очень прилично лопает скрипты на Js. При такой компоновке несложно перекидывать логику с сервера на клиента и обратно, если понадобится.

Другое дело, что писать серверные приложения на Node.Js народ, в основном, опасается, так как очень просто словить сильно неочевидные ошибки с освобождением памяти. Можно почитать про отзывы разработчиков NodeJs. Впрочем, удобнее верить в лучшее  smile 

Есть еще мультиплатформенный клиент - Marmalade - очень приличная платформа, которая основана на С++. Правда она идет за деньги...
Зато она действительно кроссплатформенна... И на С++ чего только не написано...





--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
KaraKum
Дата 22.2.2012, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Цитата(ksnk @  22.2.2012,  18:07 Найти цитируемый пост)
На C# несложно слепить серверное приложение, вроде...

Да и более того - Unity3D идёт с уже готовым сервером. Здесь нужно вдаваться в подробности задуманной игры TS'а. Лично для моей задачи какие-либо managed языки не подошли - слишком медленно. Ну а если планируется реализовать мультиплеер с 8-32 игроками на карте, то вполне, вполне (есть даже такая игра на facebook'е).

P.S. : 
Цитата(ksnk @  22.2.2012,  18:07 Найти цитируемый пост)
Оригинальный подход... В свое время мир тоже создавался простыми словами "да будет свет"

Это не так сложно как кажется  smile . Domain-specific языков, пожалуй, столько же сколько и программистов, а с современными boost::spirit - это ещё проще.

PM MAIL WWW   Вверх
Proud
Дата 25.2.2012, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.4.2010

Репутация: нет
Всего: нет



Да ребят.... очень много новых терминов для меня и новых понятий, но что-то я подчерпнул для себя...

В общем, ребят подведите пожалуйста черту: НА КАКОЙ ПЛАТФОРМЕ ДЕЛАТЬ ИГРУ - например ТЕННИС ВКОНТАКТЕ, что бы ничего не тормозило?! 

Дайте пару советов или наставлений, где искать исполнителей? и как их искать?
PM MAIL   Вверх
ksnk
Дата 25.2.2012, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



Статья на хабре проскочила. Так что нужно писать на Unity, а все остальное приложится. ;)

Вконтакте будут флешовый клиент, на сервере что удобнее/что получится...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.1172 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.