Gameboy Development Forum

Discussion about software development for the old-school Gameboys, ranging from the "Gray brick" to Gameboy Color
(Launched in 2008)

You are not logged in.

Ads

#1 2020-05-20 17:53:42

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

New Game: Interceptor (demo)

I decided to release a demo for the game I'm working on since almost all of the framework has been laid down and the rest is just content, optimization and polish. The demo and the final game will both be freely available as a ROM and I will be manufacturing cartridges to sell the finalized game on for those who want to play on live hardware.

Interceptor is a top-down space shooter made with GBDK. You are a fighter pilot tasked with screening enemy fighters and bombers to protect your fleet while creating an opening for your own bombers to destroy the enemy fleet.

https://i.imgur.com/jj0Ixdj.png

Soon to come:
-More levels
-More enemy types
-More music
-Intro splash screens for more levels (possibly all levels)
-Game will restart current level when you are destroyed

More information and downloads at https://arvex.itch.io/interceptor

Give it a try and give me your thoughts.

EDIT: Thread title updated to be more in line with other posts about original games.

Last edited by Ardis (2021-10-24 13:50:10)


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#2 2020-05-24 03:29:49

nitro2k01
Administrator
Registered: 2008-02-22
Posts: 242

Re: New Game: Interceptor (demo)

It is recommended to run BGB with exceptions enabled which warns about various things a ROM might do which can cause problems on hardware. In your case, it seems the ROM clears OAM while the display is enabled. You should do that while the LCD is off.


Blog: Gameboy Genius
"A journey of a thousand miles begins with one small step"
Old Chinese Proverb

Offline

 

#3 2020-05-24 11:27:38

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

I've been testing my game on live hardware without issue, but I will start doing that in the future.

I wasn't aware of OAM being cleared except on startup because of how GBDK works. I'm guessing OAM clears are tied to something else I'm doing and haven't been aware of the connection. I know GBDK throws an absurd number of exceptions in BGB on startup just because of how the GBDK runtime starts. I will look into it.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#4 2020-05-25 19:08:56

bbbbbr
Member
Registered: 2019-03-04
Posts: 124

Re: New Game: Interceptor (demo)

Thanks for sharing, it looks like you're off to a good start.

A minor suggestion- Increasing how fast the star background scrolls might make it feel like there is more action while playing.

Offline

 

#5 2020-05-27 10:50:29

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

nitro2k01 wrote:

It is recommended to run BGB with exceptions enabled which warns about various things a ROM might do which can cause problems on hardware. In your case, it seems the ROM clears OAM while the display is enabled. You should do that while the LCD is off.

Correction to my earlier statement: The only time I know of anything being actively cleared out of OAM instead of replaced is after game over screens where the game is reset. Sprites for enemy ships that are defeated are not cleared, only moved out of the gameplay boundaries. Unless that is what you were referring to by OAM being cleared. I recall hearing that the GBDK runtime does some weird stuff to clear OAM at boot and throws a mountain of errors in BGB.

I have been testing, and demoing, the game on live hardware and haven't run across any issues exclusive to live systems. That said, I do not currently have access to a GBA or CGB so my testing is not complete. My testing has been limited to a DMG, SGB and MGB.


bbbbbr wrote:

Thanks for sharing, it looks like you're off to a good start.

A minor suggestion- Increasing how fast the star background scrolls might make it feel like there is more action while playing.

I'm going to tinker with the scrolling background speed and see what happens. I originally slowed it down because of the enemy heavy bombers. I worried it would look strange if the background scrolled faster than enemy ships moved across the screen.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#6 2020-06-20 21:26:23

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

I uploaded an updated version a few days ago, mostly small background changes.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#7 2020-06-22 08:19:45

toxa
Member
Registered: 2020-02-13
Posts: 304

Re: New Game: Interceptor (demo)

Ardis wrote:

I recall hearing that the GBDK runtime does some weird stuff to clear OAM at boot and throws a mountain of errors in BGB.

you may try to recompile with gbdk-2020, that problem is solved there.

don't you want to make enemies explode or something when you hit them?

Last edited by toxa (2020-06-22 08:23:19)

Offline

 

#8 2020-06-22 08:33:28

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

I plan to do both with the next version. I just wanted to get those minor fixes out first since they were already done and the ROM tested before updating to GBDK-2020 in case any issues arise while recompiling it in GBDK-2020.

Last edited by Ardis (2020-06-22 08:33:47)


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#9 2020-09-06 14:02:10

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

I released an updated version compiled with GBDK-2020 along with some fixes for more minor/rare bugs (and the bugs introduced by those fixes.) Changes are as follows:



Update-2020-09-06:
    Recompiled the game in GBDK-2020. The game should:
        Throw fewer errors in BGB and other debugging emulators
            The errors in question almost never affect the game when running on live hardware
        Run smoother, allow implementation of more enemies in future updates
        Use less space within the ROM file, allowing for future content to be added in more easily
    Slightly altered armor sprites to make them a little more distinct
    Dying no longer resets the entire game and instead resets the current level from the game over screen
    Fixed code that was only allowing 7 of the 8 allotted bullet slots to be used in memory
    Fixed a rare bug where a bullet would appear on screen, but never move, usually the first one fired

A lot of the planned changes require rewriting of the spawning code and how sprites are handled (since in the current build, all ship sprites are loaded into VRAM and assigned to as needed, meaning I can't make explosion sprites without finding some free OAM slots (which I currently lack as all OAM slots are in use for ships, projectiles and torpedoes that don't spawn yet.)


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#10 2020-11-01 17:54:42

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

I just released a new version that features color modes for both the Game Boy Color and Super Game Boy.

Update-2020-11-01:
    Compiled with GBDK-2020 version 4.0, should run smoother, annoy debug emulators less, use less space within the ROM file, etc.
    Added text to the title screen stating that it is a demo build.
    Rewrote pause code so that it no longer maxes out the CPU while paused.
    Added placeholder splash screens to levels that don't have ones made.
    Added new splash screen that appears before title screen.
    Implemented Super Game Boy Enhanced and Game Boy Color modes.
        Fading transition screens had to be disabled for Game Boy Color mode, will implement a GBC friendly transition screen in a future update.
        Colors will be tweaked over time for improved visibility and contrast.
    Updated player ship sprite to be more visually in-line with other ships.
    Set a second palette for bullets to allow white to be used, making them more visible in all modes.
    Added additional bullet sprites and sound effects for enemy ships for some variety.
        New bullet sprites should also be more visible against background.
    Slowed rate of fire on player ship very slightly.
    Fixed minor bug that was causing level intro screen to scroll down one pixel and display garbage data along the top row.
    Fixed a bug where sprites would not reset their position for the next level after the victory animation if the player presses start to skip it.
    While implementing color, I discovered why my game didn't run properly on My OldBoy, the GBC emulator for Android. This has been resolved and it should now run under most, if not all, emulators. However, I cannot guarantee this will run on all emulators as I do not have the time to test all of them.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#11 2021-07-07 22:39:46

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

I just released a new version, finally resolved the VRAM and enemy management code issues that made adding the torpedo harder than it needed to be. Also did some cleanup of redundant code, bug fixes, consolidated all the enemies under a single array and added some new music to the stats screen.

As always, the new version is up on itch.io through the link in the first post and my signature.

Update 2021-07-07:
    Implemented the final enemy type; the torpedo. They take two hits to destroy and deal massive damage to your fleet if they get past you.
    Refactored code that made the project incompatible with newer versions of GBDK-2020, specifically changes to WRAM management.
    Partially completed refactoring enemy spawn and VRAM management. This will:
        Allow more enemies to be active at once. Currently supports up to six with only a slight drop in performance, though not currently used in current spawn list.
        Reduce CPU overhead and ROM space usage as the majority of enemy code has been consolidated, removing a lot of redundant and specialized code.
    Added placeholder music for stats screen (accessed by pressing Select from title screen.)
    Enemy behaviors are now tied to the enemy type rather than a value the player cannot see. This should make enemies a lot more predictable.
    Minor optimization to sound effect management by consolidating them into a single sound function.
    Minor visual tweaks for improved visibility against a black background:
        Black on the enemy palette has been replaced with a dark grey for Game Boy Color mode.
        Enemy interceptor has had the black lines on the trailing edge of its wings replaced with dark grey.
    Fixed mistake in spawn list that resulted in two identical fighters spawning stacked on each other that perfectly mimicked each others movements. This would appear as an enemy fighter that would not die after the usual two hits.
    Fixed player ship being able to go two pixels out of bounds on one side and not being able to touch boundary on other side.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#12 2021-09-30 23:01:32

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

New version released. Only minor changes this time around.

Update 2021-09-30:
    Added delayed spawn to enemies and modified a few spawns to show this earlier in the game.
    Added basic score keeping that total number of ships killed at the end of a level.
        Game does track kills by ship type in background, but a way to show or value these kills is still being worked out.
    Moved Earth fleet splash art to level 3 and added text that reads “press start” to that screen.
        Eventually art will be assembled for the first two demo levels and eventually all levels.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#13 2021-10-01 21:44:34

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

I noticed a shortsighted decision I made with scorekeeping. I'm going to have an updated build out within the next week or so. I'm working on it with some feedback from people who are playtesting it at a local convention this weekend. I'm also going to add some basic collision avoidance to the enemy AI. They'll still crash into you if you don't do anything, but they're at least trying not to crash now.

I always appreciate any feedback on the current build.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#14 2022-03-12 21:39:11

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

Update 2022-03-12:
    Super Game Boy border implemented. Placeholder asset for now.
    Added a new menu to the start screen.
        Start Game starts the game.
        Menu goes into an options menu which also includes a Sound Test menu
        Library goes into the enemy stats screen previously accessed by pressing Select from the title.
    Pressing B at the Game Over screens will now reset the game.
    Added element to UI that shows if you have an energy bomb ready, indicated by a B under the armor.
    Background palette inversion has been added to Game Boy Color mode.
    Inverted background palette is now enabled by default on all hardware except Super Game Boy. Press Select while in-game to change it or by changing the Real Space setting in the menu.
    Implemented fade-in/fade-out for color mode.
    Added a sound test menu.
    Minor increase to player rate of fire on standard attacks.
    Enemy AI will now make a basic, intentionally imperfect, attempt to avoid collisions. You will still need to make an effort on your part to avoid collisions.
        Exceptions are the torpedoes and heavy bombers.
    Added code to prevent game from processing input of opposed directions on d-pad, even though they already canceled each other out.
    Minor tweaks to several splash screens to reduce space taken on ROM.
    Added additional text to the placeholder screen so it says more than “PRESS START”
    Kill counter now reverts total back to that of the last level you completed after a failed level.
        Total shown on the defeat screens is still an accurate count of that attempt, but kills for that level are not permanently added to the total when you start that level over.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#15 2022-03-13 11:51:11

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

A pair of bugs slipped past me during playtesting so I threw together a quick updated build to fix them.

Update 2022-03-13:

    Fixed a bug where pressing Start didn't restart the level and the only option was to press B to reset the game.
    Fixed a bug where the background palette was changing unpredictably when loading a level.
        It should now default to a white background on all devices except for the Super Game Boy 1 and 2.
    Upon receiving feedback, the Menu option on the title screen has been renamed to Options.
    Added text to the game over screens saying that you can press B to reset.

EDIT: There is a known bug where the game fails to load properly if you use the game's soft-reset (pressing B from a defeat screen) while playing it on a PAL SNES and SGB. This may be a bug with GBDK-2020 itself.

Last edited by Ardis (2022-03-13 15:51:26)


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#16 2022-08-27 23:06:28

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

Update 2022-08-27:
    Added new tile for the energy bomb ready indicator on the HUD.
    Added new bomb indicator icon as well as a charging bar for the next shot when not available.
    Added explosion sprites to enemies when they are destroyed.
    Explosion sound effect added to replace old one which would rarely play when called.
    Tweak to color palette used by bullets when in High Visibility mode on Color. No more white on a white background.
    Fixed a bug where the bomb indicator didn't work until after a bomb was fired the first time.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

#17 2023-07-16 20:02:09

Ardis
Member
From: USA
Registered: 2019-06-06
Posts: 58
Website

Re: New Game: Interceptor (demo)

Update 2023-07-16:
    Added a final score screen that tallies up kills by a craft type.
    Instead of looping back to the start of the spawn list, level now ends in victory if end of spawn list is reached and has a special splash screen to inform you of this.
    Minor tweaks to spawn list.
    Level splash screen is skipped after the first attempt at a level.
    Energy Bomb recharges slower (roughly half speed) while main guns are recharging.
    Fixed a bug where the secondary palette was getting reset on Super Game Boy, causing bullets to have one of their colors to match the background color, making them harder to see.
    Explosions now use the same palette that bullets do in non-Game Boy Color modes.
    Game over screens updated for clarification on what B and Start do respectively.


Also known as Arvex in other places.

Interceptor (Demo)
https://arvex.itch.io/interceptor

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson