ThatDude Posted June 9, 2014 Share Posted June 9, 2014 (edited) Underwater Predator By ThatDude (Declan Hoare) EDIT: All updates will be posted with their own post to this topic. If you want the latest version, go to the last post in this topic by me. I would appreciate it if you didn't take my name out of this game's credits or sell the game without my permission. Technically, the latter is legal, but I would obviously prefer that you didn't. This is the first version of my first ever working Atari 2600 game, distributed under the GPL version 3. Please let me know what you think and give suggestions for improvements! You are a shark (in the loosest sense of the word ) flying around in SPAAAACE! underwater, surprisingly. You have to eat the "gold"fish (although because of the 2600's limited pallette, they're really light yellow) while avoiding black fish, which are rotten but somehow still alive and swimming (SHHH, don't question these things). Every 20 points, the speed of the fish increases, and although the first speed is downright boring, it quickly gets more interesting. You use the stick to move and the button to eat. Source code (warning: extremely messy): predator.bas NTSC ROM: Underwater_Predator_V1.bin I haven't made a PAL ROM at the time of this posting, but I definitely will at some point - I live in a PAL region, after all. z26 and Stella both run this game fine, although I don't have a Harmony cart (or, for that matter, a 2600) so I can't be sure if it works on real hardware. Enjoy! Edited June 9, 2014 by ThatDude 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted June 9, 2014 Share Posted June 9, 2014 I don't know what it looks like on a real TV, but in general, red on blue isn't a great idea. Quote Link to comment Share on other sites More sharing options...
ThatDude Posted June 9, 2014 Author Share Posted June 9, 2014 (edited) I wouldn't put game sprites and text in the same league, but if you say so: Underwater_Predator_V1.1.bin Yellow looks nicer anyway, I'm sticking with it. Thanks! Edit: Whoops, forgot to upload the source code. All I did was change the colour of Player 0 in SetupGame and playgame, but technically this version can't be considered GPL unless I release the source, so: predator.bas Edited June 9, 2014 by ThatDude 2 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 9, 2014 Share Posted June 9, 2014 I had some ideas for your game. Maybe you can find some of these useful. Feel free to do whatever you want, I was just with a little too much free time. Have you thought in an energy bar? this way the game would stop if you don't eat yellow fish. Also the black fishes could be deadly on touch and slowly approach the Y-coordinate (or row) of player (by example going up or down one pixel each eight frames or less per difficulty) The fishes could be animated, moving the tail a little. Using missile graphics you could create a kind of vertical barriers (seaweed?) that should be avoided. Another idea for black fishes, using the two or three-times repeat feature in advanced levels. This way the screen could look more "complex" Quote Link to comment Share on other sites More sharing options...
ThatDude Posted June 9, 2014 Author Share Posted June 9, 2014 nanochess, thanks for playing my game. Those all sound like good ideas. I'd like to stick with a 4K ROM so I don't know if they'd all fit, especially alongside some of my own plans (i.e. 2 player mode) but I'll give it a try. (seaweed?) That green stuff at the bottom is seaweed, although it's just decoration. Maybe I should make it deadly, but there's no reason to actually go down there at the moment (fish can't go down far enough). Quote Link to comment Share on other sites More sharing options...
bogax Posted June 9, 2014 Share Posted June 9, 2014 nanochess, thanks for playing my game. Those all sound like good ideas. I'd like to stick with a 4K ROM so I don't know if they'd all fit, especially alongside some of my own plans (i.e. 2 player mode) but I'll give it a try. That green stuff at the bottom is seaweed, although it's just decoration. Maybe I should make it deadly, but there's no reason to actually go down there at the moment (fish can't go down far enough). There are opportunities for optimization if d = 0 then if b = 12 then AUDV0 = 4 if d = 0 then if b = 12 then AUDC0 = 4 if d = 0 then if b = 12 then AUDF0 = 7 if d = 0 then if b = 12 then AUDV1 = 4 if d = 0 then if b = 12 then AUDC1 = 2 if d = 0 then if b = 12 then AUDF1 = 5 if d = 0 then if b = 14 then AUDV0 = 0 if d = 0 then if b = 14 then AUDC0 = 0 if d = 0 then if b = 14 then AUDF0 = 0 if d = 0 then if b = 14 then AUDV1 = 0 if d = 0 then if b = 14 then AUDC1 = 0 if d = 0 then if b = 14 then AUDF1 = 0 could be rewritten as if d then skip if b = 12 then AUDV0 = 4 : AUDC0 = 4 : AUDV1 = 4 : AUDF0 = 7 : AUDC1 = 2 : AUDF1 = 5 if b = 14 then AUDV0 = 0 : AUDC0 = 0 : AUDV1 = 0 : AUDF0 = 0 : AUDC1 = 0 : AUDF1 = 0 skip many less if statements if d is equvalent to if d <> 0 but takes less code making assignments of the same value consecutively on the same line uses less code. When the score gets over ~80 best strategy (for me any way) is to just sit in one spot and hope I can bite at the right time as the goldfish swim past. so you might want to make the gold fish dodge as an increase in difficulty. (if you do I'll probably never get past 100 ) Quote Link to comment Share on other sites More sharing options...
ThatDude Posted June 9, 2014 Author Share Posted June 9, 2014 Thanks for the code! If I run out of ROM space my plan is to rewrite the fading code so that it runs on a loop instead of being hardcoded. so you might want to make the gold fish dodge as an increase in difficulty.(if you do I'll probably never get past 100 ) An increase in difficulty is always a good idea in my book. (And before anyone says anything, no, I'm not going to include every idea that gets thrown at me; but if it's good and I have enough ROM space to pull it off, I'll put it in the game.) 1 Quote Link to comment Share on other sites More sharing options...
ThatDude Posted June 9, 2014 Author Share Posted June 9, 2014 I managed to implement some of those ideas. There is now an energy bar that depletes slowly and increases when you eat yellow fish. If it gets to zero, obviously you lose a life. Black fish now home in on your player and kill you on touch. Fish are now animated. Yellow fish now dodge downwards if you're too close. I also included a buggy bit of code for randomly choosing a NUSIZ value for the black fish in the source. Uncomment lines 410-420, compile the game, and get to 40 points to see it in action. It certainly works but the collision detection fails with most values so it's commented out for now. predator.bas Underwater_Predator_V1.5.bin 2 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted June 9, 2014 Share Posted June 9, 2014 How about a game play video or screenshot? Quote Link to comment Share on other sites More sharing options...
ThatDude Posted June 9, 2014 Author Share Posted June 9, 2014 How about a game play video or screenshot? https://www.dropbox.com/s/xybelt13s6d27w0/Underwater_Predator_V1.5.png I am apparently not allowed to use that extension in this community, so here's the link. Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted June 9, 2014 Share Posted June 9, 2014 https://www.dropbox.com/s/xybelt13s6d27w0/Underwater_Predator_V1.5.png I am apparently not allowed to use that extension in this community, so here's the link. Weird. It works for me: Maybe you need to have a certain number of posts? Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 9, 2014 Share Posted June 9, 2014 I managed to implement some of those ideas. Nice! It now starts feeling like a true game Keep up the good work! BTW, somehow I was seeing your game like a scrolling one, but just I've seen it has the bottom part fixed. Anyway the missile barriers could run from right to left "carried" by the river. Quote Link to comment Share on other sites More sharing options...
ThatDude Posted June 23, 2014 Author Share Posted June 23, 2014 This is version 2.1 of Underwater Predator. (2.0 is unreleased, and it is going to stay unreleased. It's too buggy to play.) Here are the changes from 1.5: There is now a bit of background noise. The frequency and pitch change with every difficulty level. I've added a plastic bag which gets sucked into your open mouth, so keep your mouth shut when you're not eating! Unfortunately, the sprite looks like, well, rubbish, but not in the way I want it to. There are sound effects for eating yellow fish and dying. The sound for eating only uses one channel. Technically, the yellow fish are twice as common as everything else. In practice, it's barely noticeable. This is because of the limited random number functionality of the 2600. The missile barriers that nanochess asked for are now in the game, and show up every 240 frames (or slightly more often depending on the difficulty level; you're unlikely to get far enough into the game to notice). Here's my remaining TO-DO list: Add some music - "Have you played Atari today?" jingle on the Atari logo screen, and, of course, the opening bars to "Firework" by Katy Perry whenever the plastic bag is onscreen Make the black fish get bigger at 40 points (I just need to work out how to fix the collision detection) Add the Titanic, which, inconveniently, just keeps sinking over the top of the Predator. This was suggested to me by a friend, although I can't figure out how the Titanic would sink more than once. It'd also be an incredibly underwhelming Titanic, a whole 8 pixels wide! If possible, add another screen when the Predator reaches the top of the existing one, allowing him to jump out and eat a bird flying past. Add 2-player turn-based mode. Enjoy! Underwater_Predator_V2.1.bin predator.bas 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.