Super un-awesome retro "game"
A downloadable game
Update v0.02:
- Player can now change rooms by entering doors.
- Created Amiga ADF file.
My entry for the "Retro Platform Jam 4".
Runs on:
- Amiga 500/1200. Tested with WinUAE. Kick 1.3 or higher. (1.2 might also work)
- Atari ST. Tested with Steem SSE. TOS 1.02, 1024K
- (MS) DOS. Tested with DosBox
I got lost in cross-platform engine & tool development and in the end did not have time to create the actual game. ;)
Controls
Arrow Keys to move.
Space to attack.
Escape to quit. (Works on Amiga and DOS. Might crash on Atari ST)
As for the engine that was created for this jam:
It can export the same codebase to Amiga 500/1200, Atari ST and (MS-)DOS and is basically a "one-click" solution. Sprites, Tilesets, Audio and Maps are auto-converted to be suitable for the target platform. Maps are created in TilEd and then auto-converted to a custom binary format.
As for the game: Well... i would not call it that. ;)
Creating the cross-platform tech was super fun though and i will continue implementing other retro platforms just for the fun of it (PSX, PC-98, SNES, Genesis ...)
Note: I did not have time to implement doors to the other maps. If you want to play the other maps, just rename the map you want to play to "Dungeon3.map". You can find the maps in the ./assets/maps folder. Fixed in v0.02
Art
Dungeon Interior https://worldofnoel.itch.io/dungeon-interior
Zelda Clone https://bryantmakesprog.itch.io/tutorial-zeldaclone
Happy little Adventure v2.0 https://momen-games.itch.io/happy-la-v2-ts
Download
Click download now to get access to the following files:
Comments
Log in with itch.io to leave a comment.
What is this engine? What did you write it in?
Hi,
The engine was written from scratch for the jam. There are platform specific implementations for rendering, input, audio and timing. The gamecode itself is platform-agnostic. During the build process, the correct target platform implementations for rendering/input/audio/timing are selected and used.
Amiga uses 4bpp interleaved bitplanes and blitter driven software sprites for rendering. Audio is implemented via the awesome "ptplayer.asm" by Frank Wille. I still have to create an automated workflow to create an .adf file after compilation is done.
Atari ST uses regular 4bpp bitplanes. No blitter is used, as i wanted to be compatible with regular, non STe Ataris. This slows rendering down a lot, but at the moment it's good enough. Digital SFX is implemented via "interrupt bashing" the ym2149. Playing music is not yet possible. After compilation is done, everything is automatically wrapped up and put in an .st file using "MSAConverter".
DOS uses "god old" mode 13h for rendering. I also tried ModeX/unchained mode, but it was not worth it in my case. Audio is implemented via "MikMod".
All images are regular 8bpp and are converted to the target platform format during the build process via Image Magick/Irfan View scripts.
Audio is converted to target platform format with SoX scripts.
Maps are created in "Tiled", exported to json and then converted to a custom raw format to be used in the game.
The engine is written in C and a very very tiny bit of (inline) ASM.
Implementing all these things took way too long, but it was a lot of fun and I will definitely keep working on the engine and implement more target platforms :)
Have you written in C and compiled separately on each platform?
Yes, it's written in C and then cross-compiled for the target platforms.