An artillery style game for the Apple IIgs. But with cats.
Go to file
2023-07-24 20:29:11 -07:00
Art Basic main menu working! 2023-07-24 20:29:11 -07:00
DiskImageParts Smarter disk image management 2023-06-18 16:59:37 -07:00
GSCats.xcodeproj Basic main menu working! 2023-07-24 20:29:11 -07:00
Sound Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
.gitignore Font engine refactor 2023-07-16 20:10:00 -07:00
animation.s Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
boot_mame.sh Fix scrolling speed 2021-07-24 13:55:16 -07:00
cadius Smarter disk image management 2023-06-18 16:59:37 -07:00
circleTable.s Fixed craters on hi-res terrain 2017-09-17 16:17:27 -07:00
collision.s Optimized span rendering moved to $E1 2018-01-16 12:56:53 -08:00
CompileFont.py Font rendering is now left justified 2023-07-17 15:53:17 -07:00
crosshair.s Added power indicator to crosshair 2023-06-25 18:43:07 -07:00
dirt.s Better looking dirt explosions, at cost of some terrain artifcats 2020-01-05 16:18:01 -08:00
equates.s Groundwork for graphical loading screen 2023-07-18 20:15:53 -07:00
fan.s Added option for weapon deployment delay 2021-07-24 14:41:48 -07:00
font8x8.s Integrated tiny number font with font engine 2023-07-16 15:18:06 -07:00
font16x16.s Combine cross-row stack moves in font compiler 2023-07-13 13:34:03 -07:00
fontEngine.s Font engine refactor 2023-07-16 20:10:00 -07:00
fonts.s Basic main menu working! 2023-07-24 20:29:11 -07:00
gamemanager.s Ground work on title screen 2023-07-23 14:59:55 -07:00
gameobject.s Added animation system with hit animations for cats 2023-06-30 15:32:17 -07:00
GenerateCircles.py Fixed craters on hi-res terrain 2017-09-17 16:17:27 -07:00
GeneratePixelCircle.py Foundation work for aiming crosshair 2023-06-21 20:07:30 -07:00
GenerateRawImage.py Ground work on title screen 2023-07-23 14:59:55 -07:00
GenerateRenderSpans.py Optimization 2017-08-07 22:10:16 -07:00
GenerateSoundBank.sh First implementation of sound 2023-07-04 20:09:17 -07:00
GenerateSpanDataTable.py First working version of virtual stack unrender 2018-01-06 15:30:06 -08:00
GenerateTrigTables.py Basic rendering of projectiles 2017-08-24 21:45:05 -07:00
GenerateVRAMTable.py Optimizations and cleanup 2017-08-06 13:26:31 -07:00
GenerateVRAMYOffset.py Lookup for render span VRAM rows 2017-12-27 10:06:42 -07:00
graphics.s Added palette cross-fading 2023-07-20 19:41:06 -07:00
gscats.s Ground work on title screen 2023-07-23 14:59:55 -07:00
input.s Basic main menu working! 2023-07-24 20:29:11 -07:00
inventory.s Font rendering is now left justified 2023-07-17 15:53:17 -07:00
linkerConfig Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
loader.s Basic main menu working! 2023-07-24 20:29:11 -07:00
loaderGraphics.s Added palette cross-fading 2023-07-20 19:41:06 -07:00
loadingBar.s Ground work on title screen 2023-07-23 14:59:55 -07:00
macros.s Added power indicator to crosshair 2023-06-25 18:43:07 -07:00
Makefile Ground work on title screen 2023-07-23 14:59:55 -07:00
MerlinToCA65.sh Fixed art pipeline bug 2017-10-17 08:21:29 -07:00
ParseMapFile.py Optimized span rendering moved to $E1 2018-01-16 12:56:53 -08:00
player.s Added progress bar for anger 2023-07-17 20:36:04 -07:00
progressBar.s Fixed a low-end rendering bug in progress bar 2023-07-17 20:44:46 -07:00
projectile.s Fixed a low-end rendering bug in progress bar 2023-07-17 20:44:46 -07:00
random.s Dirt clod creation and explosion working 2020-01-05 15:11:14 -08:00
ReadMe.md First implementation of sound 2023-07-04 20:09:17 -07:00
RenumberSpriteFiles.sh Overhaul of art pipeline to support sprite flipping 2018-08-06 13:00:13 -07:00
sharedGraphics.s Added palette cross-fading 2023-07-20 19:41:06 -07:00
sound.s Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
SoundBank#060000 Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
spritebank.s Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
SpriteBank#060000 Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
tables.s Foundation work for aiming crosshair 2023-06-21 20:07:30 -07:00
terrain.s Fixed nasty memory overwrite 2023-07-22 18:01:10 -07:00
tinyNumbers.s New font cleanup 2023-07-16 19:01:14 -07:00
titleScreen.s Basic main menu working! 2023-07-24 20:29:11 -07:00
utility.s Added animation system with hit animations for cats 2023-06-30 15:32:17 -07:00

GSCats

Introduction

This is a simple game in the style of Apple II Artilley, Scorched Earth, or Worms but with cats and nobody gets hurt.

This was written as an exercise for me to learn the fundamentals of Apple IIgs game programming, and I certainly won't claim there's anything special here technically. The neatest part is probably the terrain, which is deformable and scrolls at 60fps on stock hardware. Well, sometimes it does, anyway, depending on how you hold your nose. The GS is hard.

Acknowledgements

I'm writing this game now because I'm learning all the things I wished I could know when I was a teenager and playing all the amazing GS games. Games like Rastan, Task Force, Alien Mind, The Immortal, and Sword of Sodan that did things that people said the GS shouldn't be capable of. I was never able to acquire the knowledge of how these things were done back then, but thanks to an amazing modern retro community, I can! In that spirit, thanks to:

  • John Brooks, who has forgotten more about the GS than I will ever know.
  • Rebecca Heineman, who wrote every good game on the platform that you probably played except the ones John wrote
  • Jeremy Rand, who is inspiring to me with his prolific retro programming endeavours and humble spirit. Not to mention I learned a lot from reading his code for BuGS.
  • Brutal Deluxe, who have made so many great GS tools, including Mr. Sprite and Cadius, upon which this game depends. I doubt you could find anyone more consistently devoted to the platform than these guys. Mr. Sprite's Tech Page is probably the greatest single treatise ever written on how to do fast Apple IIgs graphics.
  • Dagen Brock, for tirelessly maintaining the last remaining (as of this writing) good GS emulator, GSPlus. Without good emulators, retro-development dies, so thank you for fighting the good fight, Dagen. Emulating the GS is a thankless job for a platform almost nobody cares about.
  • All of the KansasFest and Apple II community on Slack and elsewhere

Sound Credits: