Asmusr Posted August 13, 2015 Share Posted August 13, 2015 (edited) Here is an early preview of a new game I'm working on. It's inspired by a game I had for my CPC 464 called Bounder (no need to post a video in this thread, I'm sure anyone can find it on YouTube ), and it fits very well to the capabilities of the TI-99/4A. For now only the scrolling background and the basic jumping of the ball is working. The plan is that you should be able to pick up the spinning coins, while the question marks will give you a random 'power-up'. You will die if you land in water and if you try to jump over lava. The arrow will trigger a super long jump. The key features are: Smooth bitmap mode scrolling, but slow in order to save the CPU for gameplay and music. Character patterns are uploaded from CPU RAM on the fly, but double buffered, allowing the screen to scroll every 6th frame. A constant, slow scroll speed allows the patterns to be animated while they scroll. Runs with 3 pattern tables and 1 color table to avoid problems with more than 8 sprites in half-bitmap mode. Map is stored as meta-tiles (2x2 characters) to save space (the map in the preview only takes up 1KB as meta tiles). Meta tiles also reduce the number of character transitions in the map, which is important for the scrolling. Any combination of the 7 meta tiles is possible using a maximum of 112 characters, but the preview actually only uses 64 characters. Plan to include in-game music using Tursi's VGM player, enemies and power-ups. The next thing is to make the movement of the ball just right. Currently you can only affect the movement at the moment the ball touches the ground, but that seems to restrictive. Perhaps you should be able to brake while in the air, but not change the direction? BOUNCY.dsk Rasmus-8in1-cart-8.bin bouncy3.bin Edited January 16, 2020 by Asmusr 18 Quote Link to comment Share on other sites More sharing options...
ralphb Posted August 13, 2015 Share Posted August 13, 2015 Wow, that looks amazing -- and with some puzzle elements this could easily become my absolute favorite TI game! Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted August 13, 2015 Share Posted August 13, 2015 to keep my statement short: +1 Quote Link to comment Share on other sites More sharing options...
+eebuckeye Posted August 13, 2015 Share Posted August 13, 2015 You have amazing skills! Quote Link to comment Share on other sites More sharing options...
RXB Posted August 14, 2015 Share Posted August 14, 2015 Looking good. Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 14, 2015 Share Posted August 14, 2015 Looks to be very interesting game. Quote Link to comment Share on other sites More sharing options...
Tursi Posted August 14, 2015 Share Posted August 14, 2015 Looks really nice! hard to say on the control scheme, I think people will have to play it to get the feel. Quote Link to comment Share on other sites More sharing options...
Willsy Posted August 14, 2015 Share Posted August 14, 2015 I think I'm gonna quit!! Looks great! Quote Link to comment Share on other sites More sharing options...
carlsson Posted August 14, 2015 Share Posted August 14, 2015 (edited) Bounder was also released on the C64 and other systems. IIRC the original game lets you move the ball anytime, and that you had a limited number of forced jumps with the fire button besides the arrows that let you jump ahead for free. The music in Bounder is Kajun Klog by Louis Ewens, by the way. Quite a simple but unique little ditty. I was in touch with Louis many years ago, as this song also is a demo song in Broderbund's program The Music Shop. If I recall correctly, he had no clue that someone at Gremlin Graphics had made a cover version of his demo song and used within the game. Edited August 14, 2015 by carlsson Quote Link to comment Share on other sites More sharing options...
TheMole Posted August 14, 2015 Share Posted August 14, 2015 Some of the best graphics I've ever seen on the 9918, hiding the chip's limitations really well! Regarding movement: I think for you it will depend on how long the ball is consider to be on the floor, but in Alex Kidd I do the following each frame: (consider that Alex has a position (x,y) and a speed (hvelocity, vvelocity)) When pushing the joystick right, I add a constant acceleration value to the hvelocity, pushing left will subtract that same. When the joystick is in the neutral, we substract or add (when hvelocity is postive and negative respectively) a friction value. The friction value for me is half the acceleration value, but this can be tweaked depending on how 'slippery' the gameplay needs to be (friction is much lower in Mario games, for instance). When Alex is airborne, the value for acceleration is halved, and friction is zero (although, again this can be tweaked and I would recommend to have at least always some friction for your game) At the end of each frame, right before drawing the sprites, I add hvelocity to Alex's x position. Usually full control when in the air will seem off, and as a rule of thumb I typically try to make it that a player is never be able to fully reverse his direction when airborne. Quote Link to comment Share on other sites More sharing options...
am1933 Posted August 14, 2015 Share Posted August 14, 2015 I remember Bounder on the ZX Spectrum and found it to be a bit more "forgiving" than the CPC version, the respawning after losing a life is a complete ball ache on the Amstrad. On a slightly more technical note, would it be possible to recreate the kind of multi layered effect employed in the C64 version?, I imagine it would be similar in effect to the star field/platform arrangement already used in Titanium. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted August 14, 2015 Author Share Posted August 14, 2015 I remember Bounder on the ZX Spectrum and found it to be a bit more "forgiving" than the CPC version, the respawning after losing a life is a complete ball ache on the Amstrad. On a slightly more technical note, would it be possible to recreate the kind of multi layered effect employed in the C64 version?, I imagine it would be similar in effect to the star field/platform arrangement already used in Titanium. Interesting, never seen the C64 version before, but no, without hardware scroll that would require far to many characters. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted August 15, 2015 Share Posted August 15, 2015 As always, impressive work and raising the bar once again! Quote Link to comment Share on other sites More sharing options...
Dexter Posted August 15, 2015 Share Posted August 15, 2015 The graphics are beautiful! I can imagine why you're making games that are still 9918 compatible, but if you used F18A functionality, you could integrate the second layer like on the C64. Never the less, it's still good as it is now. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 15, 2015 Share Posted August 15, 2015 I'm really glad we get those graphics for us non-F18A users as well! Thumbs up! Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted August 15, 2015 Share Posted August 15, 2015 I've been working on a Jaguar version of bounder for a few weeks now.... Degz/Scamble and now this. LOL. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted August 27, 2015 Author Share Posted August 27, 2015 I added the side panel, but then my map was too wide, so I came up with the idea of scrolling the screen (in 8 pixel steps) when you reach the border. Unfortunately it doesn't look as nice as I thought it would, so I'm probably going to remove the horizontal scrolling again, and either make the map narrower or move the panel to the bottom. What do you think? 3 Quote Link to comment Share on other sites More sharing options...
TheMole Posted August 27, 2015 Share Posted August 27, 2015 (edited) Damn, those animations are beautiful! You're really raising the bar with this one. Regarding the horizontal scrolling: putting the panel at the bottom would impact gameplay more than just making the map narrower. One of the reasons it doesn't look very nice right now might be because you're forced to scroll relatively small distances in 8 pixel increments. It might look better if you could find a way to scroll less often, but 'further', if that makes sense... The example below uses this technique (but the other way around: it does smooth horizontal pixel scrolling, and vertical character based scrolling). Every time the character lands after a jump, the engine rapidly scrolls to center the image around the player. If you don't know which trick he's using you'd be hard pressed to notice that it's not using smooth scrolling techniques. In your case, you might consider splitting your map into two halves and scroll whenever the player ball lands in another half from where it started, each time scrolling as far left or right as you can. To say it with a meme: you wouldn't scroll very often, but when you do scroll, you scroll 64 pixels at once (over 8 frames, for instance). By the way, up until your Bouncy videos, these were some of the most impressive scrolling graphics I'd seen on the 9918a. Some very smart graphics design going on here. Edited August 27, 2015 by TheMole 2 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted August 28, 2015 Share Posted August 28, 2015 I added the side panel, but then my map was too wide, so I came up with the idea of scrolling the screen (in 8 pixel steps) when you reach the border. Unfortunately it doesn't look as nice as I thought it would, so I'm probably going to remove the horizontal scrolling again, and either make the map narrower or move the panel to the bottom. What do you think? Yes, the horizontal jerking is bothersome at first, but one could get used to it. If I had to choose between that and having the panel at the bottom, I'd take the jerky scrolling. Having the panel at the bottom will reduce depth of view ahead of the ball, and will make gameplay planning more difficult. 1 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted August 28, 2015 Share Posted August 28, 2015 make the map narrower or move the panel to the bottom. What do you think? Make the panel narrower and have score, lives, etc. displayed vertically. Then you get more screen for the game play area. 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 4, 2015 Author Share Posted September 4, 2015 I have parked the horizontal scrolling for now, but the code is there so it will be possible to introduce on later levels. I have settled for a 8 character wide right side panel. I found an easy way to create an illusion of a bottom non-scrolling layer: just using animation to scroll a meta tile in the opposite direction of the general scrolling. I have tried different graphics, but a simple star background has worked the best so far. 7 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted September 4, 2015 Share Posted September 4, 2015 Very cool. Very effective. Quote Link to comment Share on other sites More sharing options...
Willsy Posted September 4, 2015 Share Posted September 4, 2015 Just imagine what would have happened to rest of the competition if that were released in 1982. 1 Quote Link to comment Share on other sites More sharing options...
am1933 Posted September 4, 2015 Share Posted September 4, 2015 That is very similar to what I had in mind with my previous post, I like it, gives the game an illusion of depth, you do realise I am probably going to have to buy another damn cartridge!!!! 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 4, 2015 Author Share Posted September 4, 2015 That is very similar to what I had in mind with my previous post, I like it, gives the game an illusion of depth, you do realise I am probably going to have to buy another damn cartridge!!!! Yep, thanks for the suggestion. The implementation is different from Titanium and Scramble because in those games the stars were drawn after the main map if a "hole" in the map could be found, but this meant that a star disappeared when it approached another tile. In Bouncy, however, the stars are part of the map. Having animated meta tiles gives you many options. To keep the stars steady all I have to do is to scroll the meta tile up whenever the screen is scrolling down. But I only have 8 frames to scroll a meta tiles of 16 pixels into itself, so the meta tile has to consist of the same 8 lines repeated twice. Bouncy trivia: I have reserved 32 characters for the right side panel, but I'm using a different pattern table for each third of the screen, whereas the colors table is the same for the whole screen. This is why you see some colors repeated in each part of the screen while the patterns are different. The reason for using 3 pattern tables instead of one is to prevent problems with sprite duplication on real 9918A VDPs, but it slows down the transfer of characters to the VDP by a factor 2. This is less important in Bouncy where the scrolling speed is low. 2 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.