+atari2600land Posted August 12, 2013 Share Posted August 12, 2013 Apparently I already made a game called Brix, but this is a totally different design game. I've worked on a game similar to this with batari Basic, but this is for the Odyssey2. This will have some elements of the arcade game with the same name made by Cinematronics http://www.arcade-museum.com/game_detail.php?game_id=7219 - KLOV entry on "Brix" Here are a few screens as well as an early binary file for use with O2EM, or if you're lucky enough to own a C7050 cart, that too. brix.bin Quote Link to comment Share on other sites More sharing options...
raindog Posted August 12, 2013 Share Posted August 12, 2013 Always nice to see more O2 homebrew! Can't try it at the moment since o2em is messed up on my system, but I look forward to seeing what you've done so far. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 13, 2013 Author Share Posted August 13, 2013 Added collision detection and a title screen. Press fire to begin. It's not much of a title screen, but I apparently needed one to make the blocks random. brix4.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 13, 2013 Author Share Posted August 13, 2013 It's a "hole" new way of playing your Magnavox Odyssey 2! Santa says "Hole-hole-hole!" about the new Christmas game called "Holes." It's the day before Christmas Eve and Santa has lost his reindeer again. They escaped their stables and made it across Santa's magic swimming pool. Since it's Winter, lucky for you, there are ice chunks floating in it. These are helpful for Santa to cross his pool, because he doesn't know how to swim. Also, the left and right sides of his pool are deadly. If you manage to make it there, you'll die, along with getting in the water. I hope to have this finished by December 25. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 14, 2013 Author Share Posted August 14, 2013 Added a reindeer to get. To get the reindeer to follow you, touch it, then go back to the bottom. Once you get there, another reindeer will pop up. santa2.bin Quote Link to comment Share on other sites More sharing options...
timdu Posted August 14, 2013 Share Posted August 14, 2013 Hi Chris - I read your blog as well. How about if you call the game REINDEER instead of SANTA Just an idea I am throwing out there for you that came to mind. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted September 16, 2013 Author Share Posted September 16, 2013 The game now has sound. Starting with the next version, the title screen will say "REINDEER" instead of "SANTA"...if it will let me. santa3.bin Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted September 16, 2013 Share Posted September 16, 2013 For a moment I thought Me, you and RePixel8 were all making breakout type games at the same time Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 12, 2013 Author Share Posted December 12, 2013 Small update. I plan to have this finished by December 25...2014. After breaking a new version, it took me a very long time to rebuild it (at least a half-day of continuous work.) And I think I'll rename it Nice Ice. Because ice is nice, letting Santa Claus skip on it so he doesn't drown in his swimming pool because he can't swim. Yes, the elf will have a new sprite. The stick figure is just temporary. Help designing it would be cool (maximum 8x8 pixels, one color). So anyway, there's a lot of work left, so I doubt I can get it finished by this Christmas. 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 17, 2013 Author Share Posted December 17, 2013 Last major update before Christmas. I added collision detection so the game is somewhat what I had envisioned when I first began working on it. Please report any bugs or whatever you find odd or if you have any suggestions, tell me those as well. I want this game to be as good as possible. Grab the latest ROM here: http://www.atari2600land.com/niceice/ Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 19, 2013 Author Share Posted December 19, 2013 (edited) I made a little video in case you don't have an Odyssey 2. Sorry for the quality, I have to use VHS to DVD. http://www.youtube.com/watch?v=lio0eYHxJBE Edited December 20, 2013 by atari2600land Quote Link to comment Share on other sites More sharing options...
Hakogame 箱亀 Posted December 20, 2013 Share Posted December 20, 2013 I don't really know what kind of technical limitations you're working with on the Odyssey2, so I don't know if my suggestions are do-able or not. Anyway, after watching the gameplay video, I think there's a little too much waiting in the game. What I would suggest is to have more ice blocks, and make them a little more random in placement. Perhaps per row, you could have 1 regular ice block and one unstable ice block. The unstable ice block could act like the diving turtles in Frogger, so you'd never be sure that you'd want to jump onto it or not. Or, you could add a randomly appearing temporary helper (like a whale, perhaps), who occasionally pops up for a few seconds before disappearing. Of course, if you add some stuff to make it easier, you may also need to add an additional enemy/obstacle to re-balance the difficulty. Such as: the elf sometimes drops bombs on the ice. The game looks like it's still a little early, so I'm not sure what direction you're planning to go with it. Feel free to use or ignore these suggestions. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 20, 2013 Author Share Posted December 20, 2013 The Odyssey 2 has 12 "characters" (preset sprites) and 4 sprites to work with. I'm using 7 characters (the ice blocks) and all 4 sprites. sprite 0 - santa's yellow part sprite 1 - santa's red part sprite 2 - reindeer sprite 3 - elf Another thing is that the characters can't overlap each other, so I can't have, say, a little man character act as an elf on an ice block. One thing I do want to do is as the game progresses, have the ice blocks move faster, but I don't know if I have enough room to do this and still make it a 2k game (I don't know how to bankswitch yet.) Quote Link to comment Share on other sites More sharing options...
timdu Posted December 20, 2013 Share Posted December 20, 2013 Hi Chris - Just taking a break from work and I wanted to comment. I know you want to keep the game at 2K. Adding all these features is probably going to make it be a 4K game. Time is in your side - since this will be released Christmas 2014 you can learn how to do the bankswitching I am sure. But if not, how about this: can you make the ice pond a little bigger? Instead of 7 ice blocks, maybe 10? That would make Santa have to successfully land on 10 ice blocks, rescue the reindeer, and then land on 10 ice blocks back to safety. The other thought is that there is not enough scoring. Maybe a point could be awarded for every ice block? 100 points when a reindeer is back to safety. If you do not want to worry about making the ice blocks go faster in higher levels, then maybe you could change the game to be a race against the clock and see how fast the reindeer can rescued. That would be a cool contest, too! So instead of having the 4 digit score, you would have a timer that would increment in minutes, and seconds... once the reindeer is brought to safety, the game would be over and the time would be displayed. I think this would allow you to keep the game at 2K. Just an idea that came to mind... Tim Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 20, 2013 Author Share Posted December 20, 2013 I like the suggestions so far. I think I'll work on trying to make the pond bigger and adding some more points on ice blocks. One of the things I'm worried about making this a timed game is that part of the game is chance, where the elf lands. So how about this: 1 point for each block you land on 25 points for each reindeer rescued But if I do this, I'd have to make the game remember how far up (or down) you've gotten, otherwise one could just keep moving up and down rapidly to increase the score. So how about: 25 points for getting to the reindeer 25 points for bringing him to the other side The 25 is for Christmas being on December 25. Quote Link to comment Share on other sites More sharing options...
Hakogame 箱亀 Posted December 20, 2013 Share Posted December 20, 2013 For reference, here are the Odyssey2's predefined characters: One thing I just thought of: It seems as though the Odyssey2 can display multiple copies of the same character per row. Why not use this to your advantage, and instead of making the ice blocks be moveable characters, do the opposite: Make the water out of multiple copies of the 2F solid block, and have the ice blocks be empty spaces? That way, you could combine a predefined character with an ice block. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 20, 2013 Author Share Posted December 20, 2013 Because the maximum number of characters the Odyssey 2 can handle on screen at the same time is 12. Quote Link to comment Share on other sites More sharing options...
raindog Posted December 21, 2013 Share Posted December 21, 2013 Well, that's how many it's designed to handle, but in at least one game it approaches 30. I've disassembled it but I'm not familiar enough with o2 programming to even begin to figure out what they did. I assume it's similar to what people did on the C64, disabling the built-in kernel routines and writing their own to trick the VDC into thinking a new frame has started on each line and draw more stuff, racing the beam Atari-style. But I can't even get dasm or o2em to build on my new laptop, so I can't really experiment. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 21, 2013 Author Share Posted December 21, 2013 That kind of stuff is way beyond my comprehension. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 26, 2013 Author Share Posted December 26, 2013 Changed the scoring system. 25 points for getting on the reindeer and 25 for safely bringing him down. I have 1,974 bytes used out of a total of 2,048, so hopefully I can try and make the ice blocks faster. It's odd how the Odyssey 2 works. If you jump to another part of a code using jnz or jz, it needs to be in the same chunk of code that you're jumping to. It divides code into chunks every 256 bytes. This is particularly annoying because I then might have to make something like: mov r0,#001h movx a,@r0 xrl a,#017h ; check if a=17 jz code_2 jmp code_4 code_2 jmp code_3 code_4 ;rest of code The Odyssey 2 doesn't care whether you use the jmp function as much, you can jmp to anywhere in the program, not its little chunk things. Argh. I couldn't resist the temptation to work on this Christmas night, so I made it to 11:30pm without working on it! (Close, but no cigar.) niceice12.bin Quote Link to comment Share on other sites More sharing options...
raindog Posted December 27, 2013 Share Posted December 27, 2013 (edited) It's odd how the Odyssey 2 works. If you jump to another part of a code using jnz or jz, it needs to be in the same chunk of code that you're jumping to. It divides code into chunks every 256 bytes. That's how the 65xx series of CPUs works too (on the Atari 2600, C64, NES etc.) Those 256-byte chunks are called "pages" and are due to the 8-bit register size. On the 65xx it's beq and bne (branch if equal to 0/branch if not equal to 0) instead of jz and jnz (jump if zero/jump if not zero), but either way, the branching operations only work on the same page because (even if the assembler you're using hides it from you) the address you're giving the instruction is only 8 bits wide, while jmp can take a 16-bit address for access to basically all of RAM (it gets more complicated when you use bank-switching schemes, but that's basically how it works). I think it's just the nature of coding against bare metal. Modern CPUs have the same instructions (x86 assemblers call them jz/jnz and ARM and MIPS ones have bne/beq if I remember right) but since the CPUs are dealing with more than 8 bits at a time, there are versions of those opcodes that let you jump further away. Most modern coders never even see them, since they're writing in compiled languages, not assembly language. (Edit: But even now, assembly language programmers have to be careful of how they branch, and the tricks they use are still the same as what you have to do, as illustrated here: http://faydoc.tripod.com/cpu/jnz.htm toward the bottom, the bit with JNZ BEYOND) Edited December 27, 2013 by raindog Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 27, 2013 Author Share Posted December 27, 2013 I pulled an all-nighter, and FINALLY got things working OK. I changed the title screen. I thought it was pretty bland the way it was. niceice13a.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 29, 2013 Author Share Posted December 29, 2013 OK, I think I have it OK now. Let me know. niceice13b.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 2, 2014 Author Share Posted January 2, 2014 Got the game to go faster as you play. Let me know what you think (or if you see any bugs or anything.) I'm almost to the limit. I think I have like 30 bytes left out of 2k. niceice15.bin Quote Link to comment Share on other sites More sharing options...
+LS650 Posted January 11, 2014 Share Posted January 11, 2014 Looking good! 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.