Представляю вашему вниманию мой первый блинком - игра под многообещающим названием "Rocket Forces".
Задача: продержаться как можно дольше, защищая мирное население и набирая очки. Чтобы сбить падающие вражеские бомбы необходимо выбрать такие координаты для запускаемой ракеты, чтобы её взрывная волна задела эту самую бомбу и тем самым уничтожила её. Пересечение траекторий полета ракеты и бомбы не приводит к детонации!
Управление: левая кнопка мыши - выстрел, Esc - выход
Версия: 0.1
Скачать игру можно здесь: http://ifolder.ru/2264099
(файл с индексом "h" - реализация с аппаратным курсором, файл с индексом "s" - реализация с эмуляцией курсора)
Скачать исходники можно здесь: http://ifolder.ru/2264130
(в архиве находится всё необходимое, для компиляции в среде Visual Studio 2005)
Rocket Forces
Классная игруха. Мне нравится .
..bw
..bw
Игра класс !
И хороший пример программирования на CPP для Колибри. Осталось добавить звук. Могу в этом помочь.
И хороший пример программирования на CPP для Колибри. Осталось добавить звук. Могу в этом помочь.
Всем спасибо
Serge
Вообще про звук я даже не думал Но буду благодарен за помощь в реализации..
А пока планы были такими: сделать главную менюшку и в ней настройку всех параметров игры, таких как количество и скорость ракет, бомб, сложность игры, ограничение и вывод на экран FPS, soft/hardware курсор. Впринципе они уже сейчас вынесены в отдельные переменные, так что полдела сделано.
И еще думал реализовать систему уровней, чтобы игра была более-менее логически завершенной.
Serge
Вообще про звук я даже не думал Но буду благодарен за помощь в реализации..
А пока планы были такими: сделать главную менюшку и в ней настройку всех параметров игры, таких как количество и скорость ракет, бомб, сложность игры, ограничение и вывод на экран FPS, soft/hardware курсор. Впринципе они уже сейчас вынесены в отдельные переменные, так что полдела сделано.
И еще думал реализовать систему уровней, чтобы игра была более-менее логически завершенной.
Serial
Кстати определить аппаратный курсор можно из программы. Примерно так
Кстати определить аппаратный курсор можно из программы. Примерно так
Code: Select all
char szHwCursor[] = "HWCURSOR";
mov eax, 68
mov ebx, 16
mov ecx, szHwCursor
int 0x40 ;get_service(char *srv_name)
если еах не равно 0 значит загружен драйвер аппаратного курсора
Serial
Надо определить события когда должен быть звук и подобрать подходящие семплы.
Звуковой движок я напишу. В принципе там ничего сложного. В тот момент когда взрывается бомба или стреляет пушка добавляется вызов
play_sfx(bomb_explode) play_sfx(rocket_launch) и т.п.
struct SFX
{
информация о семпле
}
SFX *bomb_explode;
SFX *rocket_launh;
Надо определить события когда должен быть звук и подобрать подходящие семплы.
Звуковой движок я напишу. В принципе там ничего сложного. В тот момент когда взрывается бомба или стреляет пушка добавляется вызов
play_sfx(bomb_explode) play_sfx(rocket_launch) и т.п.
struct SFX
{
информация о семпле
}
SFX *bomb_explode;
SFX *rocket_launh;
Serge
А в каком формате будут представлены звуки? и придется ли их хранить отдельно от бинарника?
А в каком формате будут представлены звуки? и придется ли их хранить отдельно от бинарника?
Serial
Любой PCM, например моно 16 бит 11 Кгц, можно и 8 бит но тогда придётся разворачивать в 16. Файлы можно скомпилировать фасмом в бинарник и слинковать или держать отдельно. У меня где-то были подходящие wav-ы. Если сделаешь константы для звуковых эффектов начиная с 1
#define BOMB_EXPLODE 1
#define ROCKET_LAUNNCH 2
и поставишь в нужных местах play_sfx(звуковая_константа) я попробую сделать звук.
void play_sfx(const int sfx_id)
{
//заглушка
};
Любой PCM, например моно 16 бит 11 Кгц, можно и 8 бит но тогда придётся разворачивать в 16. Файлы можно скомпилировать фасмом в бинарник и слинковать или держать отдельно. У меня где-то были подходящие wav-ы. Если сделаешь константы для звуковых эффектов начиная с 1
#define BOMB_EXPLODE 1
#define ROCKET_LAUNNCH 2
и поставишь в нужных местах play_sfx(звуковая_константа) я попробую сделать звук.
void play_sfx(const int sfx_id)
{
//заглушка
};
Serge
оке
Когда будет какой-нибудь прогресс, напишу в личку.. ибо щас сессия идет полным ходом.
оке
Когда будет какой-нибудь прогресс, напишу в личку.. ибо щас сессия идет полным ходом.
Serial
Что-то я не понял в игре - ракета пролетает сквозь бомбу и ничего....
Ты сделал сравнение траектории по одной единственной точке? Тогда это неправильно. В реальной ситуации ракета никогда не долетает до цели - она взрывается рядом. Например, самолет поражает не сама ракета, а ее осколки, т. е. ракета в этом случае действует как граната.
Что-то я не понял в игре - ракета пролетает сквозь бомбу и ничего....
Ты сделал сравнение траектории по одной единственной точке? Тогда это неправильно. В реальной ситуации ракета никогда не долетает до цели - она взрывается рядом. Например, самолет поражает не сама ракета, а ее осколки, т. е. ракета в этом случае действует как граната.
Mario79
Ты уже не первый, кто задает такой вопрос... Поэтому я и написал:
Ты уже не первый, кто задает такой вопрос... Поэтому я и написал:
Короче.. ракета взрывается, когда долетает до красного крестика. Задача поставить эти крестики так, чтобы в момент взрыва ракеты рядом оказалась бомба.Чтобы сбить падающие вражеские бомбы необходимо выбрать такие координаты для запускаемой ракеты, чтобы её взрывная волна задела эту самую бомбу и тем самым уничтожила её. Пересечение траекторий полета ракеты и бомбы не приводит к детонации!
Serial
Но в реальной ситуации ракета детонирует не в заранее подготовленной точке, а по достижении определенного расстояния до цели.
В твоем же случае ракеты не должны выпускаться как автоматная очередь... Очень странная картина получается.
Игра мне напомнила БК-0010, там, в игре "Десантник" высаживался десант, который надо было сбивать зениткой. Если высадилось 4 десантника, по одну из сторон они выстраиваются в лесенку и последний залезает и взрывает к чертям зенитку.
Но в реальной ситуации ракета детонирует не в заранее подготовленной точке, а по достижении определенного расстояния до цели.
В твоем же случае ракеты не должны выпускаться как автоматная очередь... Очень странная картина получается.
Игра мне напомнила БК-0010, там, в игре "Десантник" высаживался десант, который надо было сбивать зениткой. Если высадилось 4 десантника, по одну из сторон они выстраиваются в лесенку и последний залезает и взрывает к чертям зенитку.
Mario79
Да, игра очень похожа на многочисленные игры типа "Десантник". Сам в штуки 3 такие играл (начиная с ЕСки).
Сделать такую же систему, как и в этих играх не проблема. Но это будет тупо очередной клон игры. Хотя.. может кто-нибудь захочет понастольгировать
Я же постарался сделать немного другую игру: ракеты с некоторым радиусом поражения вместо пулемета, защита города от бомб вместо отбивания от парашутистов. А все пытаются по привычке сравнивать со старым "Паратрупером"
Да, игра очень похожа на многочисленные игры типа "Десантник". Сам в штуки 3 такие играл (начиная с ЕСки).
Сделать такую же систему, как и в этих играх не проблема. Но это будет тупо очередной клон игры. Хотя.. может кто-нибудь захочет понастольгировать
Я же постарался сделать немного другую игру: ракеты с некоторым радиусом поражения вместо пулемета, защита города от бомб вместо отбивания от парашутистов. А все пытаются по привычке сравнивать со старым "Паратрупером"
А куданибудь в другое место выложить можно?
[OFFTOP]
При желании можно закачивать здесь: http://miraculix.ru/upload.php
Kreoton, впринципе не удаляет, да и со скачкой проблем не будет...
[/OFFTOP]
При желании можно закачивать здесь: http://miraculix.ru/upload.php
Kreoton, впринципе не удаляет, да и со скачкой проблем не будет...
[/OFFTOP]
Who is online
Users browsing this forum: No registered users and 1 guest