The Space 2d 45 Isometric Space Fighter (open Source), Делюсь кодом. Для новичков

Название: the Space
Жанр: Изометрическая космическая стрелялка
Средство разработки: Visual C++
Технологии: Direct Draw, Direct Sound, Vorbis-OGG, JPEG, TGA

Кратко о проекте
The Space – это мой очень старый проект 2D космической игры с изометрической проекцией, которую я разрабатывал в 2005 году. В то время я лишь начинал изучать VC++. До этого я программировал на Borland Delphi. Из-за этого в проекте мной было сделано очень много ошибок, свойственных начинающему программисту. Недавно я случайно нашел на диске исходные тексты этого проекта и решил поделиться ими со всеми, кому они интересны. Но, конечно же, выкладывать в интернет грязные коды мне не позволила совесть. Поэтому я решил доработать их до приемлемого вида, а заодно и графически оформить на достойном уровне. И если кто-либо пожелает помочь мне с графическим оформлением, то я буду очень признателен.

Какая игра получится в итоге.
В моих планах реализовать следующие части:
- логотип (будет использоваться видео-поток синхронизированный с аудио-потоком).
- меню, состоящие из пунктов «Начать игру», «Опции», «Авторы», «Выйти».
Раздел «Опции» будет позволять настроить громкость звуковых эффектов и громкость музыкального сопровождения, а так же переопределить клавиши управления
Раздел «Авторы» я планирую выполнить в виде обычного скроллинга.
- сам игровой процесс.
Игровой процесс будет представлять из себя бесконечный полет (если, конечно, игроку удастся бесконечно оставаться в живых Smile ), в процессе которого нужно будет расстреливать все, что на вас движется. На пути игрока будут космические объекты, такие как: астероиды, обломки разбившихся и взорванных космических кораблей и станций. Кроме того, против игрока будут выступать вражеские корабли, которые тоже будут стрелять.
После того, как игрок потеряет все жизни, его имя будет внесено в таблицу рекордов. Игрок впоследствии сможет отправлять свои рекорды на сервер, где его достижения будут участвовать в общем зачете.

На этом реализация проекта заканчивается. Любой же желающий на основе полученного исходного кода сможет создать свой собственный аналогичный игровой проект и расширить его возможности на столько, на сколько хватит фантазии и сил.

Какие знания начинающие программисты смогут почерпнуть при изучении этого проекта.

- Основы разработки игрового кода (игровой логики).
- Навыки работы с Direct Draw, Direct Sound, Direct Input и некоторых других технологий.
- Навыки работы с графическими форматами, такими как JPEG, TGA, BMP и PCX.
- Основы работы с видео-потоками формата AVI (Audio Video Interlaced).
А так же некоторым другим хитростям и тонкостям программирования.
Проблемой при изучении для начинающих программистов могут стать участки кода «ускоренной графики», где я использую встроенный ассемблер Visual C++. Но с другой стороны, эти участки кода впоследствии могут стать для программистов отличными помощниками при разработке собственных проектов.

Текущая версия: 0.0.5

Что нового:

• Ограничил зону перемещения истребителя. Теперь за пределы экрана улетать нельзя
• Первые зачатки интерфейса: отображается количество жизней и поле «Очки», которое пока пустое
• В пространстве имен TSDRAW введена новая функция ImageCK отображающая указанный участок изображения с ключевым цветом (прозрачным)


О данной ветке форума

Здесь я буду вести что-то вроде дневника разработчика и отвечать на вопросы, если таковые будут. Реальное же дело по проекту, все обновления, статьи и прочее, на моей персональной страничке.

Мой персональный сайт, страницы проекта, код и бинарники на dee.deenamics.com

Последняя правка: сб, 18/06/2011 - 11:36
Submitted by DeeMOONger on

Комментарии

Какое именно графическое оформление... будут ли заставки, иконки и различные модели кораблей?

Submitted by Mutalisk on
Ну, Mutalisk, по описанию немного видно Smile Типа, "... На пути игрока будут космические объекты, такие как: астероиды, обломки разбившихся ..."

Ну и там же сказано про видео-поток лого, интерфейсную часть и т.п.

Submitted by DeeMOONger on
Этого "немного видно" не хватает. Как здесь обычно говорят, - общие фразы, больше конкретики.
Типа:
Астероиды: маленикие, средние, большие, большой с памятником Ленина.

Обломки: фюзеляж, двигатели, энергоблок, грузовые контейнеры с тушонкой...


Но, хотел бы рисовать заставки перед началом миссий. Ну там, космонавт с авоськами шагает к звездолёту. Миссия: не дай в себя попасть астероиду, иначе бутылки с водкой разобъются, поэтому командир может забрать твой новый звездолёт, что бы полететь самому за ней, тебе же останится старая колымага.

Submitted by Mutalisk on

Хм... Вообще-то, это "учебный опенсорс". Как таково миссий не планируется, разве что что-то вроде предисловия сделать. А что касаемо "конкретики" - я на перед не планировал ни чего, кроме как-раз того, что написано. Т.е. только в общих чертах. Конкретика будет появляться по ходу...

Submitted by DeeMOONger on

Жаль.

Submitted by Mutalisk on

Проект обновлен. См. пост 1

Submitted by DeeMOONger on

Нашел чуток времени для проекта. Обновил. См. первый пост.

Submitted by DeeMOONger on

GameDev.by