Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Dec 11, 2019 1:06 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 45 posts ]  Go to page 1 2 3 Next
Author Message
 Post subject: Rocket Forces
PostPosted: Thu Jun 07, 2007 1:40 am 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Представляю вашему вниманию мой первый блинком - игра под многообещающим названием "Rocket Forces".

Задача: продержаться как можно дольше, защищая мирное население и набирая очки. Чтобы сбить падающие вражеские бомбы необходимо выбрать такие координаты для запускаемой ракеты, чтобы её взрывная волна задела эту самую бомбу и тем самым уничтожила её. Пересечение траекторий полета ракеты и бомбы не приводит к детонации!
Управление: левая кнопка мыши - выстрел, Esc - выход :)


Версия: 0.1

Скачать игру можно здесь: http://ifolder.ru/2264099
(файл с индексом "h" - реализация с аппаратным курсором, файл с индексом "s" - реализация с эмуляцией курсора)

Скачать исходники можно здесь: http://ifolder.ru/2264130
(в архиве находится всё необходимое, для компиляции в среде Visual Studio 2005)


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 5:10 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Классная игруха. Мне нравится :-).

..bw


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 12:16 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Игра класс !
И хороший пример программирования на CPP для Колибри. Осталось добавить звук. Могу в этом помочь.


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 12:47 pm 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Всем спасибо ;)

Serge
Вообще про звук я даже не думал :) Но буду благодарен за помощь в реализации..
А пока планы были такими: сделать главную менюшку и в ней настройку всех параметров игры, таких как количество и скорость ракет, бомб, сложность игры, ограничение и вывод на экран FPS, soft/hardware курсор. Впринципе они уже сейчас вынесены в отдельные переменные, так что полдела сделано.
И еще думал реализовать систему уровней, чтобы игра была более-менее логически завершенной.


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 1:21 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Serial

Кстати определить аппаратный курсор можно из программы. Примерно так
Code:
char szHwCursor[] = "HWCURSOR";

           mov eax, 68
           mov ebx, 16           
           mov ecx, szHwCursor
           int 0x40                     ;get_service(char *srv_name)

           если еах не равно 0 значит загружен драйвер аппаратного курсора


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 1:37 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Serial

Надо определить события когда должен быть звук и подобрать подходящие семплы.
Звуковой движок я напишу. В принципе там ничего сложного. В тот момент когда взрывается бомба или стреляет пушка добавляется вызов
play_sfx(bomb_explode) play_sfx(rocket_launch) и т.п.

struct SFX
{
информация о семпле
}

SFX *bomb_explode;
SFX *rocket_launh;


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 2:06 pm 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Serge

А в каком формате будут представлены звуки? и придется ли их хранить отдельно от бинарника?


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 3:55 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
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)
{
//заглушка
};


Top
   
 Post subject:
PostPosted: Thu Jun 07, 2007 4:11 pm 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Serge

оке ;)
Когда будет какой-нибудь прогресс, напишу в личку.. ибо щас сессия идет полным ходом.


Top
   
 Post subject:
PostPosted: Fri Jun 08, 2007 7:11 am 
Serial
Что-то я не понял в игре - ракета пролетает сквозь бомбу и ничего....
Ты сделал сравнение траектории по одной единственной точке? Тогда это неправильно. В реальной ситуации ракета никогда не долетает до цели - она взрывается рядом. Например, самолет поражает не сама ракета, а ее осколки, т. е. ракета в этом случае действует как граната.


Top
   
 Post subject:
PostPosted: Fri Jun 08, 2007 9:51 am 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Mario79

:) Ты уже не первый, кто задает такой вопрос... Поэтому я и написал:
Quote:
Чтобы сбить падающие вражеские бомбы необходимо выбрать такие координаты для запускаемой ракеты, чтобы её взрывная волна задела эту самую бомбу и тем самым уничтожила её. Пересечение траекторий полета ракеты и бомбы не приводит к детонации!

Короче.. ракета взрывается, когда долетает до красного крестика. Задача поставить эти крестики так, чтобы в момент взрыва ракеты рядом оказалась бомба.


Top
   
 Post subject:
PostPosted: Fri Jun 08, 2007 10:14 am 
Serial
Но в реальной ситуации ракета детонирует не в заранее подготовленной точке, а по достижении определенного расстояния до цели.
В твоем же случае ракеты не должны выпускаться как автоматная очередь... Очень странная картина получается. :-)
Игра мне напомнила БК-0010, там, в игре "Десантник" высаживался десант, который надо было сбивать зениткой. Если высадилось 4 десантника, по одну из сторон они выстраиваются в лесенку и последний залезает и взрывает к чертям зенитку.


Top
   
 Post subject:
PostPosted: Fri Jun 08, 2007 10:41 am 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Mario79

Да, игра очень похожа на многочисленные игры типа "Десантник". Сам в штуки 3 такие играл (начиная с ЕСки).
Сделать такую же систему, как и в этих играх не проблема. Но это будет тупо очередной клон игры. Хотя.. может кто-нибудь захочет понастольгировать :)
Я же постарался сделать немного другую игру: ракеты с некоторым радиусом поражения вместо пулемета, защита города от бомб вместо отбивания от парашутистов. А все пытаются по привычке сравнивать со старым "Паратрупером" :)


Top
   
 Post subject:
PostPosted: Sat Jun 09, 2007 8:38 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
А куданибудь в другое место выложить можно?


Top
   
 Post subject:
PostPosted: Sat Jun 09, 2007 9:01 pm 
Offline

Joined: Fri Jan 06, 2006 6:05 am
Posts: 102
[OFFTOP]
При желании можно закачивать здесь: http://miraculix.ru/upload.php
Kreoton, впринципе не удаляет, да и со скачкой проблем не будет...
[/OFFTOP]


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 45 posts ]  Go to page 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited