HomeForumsWhat's newResources 
 
 
Vertical Shmup prototype
CarlosTheMover - Sep 19, 2015
 CarlosTheMover Sep 19, 2015
So a while ago a wrote a small vertical shooter prototype. My goal, other than learning the Saturn, was to build an engine-type thing that that would manage VDP memory a little better than having to hardcode assets and do a little bit of game object management.



It doesn't do a lot, but I think it's a decent start. Runs on hardware (!)

You'll need SaturnOrbit to build.

Source: https://dl.dropboxusercontent.com/u/17303735/Shoot...
Iso: https://dl.dropboxusercontent.com/u/17303735/shoot...
Bin: https://dl.dropboxusercontent.com/u/17303735/shoot...

 mrkotfw Sep 20, 2015
Excellent work!

What kind of ideas do you have for managing the VDP1?

 CarlosTheMover Sep 20, 2015
Nothing very sophisticated. All the examples I found all worked with a fixed array of textures and pics. I wanted to break that and make a system that loaded textures on demand and handled all the addressing. You can see in level.cpp how it manually loads sprites. And then in the files related to game objects (player, enemy, etc.) they ask the VDP1Manager for their texture index by searching with the SpriteDef they want to use. Then at render time they use that texture index.

For VDP2, each of the four banks is setup as a stack. Choose a bank when loading a tileset or background and it'll also handle the addressing and copying of data.

It's not really complicated but it helps when a project increases in complexity: as more assets are used, hardcoding doesn't scale very well.

 mrkotfw Sep 21, 2015
Good ideas. It all depends on the game. Often times, you'll be able to get away with simply building everything into atlas textures. As in, if you design your game around scenes (levels), you can load a large texture that includes ALL the textures for that particular scene. The great thing about this is that you can specify X,Y coordinates and generate an address from that. Ideally, you'll want to manually segment VDP1 VRAM into chunks. Say, have 1024 command tables (32KiB), the rest, for textures.

Again, depending on the game, you'll want to do as much of the work before the actual start of the scene.

 cafe-alpha Sep 21, 2015

CarlosTheMover said:


Good job !
Please keep forward in developing your game

 aeroflot Sep 29, 2015
Looks good! Glad you're making some progress.

 vbt Jan 3, 2016
CarlosTheMover, any news ?

 CarlosTheMover Jul 14, 2016
Hello!

No real news. After getting it to work on hardware, I moved on to other projects. Right now I'm spending time analyzing old Sega PC games (Sega Rally PC, Panzer Dragoon PC) to see if there's anything fun in them. It does make me want to do more Saturn stuff.

 cafe-alpha Jul 15, 2016

CarlosTheMover said:


You're always welcome back here
Hope you will continue your shmup project !

 Red Ring Rico Jul 16, 2016

CarlosTheMover said:

You can't escape the call of the Saturn =P.