Начало
Итак, что же нам нужно для начала? А для начала нам нужна сама идея игры. Опустим этот момент, так как к технической стороне он не имеет отношения. Представим, что идея у нас уже есть, продумана и готова к осуществлению. После этого нам понадобится человек, умеющий хорошо владеть фотошопом или гимпом, чтобы нарисовать дизайн сайта будущей игры. Как только такой человек будет найден, будут нарисованы дизайн сайта и его наполнение, вот тут-то и нужно будет найти веб-пограммиста, который напишет сам сайт. Но сначала нужно решить одну вещь - на чем же будет наша игра? Для примера предположим, что игра будет сделана на популярном сейчас Adobe Flash, как, например, Легенда, наследие драконов.В таком случае нам нужен будет еще и человек, хорошо владеющий инструментами создания флэш-контента. Итак, дизайн разработан, флэшки нарисованы, приступаем к разработке сайта игры.
Сайт
Что же представляет собой наша игра, когда она сделана? Правильно сайт с флэш-контентом, ведь она браузерная. Итак, снимаем хостинг, регистрируем красивое доменное имя, и отдаем дело в руки веб-программиста. Он размещает на странице все флэш-элементы в соответствии с дизайном, ну а дальше остается решить, как же все это будет взаимодействовать с пользователем и с сервером?Взаимодействие между собой элементов игры
Канал интернета у пользователей может быть разный, будем исходить из того, что он маленький. Да и сервер загружать большими объемами информации и расчетами как-то нехорошо, иначе тут понадобится уже кластер, а не 1 сервер.Поскольку передавать нужно лишь небольшие объемы данных, можно сделать вывод, что расчеты урона в боях, рандомность выпадения денег из мобов и прочее будет просчитываться на клиентской машине, а на сервер только лишь передаваться результаты. Например, пользователь вступил в бой с мобом. Все расчеты урона и прочее целесообразно вести на клиентской машине, передавая на сервер в самом конце лишь информацию об общем уроне и прочем, что нужно для статистики. С боями с другими персонажами посложнее.
Например, пользователь вступает в бой с другим пользователем, нужно рассчитать урон от удара на клиентской машине, передать его на сервер, который передаст его второму пользователю, и у обоих с небольшой задержкой относительно друг друга выскочат на экране циферки, обозначающие урон. После завершения боя нужно передать на сервер информацию о том, сколько урона нанес пользователь в целом, и прочее, как в первом варианте. В обоих случаях сервер лишь передаточное звено, а не тот элемент системы, на котором ведутся расчеты, т.е. нагрузка на него минимальна.
Клиент игры
Написание клиента для игры тоже очень важный момент.По сути, клиент игры представляет собой всего лишь браузер с сохраненный кэшем, благодаря чему не придется постоянно качать неопределенные объемы флэш-контента. Но есть и еще один момент в клиента, который нужно учесть. В него можно запихать некоторые "плюшки", которые могут упростить жизнь простому игроку, автоматизировав некоторые действия, такие как реклама своих услуг в чате, автоматическая ходилка по локациям и т.д.
Как это реализовать? Да очень просто. Для этого к предыдущему пункту добавляется еще и написание серверного API игры, общаться с которым и будет клиент. Итак, клиент игры будет выглядеть так: окно с основным браузером, кэш которого сохранен на винчестере, в нем происходит сама игры. А также должен быть скрытый браузер, который как раз таки и будет общаться с API. Например, для того, чтобы отправить в чат сообщение с рекламой достаточно послать вторым браузером API запрос примерно такого вида:
http://mygame.org.ru/chat.php?type_chat="2"message="Покупайте мою траву!"
Сервер получит запрос, и в указанном чате появится ваше сообщение. Происходить это будет в скрытом режиме, пользователь не будет принимать участия, кроме как настройки времени запросов и частоты сообщений.
Выводы
Итак, каков же вывод из данной статьи? Вторым пунктом будет флэшер, который сделает грубо говоря все элементы игры, такие как бои, локации и т.д.- Для начала нужно придумать сюжет игры
- Найти дизайнера, который сделает дизайн сайта в целом, а так же поможет нарисовать картинки для флэшэк
- Найти флэшера, который возьмется нарисовать флэшки, и заставит их обмениваться инфой с сервером
- Найти веб-программиста, который соберет все это воедино, свяжет с БД и заставит работать как надо
- Найти прикладного программиста, который поможет веб-программисту с разработкой API, а так же написет клиент, общающийся с этим API
- Распиарить игру, чтобы плоды всех этих действий не пошли коту под хвост =)
Конечно, все это написано поверхностно, но, надеюсь, даст хоть небольшое представление "энтузиастам" о том, что же им нужно, и как это сделать. Вопросов безопасности я пока не касался, так как сам особо не задумывался на этот счет.
Комментариев нет:
Отправить комментарий