Galaxy PBW RE
Jan. 18th, 2011 08:57 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Еще в конце прошлого года (не знаю по какому поводу) решил глянуть современные космические стратегии. Да, есть множество интересных идей, красивая графика, но все равно, мне не попалось ничего, что я мог бы поставить однозначно выше старой доброй Galaxy. Наиболее перспективной мне показалась игра Star Ruler, но и в ней создатели допустили ряд фундаментальных, с моей точки зрения, просчетов:
Но я таки, не нашел и сделал выводы. Один из них тот, что Galaxy PBW неплохо бы оживить. Конечно, нельзя просто так взять и запустить старый сайт. Время ушло вперед и старые технологии выглядели бы сегодня коряво (я проверял ;-). Кроме того, Ява так и не прижилась в браузерах и апплеты вызывают, скорее, отторжение у пользователей. Это уже не модно. Понятно, что если делать такую игру сегодня -- писать клиент нужно с использованием технологии AJAX, чтоб работало в любом простом веб-браузере без дополнительной установки чего либо. В связи с этим начал я еще в прошлом году присматриваться к JavaScript, HTML5, Canvas... Даже начал было писать простенькую рыбу... Но, оценив трудозатраты, понял, что задача для одного человека на год, как минимум (это чтоб хотя-бы просто переписать на JavaScript, не говоря уже об отладке в разных браузерах, что, наверное, делает портирование такой сложной программы как Galaxy практически неподъемной задачей).
А потом я открыл для себя GWT, который умеет компилировать Яву в JavaScript для всех поддерживаемых браузеров отдельно. Написав, уже в этом году, за несколько дней рыбу клиента (пока без декораций, но уже со всеми основными функциональными элементами; проверено пока только в Firefox) я понял, что портирование Galaxy PBW под GWT -- не такая уж и неподъемная задача. Причем основную массу кода, учитывающего множество тонких ньюансов, отлаженного на протяжении почти десяти лет, удалось бы сохранить (а если и изменить, то только ради совершенствования, а не под прессингом перехода на новую платформу).
Теперь вопрос к публике. Стоит ли оно того ? Или браузерные клеточные игрушки, вызывающие по принципу тамагочи у человека приступы многочасового бессмысленного гриндинга и есть вершина пирамиды современных онлайн компьютерных игр ? ;-)
- реальное время
- Игра в реальном времени требует постоянного внимания. Игрок находится в состоянии прессинга: подумать или быстро походить. Стратегия, полученная в результате такой игры не вызывает эстетического наслаждения. Многие вещи, как потом оказывается, можно было сделать лучше "если бы было время".
- трехмерная карта
- Да, мы живем в трехмерном мире. Ну и что ? Разве его учет стоит той сложности ? Нет, не в визуализации. Благодаря OpenGL и Direct 3D отрисовать трехмерную карту не составляет никакого труда. Сложности в восприятии и анализе информации, представленной в трех измерениях. Постоянно приходится вертеть изображение, что-то постоянно закрывает что-то другое... Мне кажется, эта сложность излишняя. Но особенно парадоксально поступили в игре Star Ruler, где сделали карту в форме спиральной (практически плоской) галактики, конечной толшины (т.е. с примерно равномерным распределением звезд в трехмерном блине). Это, я бы сказал, worst of both worlds.
- дерево технологий
- Впервые придуманное для игры "Цивилизация" (Francis Tresham), популяризованное в одноименной игре от Сида Мейера, и доведенное дальнейшим развитием до абсурда. Концепция дерева технологий просто засоряет мозг. Зачем все это помнить ? Разве стратегия -- это соревнование на лучшую память ? В Star Ruler умело исключили это последнее сомнение, рандомизировав дерево и сделав, тем самым, его запоминание бессмысленным. Но, тем более, зачем тогда забивать бессмыслицей мозг ? Фотонные генераторы, протонные торпеды, трилитиум... Это-ж сколько нужно было курить ? ;-)
Но я таки, не нашел и сделал выводы. Один из них тот, что Galaxy PBW неплохо бы оживить. Конечно, нельзя просто так взять и запустить старый сайт. Время ушло вперед и старые технологии выглядели бы сегодня коряво (я проверял ;-). Кроме того, Ява так и не прижилась в браузерах и апплеты вызывают, скорее, отторжение у пользователей. Это уже не модно. Понятно, что если делать такую игру сегодня -- писать клиент нужно с использованием технологии AJAX, чтоб работало в любом простом веб-браузере без дополнительной установки чего либо. В связи с этим начал я еще в прошлом году присматриваться к JavaScript, HTML5, Canvas... Даже начал было писать простенькую рыбу... Но, оценив трудозатраты, понял, что задача для одного человека на год, как минимум (это чтоб хотя-бы просто переписать на JavaScript, не говоря уже об отладке в разных браузерах, что, наверное, делает портирование такой сложной программы как Galaxy практически неподъемной задачей).
А потом я открыл для себя GWT, который умеет компилировать Яву в JavaScript для всех поддерживаемых браузеров отдельно. Написав, уже в этом году, за несколько дней рыбу клиента (пока без декораций, но уже со всеми основными функциональными элементами; проверено пока только в Firefox) я понял, что портирование Galaxy PBW под GWT -- не такая уж и неподъемная задача. Причем основную массу кода, учитывающего множество тонких ньюансов, отлаженного на протяжении почти десяти лет, удалось бы сохранить (а если и изменить, то только ради совершенствования, а не под прессингом перехода на новую платформу).
Теперь вопрос к публике. Стоит ли оно того ? Или браузерные клеточные игрушки, вызывающие по принципу тамагочи у человека приступы многочасового бессмысленного гриндинга и есть вершина пирамиды современных онлайн компьютерных игр ? ;-)
no subject
Date: 2011-01-18 07:17 pm (UTC)no subject
Date: 2011-01-18 07:27 pm (UTC)А по вводной части Вы со мной согласны ? Имеет ли смысл Galaxy (Не обязательно PBW) в наше время ? Существует ли эта ниша ? Занята ли она чем-либо другим ?
К.Л.М.
no subject
Date: 2011-01-18 08:15 pm (UTC)например, привёл бы кусочки кода. какой-нить модуль, который делает одно и то же, но на яве кусок и на яваскрипте кусок для сравнения.
no subject
Date: 2011-01-18 08:23 pm (UTC)К.Л.М.
no subject
Date: 2011-01-19 07:44 am (UTC)no subject
Date: 2011-01-19 07:46 am (UTC)no subject
Date: 2011-01-18 09:08 pm (UTC)no subject
Date: 2011-01-18 10:28 pm (UTC)Да, парочку баннеров можно было бы повесить в этот раз. А как еще можно на такой игре заработать ? Ну не принимать-же ставки ? Да это и противозаконно, вроде бы, по крайней мере на Украине.
К.Л.М.
no subject
Date: 2011-01-19 04:09 pm (UTC)no subject
Date: 2011-01-18 10:01 pm (UTC)no subject
Date: 2011-01-18 10:42 pm (UTC)В Galaxy все очень логично, правила, коэффициенты и формулы оттачивались (еще до моего PBW) десятилетиями. Конечно, правила -- это не выбитый в камне абсолют, но что-то очень близкое к этому. Их, конечно, можно менять, но только после тщательного обсуждения с опытными игроками. Иначе, очень быстро наплодятся новые сущности, которые, кроме названий, не принесут ничего реально нового в игру.
Если говорить о кросс-компилировании Java в Javascript как таковом, то Google Web Toolkit мне кажется очень перспективным проектом. Если говорить о Galaxy PBW, то просто перекомпилировать не получится. Получится перекомпилировать практически без изменений серверную часть, тоесть собственно симуляцию, реализующую правила*. Графический клиент, скорее всего, прийдется писать заново. Тоесть в нем тоже можно будет использовать старые наработки, но просто перекомпилировать не получится.
К.Л.М.
* Хотя и симуляцию тоже нужно править. Дело в том, что отчеты в Galaxy PBW хранились в виде сериализованных явовских объектов. Как только на Galaxy PBW сервере начались регулярные игры, это сильно ограничило меня в возможности вносить изменения в серверные объекты. Нужно было поддерживать совместимость сериализованной версии. С тех пор вышло несколько новых версий Явы, несколько раз поменялась парадигма языка в целом. Конечно, если по-серьезному, то и симуляцию нужно будет реогранизовать (сохранив алгоритмы).
no subject
Date: 2011-01-18 10:51 pm (UTC)Точнее, интерактивен и итеративен процесс подготовки хода. Игрок прорабатывает разные варианты, дает команды за противников (а что если ?) симулирует многократно сражения и вычисляет вероятности нужного ему хода. Сохраняет, уходит, думает и возвращается, вызывая клиент снова и уточняя команды. И только раз в несколько дней (или раз в день, но это уже быстро и называется в Галакси "блиц") происходит, собственно, настоящий ход на сервере.
К.Л.М.
no subject
Date: 2011-05-17 01:35 am (UTC)no subject
Date: 2011-05-17 12:34 pm (UTC)Кстати, я таки подумал-попробовал, кое что, конечно, сделал... но решил таки отложить PBW RE на неопределенный срок. Слишком большой проект для меня сейчас, да и не хочет по-моему народ сейчас шахмат. Но вообще код карман не тянет. Полежит, отлежится, может быть еще к нему вернусь.
К.Л.М.