Игра за неделю

Содержание:
Да, я знаю, не очень, но здесь должна быть картинка по теме, и еще я старался
Итак, прошли почти сутки с момента начала "Игры за неделю". К слову, для одного дня разработки по своим меркам я был необычайно продуктивен, и меня это очень радует. Как-никак, первые плоды, которые мне принес мой челлендж.

Некоторые уточнения идеи

Прежде всего, я определился со вселенной, местом действия, персонажами и что вообще происходит. Поскольку я делаю игру за неделю, продумывать интересный детальный сюжет с диалогами, персонажами, интригой и прочим довольно бессмысленно, но и не хочется как делать простой сюжет в оправдание, так и вообще оставлять игру без сюжета. Поэтому вселенную с сюжетом я решил позаимствовать у основного моего проекта - Warp Space, то есть, если коротко, отряд космонавтов отправляется в слишком долгий полет, из-за чего они прилетают на руины собственной цивилизации, сумевшей создать более быстрые двигатели. Недельная игра будет представлять собой некоторое подобие авторского фанфика, где прилетевшие космонавты приземляются на терраформированную планету, населенную относительно разумными существами. Вот.
Также я хочу пояснить кое-что по поводу отхода от клише RTS. Во-первых, я хотел бы свести к минимуму роль увеличения численности войска. Увеличение силы игрока будет происходить в основном через закупку улучшений оружия и брони и получения опыта бойцами в сражениях. Во-вторых, будет значительно уменьшена роль зданий - останется только здание-база и укрепления,

Гирвел жалуется на кривизну Game Maker'а

Поговорим о кривизне. У меня сильно изменилось мнение о языке программирования Game Maker'а - Game Maker Language (GML). Раньше он виделся мне очень кривым и неудобным из-за отсутствия ООП, а сейчас он все еще кривой и неудобный, но зато изгибы кривой стали казаться немного другими.
Во-первых, я осознал, что в нем есть ООП, но, правда, очень кривое. Есть подобие классов - объекты, но они пишутся не в коде, а настраиваются через встроенный в Game Maker редактор. Наследование есть, но оно тоже не в коде. Есть полиморфизм, который один работает без косяков. Инкапсуляции нет.
Есть синтаксис, который чуть-чуть компенсирует недостатки ООП. Так, GML не поддерживает методы, но благодаря особенностям синтаксиса это:
with (object) {
	do_it();
}
можно заменить этим:
with object do_it();
что хоть немного скрашивает тоску от отсутствия ООП. Кстати, можно писать if как в Пайтоне, и это пусть чуть-чуть и понижает читаемость кода, но все равно классно:
if a > b {
	do_it();
}
Но я все так же ненавижу отладчик. Он не умеет компенсировать особенности GML, и на ошибки, свойственные исключительно GML-у, выдает абсолютно рандомный бред.
Короче говоря, список причин для ненависти к Game Maker'у за полгода довольно сильно изменился.----

Что сделано

По-моему, я написал чересчур много о том, что я только планирую делать, о впечатлениях и прочем и оставил слишком мало места для того, что я, по сути, сделал. А все потому, что проделанная работа связана в основном с технической частью, то есть сражениями с отладчиком, синтаксисом, кривыми встроенными функциями Game Maker'а и какими-то базовыми вещами. Но все же.
  • Я сделал движение персонажа в место щелчка курсором, при этом персонаж не крутится вокруг места, в которое физически не может пройти, что свойственно Game Maker'у
  • Я впервые использовал for() не для перебора элементов массива по порядку просто как ачивочка
  • Камера двигается на среднюю клавишу мыши, ура
  • Зеленую рамочку выбора персонажей сделал, знаете, когда нажимаешь левую клавишу мыши и выделяешь отряд
Ну, в общем, это все. Все это было сделано всего за день, что, повторюсь, меня радует. К слову, можете подписаться на меня в Твиттере, там периодически выкладываю какие-нибудь промежуточные скриы, впечатления и идеи, которые по формату не очень подходят для XGM'а.

`
ОЖИДАНИЕ РЕКЛАМЫ...