Commit Graph

49 Commits

Author SHA1 Message Date
Jeremy Rand b8b9089aa2 Start trying to extract the global high scores code so it can be turned into a generic library. 2022-05-25 21:50:38 -04:00
Jeremy Rand 25a8fbeacd Display a better message when a score upload fails so it is more clear what happened. 2021-07-08 00:13:26 -04:00
Jeremy Rand bf35d817eb Update the build environment for this project to the latest. 2021-07-06 17:04:25 -04:00
Jeremy Rand ed9f53551c Add the hash toolset to the baseline disk image. Add md2teach so the build can turn a markdown file into a Teach text file at build time. Introduce the Read.Me from the distribution to the GitHub repository as a markdown file so it can be translated to Teach. 2021-06-06 23:49:36 -04:00
Jeremy Rand 4e456cab15 Major rework because I am out of code space in the main segment. Move some stuff around in the C code to get them into other segments. Change the network code so that most of its globals are actually allocated dynamically when network functionality is detected. Change the network state machine so the connection is closed and re-opened on each transaction rather than trying to hold the connection open. It was failing during the game because the network is not being polled. Provide some visual feedback if there is a network problem in the game itself.
Re-opening the connection isn't working for some reason but this is getting pretty close to working.
2021-06-04 00:41:11 -04:00
Jeremy Rand 8d95d0a674 Bump the version to 1.9 since this is work towards v2.0. Add the structs for the messages to a server side high score list. Add the hash tool to the boot image for network testing. The requests will use hashes to validate that they come from the game. 2021-05-28 00:03:04 -04:00
Jeremy Rand 701d9fd312 Add some infrastructure to be able to test networking code from within the emulator. 2021-05-20 23:49:14 -04:00
Jeremy Rand d7bfef38b7 Update the project readme. 2021-02-14 16:45:42 -05:00
Jeremy Rand 0e1e35c7cb Lots of updates to the readme. Add some bars along the left and the right to delineate the play area. 2021-02-12 17:31:30 -05:00
Jeremy Rand 3a77ba1367 Add the source wav files that I used for the sound samples and add a script which I used to convert them to a raw format that can be played on the GS. That should make it easier to modify the sounds if necessary in the future. Converting the sounds from wav to raw is not part of the build. The raw files themselves are committed in the repository although the build could be changed to generate the raw sounds at build time. 2021-01-18 00:34:50 -05:00
Jeremy Rand 678a9ee104 Add code to keep track of two separate screens of mushrooms for player 1 and player 2. 2021-01-17 14:51:36 -05:00
Jeremy Rand 384a9ea233 Make more globals per player and index into them with the player number at game time. 2021-01-10 23:17:05 -05:00
Jeremy Rand b8ab0d80aa Change the build to put the executable into a 800k disk image and have a separate boot image. This will make it easier to distribute because the 800k disk image is the release. Bump the version to 0.9.1. 2021-01-04 22:34:45 -05:00
Jeremy Rand 4d6f8d39f1 Change the prompt when the stereo channels are swapped so the user gets some feedback. Display the high score list. Still need to add the code to update the high score list. 2020-12-30 23:10:22 -05:00
Jeremy Rand ea49a5d11c Add the scorpion sounds. 2020-12-23 14:54:17 -05:00
Jeremy Rand d962e98368 Add the flea sound. 2020-12-22 01:00:10 -05:00
Jeremy Rand 32aee75462 Add the segment, spider and extra life sounds. Add some more information about the mysterious crash. 2020-12-18 00:50:01 -05:00
Jeremy Rand ec1eb7cc0e Directly control the Ensoniq sound chip by writing to its registers to play sounds rather than using the free form synthesizer functions in the sound toolbox. 2020-12-17 00:35:56 -05:00
Jeremy Rand d201f80c3b Move the sound code into a gameSound.s file. This is the first step towards going around the sound toolset for playing sounds. 2020-12-16 12:00:56 -05:00
Jeremy Rand 42585898a4 Rename tileData.pl to genData.pl because we are generating more than just tile data now. 2020-12-08 00:28:04 -05:00
Jeremy Rand 73458254e5 Add an acknowledgements file and fill in some information but I need to go through and make sure more people are recognized for their support. Add some raw sounds and include them as resources in the binary. 2020-12-08 00:23:42 -05:00
Jeremy Rand 5258e79176 Add the code to reset the mushrooms after death. 2020-11-24 23:44:50 -05:00
Jeremy Rand fd40c12d31 Explode a bug when it crashes into the player. When the last segment collides with the player, go onto the next level. 2020-11-18 23:36:01 -05:00
Jeremy Rand 520aaa5a34 Add collision detection for all of the bug types. Remove the debug code for shooting bugs. It is almost a functional game now! 2020-11-17 22:53:30 -05:00
Jeremy Rand 4e6bad0ae7 Start adding the code for supporting shooting. 2020-11-16 00:14:08 -05:00
Jeremy Rand edcddc0bd8 This build has the player moving in X and Y directions and with cleaner handling of the dirty tile to remove the inefficiencies. The good news is that there is no longer any performance problem at 2.8 MHz now that the inefficient dirty tile handling has been removed. The bad news is that they player leaves garbage behind indicating some kind of problem with dirty tile marking. But it is close. 2020-11-05 00:21:46 -05:00
Jeremy Rand bb66ef4b03 Replace the C code which built tables at game launch time with a script which generates these tables at build time. This reduces the start time of the application and saves code space and is a necessary step before adding some new tables to handle the mouse efficiently. 2020-11-04 22:48:18 -05:00
Jeremy Rand 4e500c6f38 Start adding some mouse code and display a player on the bottom row of tiles only for now. No collision detection hooked up and it is terribly inefficient but it seems to work. 2020-10-28 23:46:32 -04:00
Jeremy Rand 62fcc82790 Add the code to shoot mushrooms and hook up a debug routine to shoot random mushrooms. 2020-10-26 23:26:12 -04:00
Jeremy Rand 9a34532d77 Implement the code to add spiders to the game. From my testing, it looks like 2 seconds after a spider leaves the game (either shot or off the screen), another one is added. Also, once the score is about 5000, the spiders added will be fast. The only spider behaviour I know of which is so far not implemented is as the player reaches higher levels, the spider constrains itself closer and closer to the bottom of the screen. 2020-10-22 00:00:16 -04:00
Jeremy Rand a1b4013e1c Hook up the score. Shooting fleas, spiders, scorpions or segments will increase the score. We track the score in two ways. One is just as a 32-bit unsigned integer for doing numeric comparisons on the score (say to the high score list to be implemented in the future) and secondly as a series of numeric digits displayed in a tile. Both are updated. 2020-10-13 23:24:15 -04:00
Jeremy Rand b85000b4ed Start adding the infrastructure for levels and score. 2020-10-13 00:09:37 -04:00
Jeremy Rand c4902f486b Add some global data to have a bit mask of tiles which contain a centipede segment. This will allow the update code to figure out if centipede segments are colliding and if so, change direction. Still need to write some codegen for this global constant data rather than building it at runtime in C. 2020-09-20 22:22:58 -04:00
Jeremy Rand 7d7afc908d Use macros to reduce the copy/pasted code for marking tiles as dirty. Rough out the support for body and head segments. 2020-07-30 23:34:48 -04:00
Jeremy Rand 4f74d630b9 Start coding support for the spider. Also, try to show the performance of the main game loop in the border colour. 2020-07-23 23:41:12 -04:00
Jeremy Rand c614164c14 Add code to get scorpions animating to the left. Lots of cleanup, adding a global data section that also has important global constants. 2020-07-21 21:47:50 -04:00
Jeremy Rand 1ccdb1d0b6 Start to get scorpion support into the game. 2020-07-20 23:04:27 -04:00
Jeremy Rand 88ea840e23 Update the flea sprite as it drops. Add random routines. Thanks to John Brooks for those. Use the random routines to pick a column for the flea to drop from. Also, randomly leave behind a mushroom as it falls. 2020-07-19 15:15:45 -04:00
Jeremy Rand 0336c692c4 Add some code to support animating fleas in the game. 2020-07-18 22:11:20 -04:00
Jeremy Rand 3f9e7bd066 Start implementing the code to draw the tiles on the screen. 2020-07-15 00:32:14 -04:00
Jeremy Rand a718c8caef Lots of general sprite cleanup. Add sprites for the ship and the shots and include collision detection in those routines. I think all of the drawing code is done now, maybe? 2020-07-09 22:55:08 -04:00
Jeremy Rand 7f33c3d400 Create all of the left facing head segment sprites. 2020-07-04 02:45:53 -04:00
Jeremy Rand 72265face9 Start adding centipede head segment sprites. 2020-07-03 02:04:27 -04:00
Jeremy Rand 598934446b Finish the spider sprites and the explosion sprites. Remove "and" masking from the spider and scorpion sprites because they will be drawn first and will not overlap with anything on the foreground. Split the sprite.s file into a series of smaller files for each type of sprite. Add a file to describe the overall plan for the design of the sprites. 2020-07-02 22:57:52 -04:00
Jeremy Rand 4766662de1 Add a readme and license file. 2020-06-17 00:02:46 -04:00
Jeremy Rand fd72e9f18b Start coding up the sprite code. 2020-06-16 23:59:12 -04:00
Jeremy Rand ceb2d00ff0 Add some code to set the scan line control bytes and the colour palette for all of the different levels of the game. 2020-06-16 00:02:20 -04:00
Jeremy Rand a9810ecb75 Well, it launches, clears the screen, waits for a key and then quits. But it is a start. 2020-06-10 23:51:53 -04:00
Jeremy Rand dbe7e7ad3f Initial Commit 2020-06-10 21:47:00 -04:00