Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Hey there! Well done so far, keep up the good work! What is your dev stack if I may ask? I am assuming VS Code with some Asm  integration?

Thanks! Well this is being developed in Codex Desktop/ChatGPT with 5.6 SOL as model, I instructed it to make Amiga games in C / lowlevel and started from there and from scratch. Now many hours later we have a complete toolchain. Because I'm a software engineer I do regularly check what is being produced in code in VSCode which sometimes determines my next prompt/question

I just let Codex summarize the the complete toolchain/dev-env:

  • C — the main programming language for the game and direct Amiga hardware control
  • VBCC — cross-compiles the C code for the Motorola 68020
  • VASM — assembles the generated and low-level 68k code
  • VLink — links everything into the final Amiga executable
  • AmigaOS NDK — provides the AmigaOS headers, system structures and hardware definitions
  • GNU Make — automates asset generation, compilation, testing and release builds
  • Python and Pillow — convert artwork into Amiga palettes, bitplanes, sprites, masks and packed runtime assets
  • Git — version control and development history
  • FS-UAE — emulator testing at both 68020 and 68030 configurations
  • Real hardware — final testing on an A1200/68030
  • ADF, HD and WHDLoad packaging tools — create bootable floppy images and installable release packages

The game is mostly written in C rather than handwritten assembly, but it directly controls the Copper, Blitter, hardware sprites, DMA and Paula audio.

The AI models are indeed improving in leaps and bounds in a matter of weeks! I used AI to optimize my Blitz Basic code for Hyper Runner, specifically by converting hot-path logic from BASIC to Assembler and I saw a lot of performance improvements, to the point where Hyper Runner could run on a stock 1200.

I think going with the C approach is a good idea as the models deal better with higher level languages, while on the other hand C is also good for the low level operations (register access etc) required.

I will certainly adopt this approach in future Amiga projects.

My current project is for Neo Geo, using NgDevKit and a setup very similar to the above, using Python and Powershell for data processing tools etc.

(2 edits)

Ah just now I realize you're behind Hyper Runner, awesome game, I have a reminder set to order the physical version. Really nice work and good luck with your new project!

Now you mention Blitz Basic, when I started I asked to do it in C but also look for other options, Blitz Basic, Amos, Scorpion etc we're all mentioned and researched but for my usecase we sticked to C

About performance, my mistake was test too much on 030 so 020 became horrible FPS wise. Gained a lot FPS back and fixed other issues along the way  by letting ai inspect and debug the compiled code. Fun times.