Онлайн игра Менеджер, или Монополия по Русски

Онлайн игра Менеджер, или Монополия по РусскиРубрика: Новости -> Игры
Четверг, 9 мая 2013 г.
Просмотров: 19322
Настроение: Нормальное
В колонках звучит: Не ниче не играет)))
Подписаться на комментарии по RSS

Давно нужно было написать этот пост, но пишу вот сейчас.

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

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

Поискав еще в интернете немного информации по игре менеджер, я нашел отсканированные карточки и игровое поле, подрисовал немного и восстановил некоторые части от поля, так как оно было немного ненадлежащего вида.

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

Еще пока я искал онлайн менеджер, я наткнулся на официальный сайт игры, там вроде как ищут инвесторов на написание онлайн версии менеджера и уже давно, но меня это не волнует, еще посмотрел в контактах на сайте указаны 2 патента, первый из них закончил свое действие в 2003 если не ошибаюсь, а второй 4 июня 2013, но последний могли продлить, хотя и это тоже меня не остановило, так как патент на коробочную версию игры из картона, а патент записан как для промышленного образцаgrin забавно даже.

Вообщем вдохновившись идеей о написании онлайн игры, я подумал что если игра обретет хоть какой то успех, то я сделаю версию для десктопа, т.е для windows, но тоже онлайн - по задумке неважно в какую версию ты играешь, все игроки будут связаны одной партией игры, еще думаю сделать версию для вконтакте - методом переделки web версии.

Серверную часть как всегда выполняю на  php, браузерную соответственно html, javascript с библиотекой jquery - ее я почему то всегда старался избегать и писал что мне нужно было на чистом js, кстати что мне не понравилось в онлайн играх монополии, это то что они написаны полностью на flash, а яже хочу на нем сделать только аудиочат на 5 игроков.

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

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

Подумав подумав я пришел к выводу что каждый раз обновлять все поле не нужно, а только ту часть которая подлежит изменениям, для этого идеально подходит запись логов игры и чтению последних изменений, и для этого я написал 2 функции: 1 - это структурированная запись логов со своим API, а 2 - соответственно их чтение из файлов.

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

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

Самым страшным для меня казалось это написание обработки всех сюрпризов и извещений, но на практике же все вышло очень просто, гораздо сложнее писать правильную последовательность хода игры, здесь нужно учитывать множество нюансов, о которых на "старте" я даже и не думал, к примеру такая ситуация: у игрока закончились деньги, но остались карточки на земли, по первоначальным условиям было что если баланс игрока уходит в минус он проигрывает, но в реале, он ведь может их продать в банк, или выставить на аукцион. Я сделал функцию авто-продажи филиалов и карточек на землю, но ее нужно применять в крайнем случае, если игрок сам не совершает никаких действий - не выбирает какие филиалы, или карточки ему продать, или выставить на аукцион. Этот момент еще остается не до конца разработан, но я решение придумал кажется))).

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

Вообще я переделал немного правила игры, важными изменениями является то, что игрок может строить филиал, или предприятие только тогда, когда находится на своем поле, и строить он их может независимо от того, есть ли у него все 3 карточки одного цвета, или нет. Все 3 карточки одного цвета дают игроку только удвоение стоимости за аренду. И еще на старте игрок получает всего 20000, вместо 200000.

- Все эти изменения в правилах мы практикуем на обычной картонной игре, в онлайн игре я сделаю по возможности настройку множества параметров, к примеру финализировать игру можно будет не обанкрочиванием всех игроков, а достижением определенной суммы денег, которая заранее задается перед стартом игры. Были еще какие то идеи, но пока я их не реализовал и щас не могу вспомнить:-D.

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

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

Пока я не сильно распространяюсь с информацией о написании онлайн

менеджера, но если ты читатель прочитал мой пост, я могу выслушать от

тебя всякие идеи по поводу доработки игры.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Комментариев: 9

  1. Можете сообщить по эл. почте pavel-32024@yandex.ru когда выйдет игра.

    Как стать бета-тестером?

    Будет ли в игре игра на "реал"?

  2. Павел, хорошо я отпишу когда выйдет рабочая версия)), на самом деле в нее и сейчас играть можно, но она не имеет нормальной финализации, пока времени нет доделывать ее, и еще такой функционал как аукцион тоже не доделан до конца, а для общения между игроками я вообще пока ничего не делал.

    Для тестирования у меня есть несколько человек, когда нужно было проверить играбельность, мы проверяли и выявляли недочеты, а так когда я сделаю уже до конца рабочую версию, все кто в нее будет играть, по сути и будут бета тестерами))). Ты один из первых узнаешь о запуске игры ))

    Про реал я думал, но хотел его делать только в том случае если игра будет востребованна.

  3. 2013-06-30 в 16:14:40 | Максим (pochtavma@mail)

    В бета версию еще не возможно поиграть?

  4. Максим, пока нет возможности предоставить всем подряд доступ к игре, как только я пущу игру в паблик, я обязательно сообщу здесь в комментариях.

  5. 2013-07-01 в 19:42:25 | Максим (pochtavma@mail)

    когда ожидается релиз?

  6. Все зависит от моего желания поскорее доделать игру, я надеюсь что к началу августа, а может быть и раньше я разрешу регистрацию и официально объявлю о запуске игры.

  7. прекрасная игра всем советуюgrin

  8. pavel-32024@yandex.ru

    Ну и где игра?))

  9. Игру делал в свое удовольствие, а щас пока нет возможности посидеть и покодить спокойно(((. Надеюсь что вскоре будет такая возможность.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

(войти без комментирования)

Имя и сайт используются только при регистрации

Если указать email (зарегистрироваться), то будет уведомление о новых комментариях.

Выберите человечка с поднятой рукой!