Инструкция
1
Трезво оцените свои знания и возможности. Вам понадобится знание как минимум одного языка программирования. Также требуется представление о технологии создания компьютерных игр, например, вы должны понимать, что такое очередь событий, многопоточность, пользовательский интерфейс, взаимодействие клиент-сервер и знать хотя бы основы компьютерной графики. Вам также понадобится как минимум один надежный сервер для головной части игры. Он должен быть хорошо настроен, готов к всплескам нагрузки, достаточно безопасен и протестирован. Онлайн-игра, в отличие от обычной, требует более качественного сервиса. Ни одному игроку не понравится, когда в самый ответственный момент сервер начнет перезагружаться из-за сбоя или станет недоступен на несколько часов из-за DDoS-атаки. Успешно справляться со всеми требованиями одному человеку практически не под силу. Поэтому вам потребуется готовность к командной работе и возможность её собрать.
2
Сделайте эскиз разработки, который вы сможете воплотить в жизнь. Создание хороших компьютерных игр является очень трудоемким процессом, в котором задействовано много хороших специалистов в своем деле. Не стремитесь сразу их перегнать, иначе вы просто не сможете довести создание игры до конца.
3
Учитывайте, что современные технологии не позволяют воплотить в жизнь многие технологии реалистичности. Многие проекты ограничены именно аппаратными требованиями, а не отсутствием идей или специалистов. Дополнительные ограничения накладывает необходимость поддерживать одновременную игру большого количества игроков, что при большом функционале потребует мощных дорогих серверов, требования к которым и так очень высокие. Поэтому, на начальных этапах, важно не увлекаться максимальной детализацией графики и геймплея.
4
Сначала создайте минимально возможную, но полностью рабочую модель онлайн-игры, которую можно расширять. Она должна состоять из простейшего комплекса по принципу клиент-сервер, работающем на одном компьютере, и обеспечивать: максимально простую модель игрового пространства; создание, ввод в игру и сохранение состояния персонажа; возможность общения; возможность перемещения и возможность выполнять действия.
5
Разработайте протокол взаимодействия клиента и сервера по сети. Единый стандарт при передаче данных значительно упрощает разработку, но стандартизировать все задачи часто нерационально и приводит к генерации большого количества лишнего траффика. Постарайтесь найти баланс между общим стандартом и объемом траффика. Также на этом шаге проработайте программную часть сервера. Определитесь с использованием многопоточности и реализацией взаимодействия с клиентом по сети.
6
Доведите клиентскую часть, которая будет работать на компьютере игрока. На этом этапе вам важно заложить расширяемый интерфейс игры, чтобы в будущем вы могли безболезненно его изменять, а также проработать программную часть графики. Важно определить, какую технологию предпочтительнее использовать для создания изображения игрового процесса. Использование Flash или Javascript позволит пользователю играть в браузере. Вы можете использовать эти технологии для создания онлайн-игры, распространяющейся в социальной сети. Также вы можете написать клиент в виде самостоятельного приложения, чтобы полностью задействовать мощность видеокарт.
7
Обеспечьте безопасность. Ваш сервер может быть в любой момент атакован с целью получения доступа к базе данных игроков, что может иметь неприятные последствия. Также серверная часть игры может подвергнуться DDoS-атаке. Например, массовая регистрация игроков специальным скриптом и их одновременное подключение к игре. Такая атака быстро исчерпает ресурсы сервера и потребует принятия быстрых решений во время его работы. Чтобы не создать неудобства игрокам, механизмы для таких ситуаций должны быть проработаны заранее.
8
Соберите команду, чтобы проработать графику и расширять функционал онлайн-игры. На определенном этапе вы сможете запустить проект и в зависимости от того, как он будет принят игроками, развивать в том или ином направлении.
Связанная статья
Игра «Инди Кот». Жизни, ячейки и комбинации в игре