Skip to main content

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

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.