На чем делать клиента?!
От: Лёня  
Дата: 05.10.04 18:53
Оценка:
Есть задача — налабать клиентскую часть для распределенного приложения (игрушка онлайновая). Сначала я думал, что флеш подойдет, но как только взглянул на это чудо, на Экшн Скрипт, понял, что вещи, сложнее чем Масяня там делаются большим потом и кровью (может я что не понял...).

Идеальное решение с точки зрения программирования — клиент на C#, так как сервер тоже на .NET.
Еще вариант на обычном С++ — из соображений скорости...

Так вот вопрос: какой вариант более подходящий?

C# как мне кажется, не подойдет, так как клиентам придется Framework выкачивать...

Посоветуйте что-нибудь..
Re: На чем делать клиента?!
От: retalik www.airbandits.com/
Дата: 05.10.04 19:19
Оценка: 1 (1)
Здравствуйте, Лёня, Вы писали:

Лё>Так вот вопрос: какой вариант более подходящий?

маловато данных.

Например, какие требования к графике, на какие машины рассчитываете, будут ли клиента скачивать через интернет или распространять на CD?

Вообще говоря, я бы посоветовал поглядеть на C#, так как этот выбор позволит реально удешевить и ускорить разработку. Сейчас для .NET есть реализации OpenGL и Direct3D. По скорости не так уж и отстает: здесь обсуждали производительность Q2.NET — игры, скомпилированной под Managed C++. "Проседает" по сравнению с С++ на проценты.

Лё>C# как мне кажется, не подойдет, так как клиентам придется Framework выкачивать...

20 мег — не так уж и много. Сама игрушка с графикой и звуком может потянуть на больший размерчик.

Но и C++ списывать со счетов не стОит, особенно если размер клиента критичен.
Успехов,
Виталий.
Re: На чем делать клиента?!
От: yxiie Украина www.enkord.com
Дата: 05.10.04 19:22
Оценка:
Здравствуйте, Лёня, Вы писали:

Лё>Есть задача — налабать клиентскую часть для распределенного приложения (игрушка онлайновая). Сначала я думал, что флеш подойдет, но как только взглянул на это чудо, на Экшн Скрипт, понял, что вещи, сложнее чем Масяня там делаются большим потом и кровью (может я что не понял...).


Flash штука довольно неоднозначная, с одной стороны это ужасный ActionScript, ужасный по своей торможености и глюкавости, с другой стороны — удобная работа с векторной графикой, интегрированность с браузером, малый размер и.т.д.

Лё>Идеальное решение с точки зрения программирования — клиент на C#, так как сервер тоже на .NET.

Лё>Еще вариант на обычном С++ — из соображений скорости...

Лё>Так вот вопрос: какой вариант более подходящий?


а какого плана игра, какого плана графика, требования к траффику, к клиенту?

Лё>C# как мне кажется, не подойдет, так как клиентам придется Framework выкачивать...


Лё>Посоветуйте что-нибудь..


Лично я бы писал на ActionScript + (PHP || Perl || C++ CGI) т.к. в свое время все баги и "особенности" ActionScript очень хорошо прощупал, сейчас стараюсь не влезать в дебри программирования на Флеш ограничиваясь минимумом скриптов.
с Flash MX 2004 идет версия ActionScript 2.0, говорят там много чего причесали, но сам толком не исследовал. В общем без детальной информации об игре трудно что-то посоветовать, хоть .NET я бы наверное не использовал.
... << RSDN@Home 1.1.3 stable >>
Re[2]: На чем делать клиента?!
От: Лёня  
Дата: 05.10.04 19:59
Оценка:
Ага, уже понял что данных мало для диагноза

Y>Flash штука довольно неоднозначная, с одной стороны это ужасный ActionScript, ужасный по своей торможености и глюкавости, с другой стороны — удобная работа с векторной графикой, интегрированность с браузером, малый размер и.т.д.


Y>а какого плана игра, какого плана графика, требования к траффику, к клиенту?


Игра — многопользовательская пошаговая стрелялка (вроде червей). Требования — легкий клиент, простота скачки и запуска (идеально в этом плане все обстоит у флеша). Требования к траффику минимальные, так как игруха пошаговая. Графику, конечно, хочется красивую и цветастую, anti-aliasing, etc. Но зато графика простая, 2-мерная.

Y>Лично я бы писал на ActionScript + (PHP || Perl || C++ CGI) т.к. в свое время все баги и "особенности" ActionScript очень хорошо прощупал, сейчас стараюсь не влезать в дебри программирования на Флеш ограничиваясь минимумом скриптов.

Y>с Flash MX 2004 идет версия ActionScript 2.0, говорят там много чего причесали, но сам толком не исследовал. В общем без детальной информации об игре трудно что-то посоветовать, хоть .NET я бы наверное не использовал.

Пугает, как во флеше ужасно девелопить что-то отличное от анимаций... Отлаживать запаришься этот акшен скрипт — проверки типов никакой, полный бардак (в седьмом тоже, по сути). Плюс ко всему, я не спец по флешу...

Сервер делается уже на C#, отчасти из-за желания технологию эту освоить, на PHP неохота было делать, так как при разрастании проекта становится туго. На C# проще и в общем нет никаких причин, по которым не стоило бы делать на нем .
Re[2]: На чем делать клиента?!
От: Лёня  
Дата: 05.10.04 20:08
Оценка:
Здравствуйте, retalik, Вы писали:

Лё>>Так вот вопрос: какой вариант более подходящий?

R>маловато данных.

R>Например, какие требования к графике, на какие машины рассчитываете, будут ли клиента скачивать через интернет или распространять на CD?

Графика — красивая 2-мерная, веселая (градиенты разные ). 2-мерная — значит и машины практически любые.

R>Вообще говоря, я бы посоветовал поглядеть на C#, так как этот выбор позволит реально удешевить и ускорить разработку. Сейчас для .NET есть реализации OpenGL и Direct3D. По скорости не так уж и отстает: здесь обсуждали производительность Q2.NET — игры, скомпилированной под Managed C++. "Проседает" по сравнению с С++ на проценты.


и я согласен полностью, что на C# делать такое — просто удовольствие, но...

Лё>>C# как мне кажется, не подойдет, так как клиентам придется Framework выкачивать...

R>20 мег — не так уж и много. Сама игрушка с графикой и звуком может потянуть на больший размерчик.

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

R>Но и C++ списывать со счетов не стОит, особенно если размер клиента критичен.

Ага, критичен.. Ещё как! Может, имеет смысл делать клиента как ActiveX контрол, который прямо на странице будет лежать?
Но тут минус большой — не все браузеры кушают ActiveX..
Re[3]: На чем делать клиента?!
От: yxiie Украина www.enkord.com
Дата: 05.10.04 20:18
Оценка: 2 (1)
Здравствуйте, Лёня, Вы писали:

Лё>Ага, уже понял что данных мало для диагноза


Y>>Flash штука довольно неоднозначная, с одной стороны это ужасный ActionScript, ужасный по своей торможености и глюкавости, с другой стороны — удобная работа с векторной графикой, интегрированность с браузером, малый размер и.т.д.


Y>>а какого плана игра, какого плана графика, требования к траффику, к клиенту?


Лё>Игра — многопользовательская пошаговая стрелялка (вроде червей). Требования — легкий клиент, простота скачки и запуска (идеально в этом плане все обстоит у флеша). Требования к траффику минимальные, так как игруха пошаговая. Графику, конечно, хочется красивую и цветастую, anti-aliasing, etc. Но зато графика простая, 2-мерная.


Под твое описание флеш идеально подходит. Самая большая проблема акшнскрипт — его тормоза тебя не касается, т.к. игра пошаговая. Я бы только на флеш делал.
Еще есть вариант — Java но тут наверное гемороя еще буольше будет, особенно для непосвященных

Y>>Лично я бы писал на ActionScript + (PHP || Perl || C++ CGI) т.к. в свое время все баги и "особенности" ActionScript очень хорошо прощупал, сейчас стараюсь не влезать в дебри программирования на Флеш ограничиваясь минимумом скриптов.

Y>>с Flash MX 2004 идет версия ActionScript 2.0, говорят там много чего причесали, но сам толком не исследовал. В общем без детальной информации об игре трудно что-то посоветовать, хоть .NET я бы наверное не использовал.

Лё>Пугает, как во флеше ужасно девелопить что-то отличное от анимаций... Отлаживать запаришься этот акшен скрипт — проверки типов никакой, полный бардак (в седьмом тоже, по сути). Плюс ко всему, я не спец по флешу...


Ну отсутствие проверки типов ТАМ скорее плюс чем минус. ActionScript очень похож на JavaScript так как оба делалсиь по стандарту ECMA-262, вот только акшнскрипт не полностью удовлетворяет стандарт в силу своей специфичности. На самом деле там все просто, и освоить его на порядок проще и быстрее, чем то же C# или Java

Лё>Сервер делается уже на C#, отчасти из-за желания технологию эту освоить, на PHP неохота было делать, так как при разрастании проекта становится туго. На C# проще и в общем нет никаких причин, по которым не стоило бы делать на нем .


имеется ввиду ASP? если как-то по другому, боюсь с флешем связать не получится.
... << RSDN@Home 1.1.3 stable >>
Re[3]: На чем делать клиента?!
От: yxiie Украина www.enkord.com
Дата: 05.10.04 20:18
Оценка: 1 (1) +1
Здравствуйте, Лёня, Вы писали:

R>>Но и C++ списывать со счетов не стОит, особенно если размер клиента критичен.

Лё>Ага, критичен.. Ещё как! Может, имеет смысл делать клиента как ActiveX контрол, который прямо на странице будет лежать?
Лё>Но тут минус большой — не все браузеры кушают ActiveX..

ActiveX еще не каждый решится установить. Я, например, в жизни никакие левые ActiveX контролы не поставил бы, а у многих они вообще в настройках отключены.
... << RSDN@Home 1.1.3 stable >>
Re[4]: На чем делать клиента?!
От: Лёня  
Дата: 05.10.04 20:31
Оценка:
Лё>>Игра — многопользовательская пошаговая стрелялка (вроде червей). Требования — легкий клиент, простота скачки и запуска (идеально в этом плане все обстоит у флеша). Требования к траффику минимальные, так как игруха пошаговая. Графику, конечно, хочется красивую и цветастую, anti-aliasing, etc. Но зато графика простая, 2-мерная.

Y>Под твое описание флеш идеально подходит. Самая большая проблема акшнскрипт — его тормоза тебя не касается, т.к. игра пошаговая. Я бы только на флеш делал.

Y>Еще есть вариант — Java но тут наверное гемороя еще буольше будет, особенно для непосвященных

Java — примерно подходит так же, как и C#, так как JRE надо ставить.. Тормозная она слегка к тому же.

Лё>>Пугает, как во флеше ужасно девелопить что-то отличное от анимаций... Отлаживать запаришься этот акшен скрипт — проверки типов никакой, полный бардак (в седьмом тоже, по сути). Плюс ко всему, я не спец по флешу...


Y>Ну отсутствие проверки типов ТАМ скорее плюс чем минус. ActionScript очень похож на JavaScript так как оба делалсиь по стандарту ECMA-262, вот только акшнскрипт не полностью удовлетворяет стандарт в силу своей специфичности. На самом деле там все просто, и освоить его на порядок проще и быстрее, чем то же C# или Java


Опыта работы с флешем и его ActionScript у меня практически нет, может поэтому кажется что все так криво в нем.. Но когда переходишь с c++/c# на ActionScript, то получается шок .

Лё>>Сервер делается уже на C#, отчасти из-за желания технологию эту освоить, на PHP неохота было делать, так как при разрастании проекта становится туго. На C# проще и в общем нет никаких причин, по которым не стоило бы делать на нем .


Y>имеется ввиду ASP? если как-то по другому, боюсь с флешем связать не получится.

Связь то с флешем — не проблема — через XML или XMLSocket, сейчас сделана (пока) просто страничка которая запрос-ответ обрабатывает через POST.
Re: На чем делать клиента?!
От: Prond  
Дата: 06.10.04 10:37
Оценка:
Здравствуйте, Лёня, Вы писали:

Лё>Есть задача — налабать клиентскую часть для распределенного приложения (игрушка онлайновая). Сначала я думал, что флеш подойдет, но как только взглянул на это чудо, на Экшн Скрипт, понял, что вещи, сложнее чем Масяня там делаются большим потом и кровью (может я что не понял...).


Лё>Идеальное решение с точки зрения программирования — клиент на C#, так как сервер тоже на .NET.

Лё>Еще вариант на обычном С++ — из соображений скорости...

Лё>Так вот вопрос: какой вариант более подходящий?


Лё>C# как мне кажется, не подойдет, так как клиентам придется Framework выкачивать...


Лё>Посоветуйте что-нибудь..


Ну если требований к быстродействию практически нет, так и пиши на том, что удобнее. C# раздует размер клиента до неприличия.
Пиши на Delphi или C++, клиентам будет по барабану что там внутри.
Re[2]: На чем делать клиента?!
От: WolfHound  
Дата: 06.10.04 15:42
Оценка:
Здравствуйте, Prond, Вы писали:

P>C# раздует размер клиента до неприличия.

Правда? Вот только практика показывает что бинарники у шарпа меньше. Хотя конечно придется качать фреймворк но
1)Он может быть уже установлен.
2)Качать его нужно один раз.
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: На чем делать клиента?!
От: Prond  
Дата: 07.10.04 04:48
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Prond, Вы писали:


P>>C# раздует размер клиента до неприличия.

WH>Правда? Вот только практика показывает что бинарники у шарпа меньше. Хотя конечно придется качать фреймворк но
WH>1)Он может быть уже установлен.
WH>2)Качать его нужно один раз

Да я не против .NET
Только вот человек желает минимального размера клиента. То что качать всего один раз надо — ничего не меняет.
Re[3]: На чем делать клиента?!
От: tarkil Россия http://5209.copi.ru/
Дата: 02.12.05 16:11
Оценка: :)
Здравствуйте, Лёня, Вы писали:

Лё>Игра — многопользовательская пошаговая стрелялка (вроде червей). Требования — легкий клиент, простота скачки и запуска (идеально в этом плане все обстоит у флеша). Требования к траффику минимальные, так как игруха пошаговая. Графику, конечно, хочется красивую и цветастую, anti-aliasing, etc. Но зато графика простая, 2-мерная.


Просто интересуюсь, как дела, как опыт юзанья .NET в игре? Если проект пошёл, то где хостишься? Просто я сам сейчас подумываю о .NET в качестве игрового сервера...
--
wbr, Peter Taran
Re[5]: На чем делать клиента?!
От: Cider Россия  
Дата: 05.12.05 09:37
Оценка:
Здравствуйте, Лёня, Вы писали:

Лё>Java — примерно подходит так же, как и C#, так как JRE надо ставить..


Не надо. Если писать под версию 1.1, то работать будет много где без каких-либо дополнительных установок.
Другое дело, что для данной задачи флэш на мой взгляд все-таки удобнее. Тем более, яву вы тоже не знаете.

Лё>Тормозная она слегка к тому же.


Не тормознее флеша.
Cider
Re[3]: На чем делать клиента?!
От: EXO Россия http://www.az.inural.ru
Дата: 05.12.05 11:49
Оценка:
Здравствуйте, Лёня, Вы писали:

Лё>Вот поэтому-то и не поканает, так как игруха сама, по плану, должна быть маленькая, работать на странице в браузере, то есть примерно так — тыкнул человек в ссылку, и открылась игрушка — это идеальный вариант. Не идеальный — тыкает в _маленький_ екзешник, выкачивает его и запускает.


Пришла в голову одна забавная мысль:
OpenGL — это не только библиотека, но и протокол. Достаточно простой протокол управления видеокартой, и он даже не сильно обернут в библиотеке (практически один в один соответсвие).
То есть решение: на клиенте маленький ActiveX, который хватает из сокета команды и пихает их в OpenGL, а в ответ кидает действия юзера. Вся остальная логика — на сервере.
Re[3]: На чем делать клиента?!
От: Аноним  
Дата: 05.12.05 15:17
Оценка:
Здравствуйте, Лёня, Вы писали:

Лё>Вот поэтому-то и не поканает, так как игруха сама, по плану, должна быть маленькая, работать на странице в браузере, то есть примерно так — тыкнул человек в ссылку, и открылась игрушка — это идеальный вариант. Не идеальный — тыкает в _маленький_ екзешник, выкачивает его и запускает.


R>>Но и C++ списывать со счетов не стОит, особенно если размер клиента критичен.

Лё>Ага, критичен.. Ещё как! Может, имеет смысл делать клиента как ActiveX контрол, который прямо на странице будет лежать?
Лё>Но тут минус большой — не все браузеры кушают ActiveX..

Может, тебе Java подойдёт?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.