dr_klm: (Default)
[personal profile] dr_klm
Еще в конце прошлого года (не знаю по какому поводу) решил глянуть современные космические стратегии. Да, есть множество интересных идей, красивая графика, но все равно, мне не попалось ничего, что я мог бы поставить однозначно выше старой доброй Galaxy. Наиболее перспективной мне показалась игра Star Ruler, но и в ней создатели допустили ряд фундаментальных, с моей точки зрения, просчетов:
реальное время
Игра в реальном времени требует постоянного внимания. Игрок находится в состоянии прессинга: подумать или быстро походить. Стратегия, полученная в результате такой игры не вызывает эстетического наслаждения. Многие вещи, как потом оказывается, можно было сделать лучше "если бы было время".
трехмерная карта
Да, мы живем в трехмерном мире. Ну и что ? Разве его учет стоит той сложности ? Нет, не в визуализации. Благодаря OpenGL и Direct 3D отрисовать трехмерную карту не составляет никакого труда. Сложности в восприятии и анализе информации, представленной в трех измерениях. Постоянно приходится вертеть изображение, что-то постоянно закрывает что-то другое... Мне кажется, эта сложность излишняя. Но особенно парадоксально поступили в игре Star Ruler, где сделали карту в форме спиральной (практически плоской) галактики, конечной толшины (т.е. с примерно равномерным распределением звезд в трехмерном блине). Это, я бы сказал, worst of both worlds.
дерево технологий
Впервые придуманное для игры "Цивилизация" (Francis Tresham), популяризованное в одноименной игре от Сида Мейера, и доведенное дальнейшим развитием до абсурда. Концепция дерева технологий просто засоряет мозг. Зачем все это помнить ? Разве стратегия -- это соревнование на лучшую память ? В Star Ruler умело исключили это последнее сомнение, рандомизировав дерево и сделав, тем самым, его запоминание бессмысленным. Но, тем более, зачем тогда забивать бессмыслицей мозг ? Фотонные генераторы, протонные торпеды, трилитиум... Это-ж сколько нужно было курить ? ;-)
Посмотрел я на это все еще в конце прошлого года. И, как я уже сказал, не нашел ничего, что по своему сочетанию глубины и простоты могло бы соперничать с Galaxy. Возможно я ошибаюсь. Если знаете -- shoot ! ;-)

Но я таки, не нашел и сделал выводы. Один из них тот, что Galaxy PBW неплохо бы оживить. Конечно, нельзя просто так взять и запустить старый сайт. Время ушло вперед и старые технологии выглядели бы сегодня коряво (я проверял ;-). Кроме того, Ява так и не прижилась в браузерах и апплеты вызывают, скорее, отторжение у пользователей. Это уже не модно. Понятно, что если делать такую игру сегодня -- писать клиент нужно с использованием технологии AJAX, чтоб работало в любом простом веб-браузере без дополнительной установки чего либо. В связи с этим начал я еще в прошлом году присматриваться к JavaScript, HTML5, Canvas... Даже начал было писать простенькую рыбу... Но, оценив трудозатраты, понял, что задача для одного человека на год, как минимум (это чтоб хотя-бы просто переписать на JavaScript, не говоря уже об отладке в разных браузерах, что, наверное, делает портирование такой сложной программы как Galaxy практически неподъемной задачей).

А потом я открыл для себя GWT, который умеет компилировать Яву в JavaScript для всех поддерживаемых браузеров отдельно. Написав, уже в этом году, за несколько дней рыбу клиента (пока без декораций, но уже со всеми основными функциональными элементами; проверено пока только в Firefox) я понял, что портирование Galaxy PBW под GWT -- не такая уж и неподъемная задача. Причем основную массу кода, учитывающего множество тонких ньюансов, отлаженного на протяжении почти десяти лет, удалось бы сохранить (а если и изменить, то только ради совершенствования, а не под прессингом перехода на новую платформу).

Теперь вопрос к публике. Стоит ли оно того ? Или браузерные клеточные игрушки, вызывающие по принципу тамагочи у человека приступы многочасового бессмысленного гриндинга и есть вершина пирамиды современных онлайн компьютерных игр ? ;-)

Date: 2011-01-18 07:17 pm (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
На эти вопросы у меня нет ответа.

Date: 2011-01-18 07:27 pm (UTC)
From: [identity profile] dr-klm.livejournal.com
Кстати, от Вас то я в первую очередь его и ожидал.

А по вводной части Вы со мной согласны ? Имеет ли смысл Galaxy (Не обязательно PBW) в наше время ? Существует ли эта ниша ? Занята ли она чем-либо другим ?

К.Л.М.

Date: 2011-01-18 08:15 pm (UTC)
From: [identity profile] degtyarchuk.livejournal.com
перекомпилить можно, но скорость, чистота кода...
например, привёл бы кусочки кода. какой-нить модуль, который делает одно и то же, но на яве кусок и на яваскрипте кусок для сравнения.

Date: 2011-01-18 08:23 pm (UTC)
From: [identity profile] dr-klm.livejournal.com
Я приведу чуть позже, когда выложу исходники. Но там все реально круто ! Код на Javascript, конечно, получается нечитабельным, на исходную Яву не похож вообще. Но работает. Причем _быстрее_, чем написанный вручную.

К.Л.М.

Date: 2011-01-19 07:44 am (UTC)
From: [identity profile] ros-white.livejournal.com
http://www.bloove.com, 3 года как работает

Date: 2011-01-19 07:46 am (UTC)
From: [identity profile] ros-white.livejournal.com
В смысле на GWT написано и не жалуемся :)

Date: 2011-01-18 09:08 pm (UTC)
From: [identity profile] gillidu.livejournal.com
А какая цель? Код ради чистого интеллектуального эстетства? или чтобы денег заработать?

Date: 2011-01-18 10:28 pm (UTC)
From: [identity profile] dr-klm.livejournal.com
Ну вообще-то, именно так, как и в прошлый раз, ради чистого интеллектуального эстетства.

Да, парочку баннеров можно было бы повесить в этот раз. А как еще можно на такой игре заработать ? Ну не принимать-же ставки ? Да это и противозаконно, вроде бы, по крайней мере на Украине.

К.Л.М.

Date: 2011-01-19 04:09 pm (UTC)
From: [identity profile] gillidu.livejournal.com
ну есть разные способы,,, для флеша есть тот же конгрегейт, наверное что-то типа такого есть для java, а так как у джавы с кросплатформеностью хорошо можно и на телефон сделать у андроида есть сов магазин напрмер там игр очень мало а нормлаьных еще меньше

Date: 2011-01-18 10:01 pm (UTC)
From: [identity profile] fester-ua.livejournal.com
Мне кажется, что создание если не точного клона Galaxy, то по крайней мере его упрощённой версии на базе того же facebook интересная штука, и даже может принести некий профит. Это если подходить к делу прагматично. А из чистой эстетики, кросс-компилирование Java в JavaScript добром не закончится, хоть начинание и благое.

Date: 2011-01-18 10:42 pm (UTC)
From: [identity profile] dr-klm.livejournal.com
Конечно, идеал, который у меня в голове подразумевает поддержку OpenID и, по возможности, любых других авторизационных API. Просто раньше, когда я делал первую версию, их не было.

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

Если говорить о кросс-компилировании Java в Javascript как таковом, то Google Web Toolkit мне кажется очень перспективным проектом. Если говорить о Galaxy PBW, то просто перекомпилировать не получится. Получится перекомпилировать практически без изменений серверную часть, тоесть собственно симуляцию, реализующую правила*. Графический клиент, скорее всего, прийдется писать заново. Тоесть в нем тоже можно будет использовать старые наработки, но просто перекомпилировать не получится.

К.Л.М.

* Хотя и симуляцию тоже нужно править. Дело в том, что отчеты в Galaxy PBW хранились в виде сериализованных явовских объектов. Как только на Galaxy PBW сервере начались регулярные игры, это сильно ограничило меня в возможности вносить изменения в серверные объекты. Нужно было поддерживать совместимость сериализованной версии. С тех пор вышло несколько новых версий Явы, несколько раз поменялась парадигма языка в целом. Конечно, если по-серьезному, то и симуляцию нужно будет реогранизовать (сохранив алгоритмы).

Date: 2011-01-18 10:51 pm (UTC)
From: [identity profile] dr-klm.livejournal.com
Кстати, общая концепция при написании клиента, как и раньше -- предоставить максимальное количества возможностей для интерактивного моделирования будущего и проигрыша "в симуляции" всевозможных сценариев "what if". Именно для этого клиент, перекомпилированный в Яваскрипт, и должен содержать серверный симуляционный код. Это, кстати, одна из принципиальных особенностей Galaxy PBW. Тоесть, хоть игра и пошаговая, она очень интерактивна !

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

К.Л.М.

Date: 2011-05-17 01:35 am (UTC)
From: [identity profile] gcugreyarea.livejournal.com
Орион второй всех указанных недостатков не имел вроде?

Date: 2011-05-17 12:34 pm (UTC)
From: [identity profile] dr-klm.livejournal.com
Да, орион 2 пошаговый, из указанных мной недостатков в нем присутствует "дерево технологий".

Кстати, я таки подумал-попробовал, кое что, конечно, сделал... но решил таки отложить PBW RE на неопределенный срок. Слишком большой проект для меня сейчас, да и не хочет по-моему народ сейчас шахмат. Но вообще код карман не тянет. Полежит, отлежится, может быть еще к нему вернусь.

К.Л.М.

Profile

dr_klm: (Default)
Dr. K. L. Metlov

March 2017

S M T W T F S
   1234
567891011
1213141516 1718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 22nd, 2025 07:55 pm
Powered by Dreamwidth Studios