SEGA Saturn 26th Anniversary Game Competition

Happy Saturnday,

I'm ready to submit my homebrew entry for the contest: Flicky's Flock.

Flicky's Flock​


Flicky's Flock is a 12-player Sonic the Hedgehog themed Flappy Bird clone for the Sega Saturn. Requires two 6 Player Adaptors for full twelve player support.

The resolution of the game has been changed to support wide screen televisions:
  • Use the zoom feature (not 16:9) in your television
  • The top and bottom of the screen will be cut off but the game area will take up the entire TV
  • The aspect ratio looks correct

Screenshots​

ssmtf.png


title.png

multiplayer.png

solo.png

score.png
 

Attachments

Just a heads up for everyone participating. I've recently been messing around with making demo discs using the official Sega Flash/Bootleg Sampler discs as a template. I was going to make one including some games from last years competition as well as ones from this years competition.

However if you can do the following it will make it easier for me to drop the game into the demo disc:
  • Make sure your game implements the SYS_Exit() logic properly.
    • A+B+C+Start should call SYS_Exit() and point to 0x06000CCC for the reset flags. Some games I've seen point to 0x060020CC which is fine for a stand alone game as this points to where the game loads IP.BIN normally. However the demo disc will load a portion of IP.BIN to 0x06000CCC and set a special flag that tells the SYS_Exit() function to instead go back to a demo loader menu instead of back to the CD Player screen.
    • If you want your demo to end and go back to the menu, also implement SYS_Exit() when your game hits the end of what you deem, a demo and implements it as stated above.
    • For more info on this refer to this document:
  • Please Provide the following video clips:
    • 1x ~4 second clip of your game to go into the intro demo
    • 1x 18-20 second clip/montage of your game with audio. This will be used in the rolling Video at the title screen as well as the menu screen.
  • Please provide the following information
    • A short description (about 1 sentence) explaining what your game is
    • The controls for your game
    • What genre the game is, how many players, etc.
The current disc I'm using is the US Bootleg Sampler 2 Disc, which has space for 5 games, and 5 FMV trailers. The current Disc I'm putting together has the following on it:

Games:
  1. Sakura Wars 96 TGS Demo (English)
  2. Ponut64's Entry from last year
  3. XL2's Sonic Z-Treme Metal Sonic Demo
  4. Ninja Penguin Manmaru English Demo
  5. Slot Open
Trailers:
  1. Policenauts English
  2. Grandia English
  3. Open
  4. Open
  5. Open
Don't worry if it looks like there's no space, I think I can use other Japanese Demo discs that arranged this differently (some discs in Japan had way more games and only a few FMV trailers). Also I can make more demo discs as necessary once I get everything nailed down.
 
Make sure your game implements the SYS_Exit() logic properly.
  • A+B+C+Start should call SYS_Exit() and point to 0x06000CCC for the reset flags. Some games I've seen point to 0x060020CC which is fine for a stand alone game as this points to where the game loads IP.BIN normally. However the demo disc will load a portion of IP.BIN to 0x06000CCC and set a special flag that tells the SYS_Exit() function to instead go back to a demo loader menu instead of back to the CD Player screen.
  • If you want your demo to end and go back to the menu, also implement SYS_Exit() when your game hits the end of what you deem, a demo and implements it as stated above.
  • For more info on this refer to this document:

Jo Engine does this:
static __jo_force_inline void jo_core_restart_saturn(void) { { (**(void(**)(void))0x600026C)(); } }

Which is code someone gave me in Discord. What's the correct way to do it?
 
From what I can tell the logic in the games I'm looking at in the demos seems to go like this:
  1. Check 0x06000CCC and see if it equals 0x01.
  2. If it does equal 0x01, read the value at 0x06000320 into a register. (Note some games go through and clean up registers and what not before reading this value.)
  3. Clear out Register 4 (set to 0).
  4. Jump to the sub routine at the register you wrote to in step 2 (0x060006B0).
I'm not sure if this is 100% correct, but it seems to do the trick from what I can tell.

That said, if JoEngine uses SBL to handle this in the background, you can probably pull it off by by calling the SBL functions for it. There's examples for how to do it in SBL's sample code in the SEGASMP/FLD/SMPFLD01 folder. The EXIT.C file has example code for how to properly do it.
 
Last edited:
Tank Game
Simple game for 2 players, where each player controls a tank and tries to kill the other player. But be carefull, shells can bounce once when they hit walls, There are also yellow walls, that can be destroyed and green meshed walls, shells can pass throught, but player can't.
Game currently contains only 3 maps.

Controls:
D-Pad -> movement
A -> shoot
L/R -> rotate tower

Edit: This version has a bug where pluging in less than two controllers makes one or both tanks to spase out
Edit 2: Updated game build. This build has fixed controller recognition and will show a message that 2 controllers must be connected.

menu.png
 

Attachments

  • ingame.png
    ingame.png
    6.1 KB · Views: 409
  • ingame4.png
    ingame4.png
    8.9 KB · Views: 413
  • win2.png
    win2.png
    8.7 KB · Views: 394
  • win1.png
    win1.png
    7.4 KB · Views: 433
  • TankGame 0.2.zip
    TankGame 0.2.zip
    269.8 KB · Views: 459
Last edited:

Kriss Mingle

My team made a Visual Novel called where you meet and date Mall Santas.

Or at least that was the idea. we had so many speed bumps during development that this version we're submitting was made in only 3 days, so don't expect a lot.

Credits​

Graphics - DreamcastFreak
Music - Sharkhat
Programming - Me

Controls​

Start - Starts Novel from Title Screen
A - Progress Story

(Submitting Both Music and Non-Music versions because I could only test the latter. Hope the former works!)

EDIT: I should mention, after getting so many questions about it. The game will just end abruptly on a question. The game has not crashed, I just wasn't able to implement the decision mechanics in time

1609372913468.png
Kriss1.png
kriss2.png
Kriss4.png
 

Attachments

Last edited:
Here is Dracula-X, now known as Symphony of the Night.

This patch translates most of the game from start to end and in in a fairly playable state.

Along side of it is the patching program.

The program if very easy to use.

Just open up the patcher.
Load an original disc into your disc drive (preferable) or load an image via a virtual drive.
If you do not want to take the virtual drive approach, you can select a CD image providing it is in a valid format.

Select your drive or image via the button on top.

Click the Add Patch button, and locate the Dracula-X.ssp file.

If you want to region free patch, then click on region free.

Choose the type of CD image you want to output with the radio buttons.

Finally, click Build Image, and save in your desired location.

For further info, please see the on going thread.
 

Attachments

Lunar SSS v1.2 Dub Edition


Use Knight0fDragon’s latest SOTN patcher to apply the patch your game. (Basically same instructions as above).

Same as subtitled edition but with improved videos by Trekkies. Should have no skipping in the OP movie now, but we’ll find out.

Note: Updated patch on 1/3/21 to support more ODEs by reducing space on disc (removed unused files, reduced size of 2 movies, reduced warning track). Old patch only worked on Satiator, modchips, and emulators.
 
Last edited:
Here's my entry:

FinalFantasy Demo-0000.png


This is an attempt at porting Final Fantasy to the Saturn using SBL. I used one of ndiddy's projects as a base to build off of. This uses the original NES ROM for the game data and the code right now is able to decompress the world map, render it to RGB0, and draw a player sprite to the screen to walk around the map.

What's implemented:
  • Collision detection.
  • Forest graphical effect.
  • Determining if you've encountered a random battle
  • What Kind of battle it is.
  • Where the battle takes place.
  • You can change your character by pressing the A, B, C, X, Y or Z button.
Since the NES ROM is being used, you will need to provide that. What's in the included BIN file is a dummy file. You will need to use something like CDMage to replace it with an official US ROM of the NES game. Any good uncompressed dump of the game should work.

I've attached a version of CDMage that should work for this.

This wouldn't have been possible without help from the following people:
  • ndiddy for providing me a very clean and easy to follow SBL Example project
  • Ponut64 for his Sound Driver.
  • mrkotfw, fafling, XL2, and vbt for helping me in my stupidity.
 

Attachments

Also before I forget, for Translations, Hacks, etc. I'm submitting the Grandia English Patch as well as the FDD Operator English Patch:
 
Screenshot.png


Looks like I have to throw in the towel. A tech demo build of Seniriu can be downloaded here: Release 0.1.000 · EmeraldNova/Seniriu
Attached is the Player's Handbook. I'd really appreciate a read. Seniriu is meant to be a science fiction first person role playing game. The current release is a demo of the engine and models. Have fun exploring the dungeon.
 

Attachments

Back
Top