Компьютеры изо дня в день становятся всё мощнее. Те вычислительные устройства, которые выпускаются сегодня, показались бы настоящим чудом человеку, который, например, на машине времени из 80-х гг. переместился бы в нашу эпоху начала 20-х гг. XXI века. Тем не менее несмотря на наличие большого количества современных средств программирования, процесс разработки игры всё ещё требует от пользователей огромных усилий, большого количества времени, сотен бессонных ночей и самое главное – глубокого понимания системы. В общем обычному обладателю компьютера очень трудно стать творцом.
Пару десятилетий назад начинающий программист мог испытать настоящий катарсис просто от того, что сумел заставить свой компьютер точно провести несколько математических операций (например, сложения и вычитания). Но сегодня такими результатами удивить никого не получится. Ведь сами компьютеры стремительно развиваются. Чтобы компьютерная программа приводила пользователя в восторг, она должна иметь удобный и интуитивно понятный интерфейс, отличную музыку, современную детализированную графику и качественное видео. Создавать такие игровые программы, даже несмотря на большое количество инструментов, очень сложно. Даже самую примитивную игру такую как классический Pacman, создать всё ещё очень трудно. Какой бы язык программирования ни был выбран, начинающий разработчик столкнётся с бесчисленным количеством трудностей, и не исключено, что в конечном счёте вовсе оставит эту свою идею создания игры в покое и никогда больше к ней не вернётся. Но, к счастью, существуют инструменты, которые хоть немного, но всё-таки упрощают процесс создания игры. Например, программа GameMaker, которая сегодня активно используется во всём мире, предназначена специально для того, чтобы пользователь мог создавать игры с 2D-графикой и с изометрией. Создать игровую программу с помощью GameMaker гораздо проще, чем с каким-либо другим подобным инструментом. 10-летние дети осваивают с её помощью начальный курс программирования, а более старшие находят в ней новую профессию.
Объекты
В любой игре есть объекты. Так называется каждый элемент, из которых она состоит. Объектами будут являться главные персонажи, враги, предметы для сбора (например, те же точки в Pacmanили монеты в «Марио»), стены, оружия и всё остальное. Если человек думает о создании игры, значит он думает об объектах, из которых она состоит: о том, как они взаимодействуют друг с другом и как реагируют на действия играющего. Поэтому программист естественным путём начинает мыслить объектно-ориентированным способом.
При разработке игры создаются объекты, которые будут её наполнять. Причём вовсе не обязательно, чтобы каждый игровой объект был визуально представлен. Многие объекты нужны только для управления ходом игры, но игрок их никак не увидит. Иными словами, они требуются для того, чтобы сама программа могла производить нужные расчёты.
Поведение
Зачастую в игре используется несколько экземпляров одних и тех же объектов. У каждого из них свои свойства – например, скорость, с которой они перемещаются. При этом многие другие свойства должны быть определены разработчиком. У каждого объекта должно быть определённое поведение. Некоторые из них (такие как стены) могут просто стоять на месте, но у основных объектов сложность поведения, как правило, гораздо выше.
Поведение объектов описывается с помощью терминов управления событиями. Причём события также являются объектами, и программист определяет действия, которые будет выполнять игровая программа, когда эти события происходят. Традиционные события – разрушение объектов, столкновение, сигнал таймера и пр.