Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

[ Каскадный ] · Стандартный · Линейный

> Реактивное введение в программирование под GBA

aa-dav
post Четверг, 20 апреля 2017, 10:47
Отправлено #1


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Столкнувшись сам несколько дней назад с отсутствием русских вменяемых введений в предмет на днях решил создать некую очень короткую и сжатую, но по возможности достаточно полную для начала программирования реальной игры вводную в программирование под GBA.
Начал делать это тут: http://antistupd.livejournal.com/842.html
Исправленный и обновлённый текст потом перевыложил сюда: http://hype.retroscene.org/blog/872.html

При этом цель не состоит в обучении программированию - напротив, целевая аудитория уже должно хорошо знать C/C++ и представлять себе архитектуру компьютера, что такое память, указатели в неё, зачем нужен volatile и т.п.

Два вопроса:
- нужно ли? есть ли еще интересующиеся темой?
- (потому что возможно, что) есть ли уже проделанная такая же работа? (сам не нашёл)

Сообщение отредактировал aa-dav - Среда, 03 октября 2018, 10:11
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topicStart Poll
Ответов
aa-dav
post Понедельник, 10 июля 2017, 12:34
Отправлено #2


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Ностальгическая нотка.

Картридж с Contra Force был жемчужиной моей небольшой коллекции из буквально трех-четырех штук. После развода родителей да еще на фоне кризиса девяностых она прекратила пополняться и замерла на этой печальной цифре вплоть до смены игровой платформы много позднее на ПК.
Если быть совсем точным, то владел я пиратским клоном с названием Super Contra 6.
В недрах интернета нетрудно найти его фото:

user posted image

у меня был у меня точь-в-точь такой же.
Саму игру, поэтому, я зашлифовал до дыр - многократно проходил, ставил рекорды "без потери жизней" и т.п. И естественно мне отчаянно не хватало новых уровней в ней. И я мечтал их раздобыть и мечта эта многократно усиливалась и самой подачей пиратской китайщины, воспетой Кинаманом. Ведь раз у меня была Super Contra 6, то воображение услужливо дорисовывало, что где то есть как минимум 5-ая, 4-ая и 3-я части. В первую контру и супер контру я играл и понимал, что это видимо первые две части, хотя оставалась возможность, что Super Contra 2 была всё-таки отдельной игрой. А могла быть и Super Contra 7 - ведь видно же было, что шлёпают как горячие пирожки.
И вот я перепроходил её на сотый раз, не теряя жизней, с закрытыми глазами и грезил, что где то есть новые уровни, новые лабиринты, закоулки и площадки - вот точно они где-то есть, но не у меня.

Так что не без оснований можно сказать, что сейчас я воплощаю жгучую мечту детства - заполучить новые уровни к этой игре. Даже сразу две мечты - создавать игры для игровой консоли и новые уровни к супер контре 6.
Впервые желание делать компьютерные игры тоже связано с денди. Я даже помню когда и что это было - игра с трудным названием на одной классической многоигровке, которые продавались в комплекте с приставкой - Yie Ar Kung-Fu - простенький файтинг. Там когда побеждаешь всех бойцов первого круга - начинается второй круг с усилением сложности. И когда проходишь каждый круг аватар игрока прыгает и бьёт в гонг, висящий в центре экрана с ноги, отчего раздаётся гулкий звук. И вот в какой то момент я подумал что было бы классно, если бы в очередной раз этот гонг бы отвалился, упал и разбился бы. И я понял что это в принципе теоретически возможно - ведь кто-то сделал саму игру, а значит можно с ней делать и такие вещи. И сама эта возможность замаячила тоже чем то очень интересным, загадочным и манящим.

Добавлено спустя 1 день 6 часов:
Начав делать пули столкнулся с проблемкой - из оригинальной Contra Force выдрать звуки оказалось нереально.
И не могу найти трудов никаких хакеров, которые бы такое сделали бы.
В общем то неудивительно. Кто помнит тот знает, что в той же Super Contra был спец-режим, если зажать какие то кнопки в титульном экране в котором можно было как раз прослушать аудиоэффекты игры. Грабь в своё удовольствие.
Проблема Contra Force же в том, что там ни на секунду не выключается нигде музыка и все звуки "замусорены" оказываются ею - отсюда просто невозможно снять качественные самплы.
Потенциально это можно сделать, если расковырять код игры и хачить образ прямо в эмуляторе - но это уже недосягаемый для меня уровень.
В общем легко нагуглились как раз звуки эффектов из первой Contrsa и Super Contra - так что возьму их для первых опытов, возможно и оставлю.
Жаль, там были аутентичные звучки иногда. Но ладно. Не так уж и часто. В основном типовые шумы.
Давно не брал в руки шашки... то есть С++ и немного удивлён сейчас как быстро разрастается код, модули и текст прут как на дрожжах, по любому поводу.
Одно только управление персонажем это какая то дичь. Все if-case-ы идёт он или приседает, под углом или вертикально - дикое количество кода, ощущение лапши не покидает, уж как ни старался распихивать смещения и по массивам "круговых направлений" для краткости извлечения, но всё равно постоянно лезут исключения и побочные случаи.

Так или иначе, код управляющий персонажем почти готов - остались только веревки по которым можно лазать кажется. Но это потом, в первом уровне оригинала их не было, зато было много чего другого.
Результат на сегодня:



Сообщение отредактировал aa-dav - Вторник, 11 июля 2017, 18:34
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic
aa-dav   Реактивное введение в программирование под GBA   Четверг, 20 апреля 2017, 10:47
MoonTurtle   может и не прав, но мне кажется что это нафиг не н...   Четверг, 20 апреля 2017, 11:12
aa-dav   Я там во введении сразу же и написал, что GBA об...   Четверг, 20 апреля 2017, 11:39
DUX   Ну, если наклепаете контр, кастельваний и марио ...   Четверг, 20 апреля 2017, 11:59
MoonTurtle   RE: Реактивное введение в программирование под GBA   Четверг, 20 апреля 2017, 12:01
aa-dav   А у кого-нибудь тут есть возможность заливать на к...   Вторник, 23 мая 2017, 08:54
Boris   Тема интересная, спасибо! Надо срочно купить ф...   Вторник, 23 мая 2017, 11:09
dimm0505   А что из высокоуровневых языков может быть более ...   Вторник, 23 мая 2017, 12:59
aa-dav   Сейчас запаковал текущее состояние проекта так ска...   Вторник, 23 мая 2017, 14:38
dimm0505   Качнул, попробую в ближайшие 2-3 дня "на риал...   Вторник, 23 мая 2017, 14:46
dimm0505   Запускается все, но вот только что там должно быть...   Среда, 24 мая 2017, 12:42
aa-dav   Спасибо большое! Да, похоже что всё верно рабо...   Среда, 24 мая 2017, 13:31
dimm0505   Ну тогда поздравляю, все запустилось, правда я за...   Среда, 24 мая 2017, 13:36
aa-dav   Ну отлично. Большое спасибо! Просьба еще, если...   Среда, 24 мая 2017, 13:44
Gashik   С сохранением ничего сложного. Была библиотека, ко...   Среда, 24 мая 2017, 20:58
hqqddy   aa-dav тебе бы железку купить за недорого с флешко...   Пятница, 26 мая 2017, 18:20
aa-dav   Я не железячник, я софтовик. Мне возится с желез...   Пятница, 26 мая 2017, 18:51
MichaelForExample   А почему на гитхабе репо не создать? Хоть следить ...   Пятница, 26 мая 2017, 22:31
aa-dav   Когда будет законченная версия и каждая строчка бу...   Суббота, 27 мая 2017, 18:38
MichaelForExample   Ну неужели лишний пуш сделать в ремут ветку трудн...   Суббота, 27 мая 2017, 20:05
УльтраБлокС   Я бы сказал так - игры пишутся в основном на ...   Суббота, 27 мая 2017, 22:16
aa-dav   Да ну, имхо тут это совершенно не нужно. Просто ...   Воскресенье, 28 мая 2017, 03:40
aa-dav   Вновь прошу проверить на настоящем GBA тест воспро...   Вторник, 06 июня 2017, 11:19
hqqddy   Все работает. Стресс-тест не вешает ром, срабатыва...   Среда, 07 июня 2017, 16:06
aa-dav   Большое спасибо! Это радует, значит осталось...   Среда, 07 июня 2017, 16:29
Gashik   провалится :) многие флешки как-раз патчат ром в ч...   Среда, 07 июня 2017, 17:00
aa-dav   Ну всё, дописал цикл эти уроков, обрамил оглавлени...   Четверг, 15 июня 2017, 04:12
hqqddy   Не работает сейв/восстановление. По крайней мере, ...   Пятница, 16 июня 2017, 15:40
aa-dav   Хмм... Жалко что не всё так просто, но там этого с...   Пятница, 16 июня 2017, 16:06
hqqddy   Ну это я сократил. EverDrive GBA http://krikzz.com...   Пятница, 16 июня 2017, 22:04
aa-dav   Читаю вот здесь https://gbatemp.net/review/everd...   Суббота, 17 июня 2017, 00:28
hqqddy   Я совсем на это не посмотрел. Как-то поигрался в с...   Суббота, 17 июня 2017, 00:44
aa-dav   Отличные новости!!! :) Спасибо за те...   Суббота, 17 июня 2017, 01:10
hqqddy   aa-dav как руки до SuperCard дотянутся, я проверю....   Понедельник, 19 июня 2017, 06:39
aa-dav   Мне остаётся только процитировать сабжевый тутор...   Понедельник, 19 июня 2017, 11:15
hqqddy   Спасибо. Помогло не очень, но интерес был спортивн...   Понедельник, 19 июня 2017, 15:44
aa-dav   Как нынче говорят - тизер. Кто вспомнит с какой пл...   Суббота, 24 июня 2017, 08:49
hqqddy   Четно, не имею понятия. Что мутите? Игру?   Суббота, 24 июня 2017, 19:01
aa-dav   Да на денди была такая Contra Force, сегодня повыд...   Суббота, 24 июня 2017, 19:51
hqqddy   А, щас вспомнил. Но в нее не часто играли, она из ...   Воскресенье, 25 июня 2017, 00:51


Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Сб., 06 июня 2026, 00:33
Skin Designed (c) by Rooq.net, All Rights Reserved.