-
Content Count
82 -
Joined
-
Last visited
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by Lumi
-
Hello! Based on user input, I took my game, Jet!, and turned it into a new game: Drive! I decided to make this a new topic to avoid confusion. Story: This is a 4K, single player paddle game, made entirely in assembly, in which you must move your car left and right to dodge obstacles as you drive down the bridge. As you drive, you will encounter treasures (dots on the ground). When you collect a treasure, you will gain 1500 points and it will be added to your collection (the gold dots on the left side of the status bar). You can have up to five treasures in your collection at a time. You can press the paddle's trigger to "burn" a treasure, which gives you the energy to jump a short distance. Any treasures you have when your game ends will grant you an extra 1000 points. The game is won upon reaching 99999 points. In addition, certain treasures will grant you extra powers: - Red: Gives you an extra life (the pink dots on the right side of the status bar). You can have up to 4 lives at a time. - Green: Makes you invincible for a few seconds. - Purple: Allows you to jump as much as you want for a few seconds with no penalties. Oh yeah, and if you press the paddle trigger when you have no treasures in your collection, you can honk the horn. So there's that. At certain points, the game will speed up. The game will stop generating obstacles for a few seconds, and the speed-up will occur while there are no obstacles on the screen. Finally, the difficulty switches toggle certain functions: - The left difficulty switch will make obstacles farther apart (B) or closer together (A). - The right difficulty switch turns moving platforms off (B) or on (A). Set both to A for the ultimate experience! (Note: Stella sets both to B by default.) I'm very interested to see what everyone thinks of the new direction this game has taken! === UPDATE: v1.1 === What's new: - Introducing speed freak mode! Press the game select switch on the title screen to access this. This makes the game run at hyper speed, so good luck! Combine with both difficulty switches on A for a real challenge! - Better sound and colours for both NTSC and PAL. - Purple powerup has been changed to blue to make it more distinct. - Each treasure in your collection now adds 1500 points instead of 1000 when your game ends. - A few bug fixes. === UPDATE: v1.2 === What's new: - Full SaveKey/AtariVox support! It will save two different high scores depending on which difficulty you have selected on the title screen. Press the game select and game reset switches together to delete your high scores. - You can now switch difficulty modes without going back to the title screen. Simply press the game select switch at any point. - Jerky scrolling is finally fixed. - Treasures now have defined graphics: Gold coin: Takes the place of the gold treasure (no powerup other than the default). Necklace: Takes the place of the red treasure (adds an extra life). Jar: Takes the place of the green treasure (makes you invincible for a few seconds). Statuette: Takes the place of the purple/blue treasure (allows you to jump with no penalty for a few seconds). - You accumulate points faster when you have below 50000 points, meaning it takes about half as long to reach full speed. - Other graphical improvements. === UPDATE: v1.3 === - Fixed a few bugs. - Now has a standard PAL version. === UPDATE: v1.4 === - PAL version should work perfectly. - Updates to Speed Freak mode. Drive! v1.4 NTSC.bin Drive! v1.4 PAL.bin
-
Hey guys, it's been a while so I should probably give an update on the status of this game. I haven't abandoned it, I just have other priorities at the moment. I still work on it occasionally, adjusting things and fixing issues, but nothing to warrant an update yet. My plan is to eventually adjust the premise of the game. I'm thinking of making it about a guy driving down an ancient Aztec-themed bridge that's collapsing behind him, trying not to fall through gaps, and collecting treasures along the way. Maybe called "Drive!" Yeah, I'm not the best at titles. So hang tight, I'll try to make this as good as I can.
-
I only have a four-switch woody, but I'm looking to get a Jr. or a Flashback 2. It's just a matter of finding reasonable prices (though I've been saying that for 2 years).
-
Ah, thank you. Will putting them away and keeping them clean at least delay the inevitable a bit?
-
What 2600 game that everyone else loves, but you just don't like?
Lumi replied to TPR's topic in Atari 2600
Don't crucify me, but I'm not a fan of Adventure at all. I mean, I've had nights where I'll sit down and play it exclusively, but I find it to be rather boring even by the standards of the time. -
A local shop within walking distance has a few common Atari games priced at $15 each. I looked at some other stuff they had. They charge $10 for common PS2 sports titles. They also had Mike Tyson's Punch-Out loose for $55, and Final Fantasy 7 (green label) for $95. Honestly, I don't know how half of these places stay in business.
-
A few months ago I bought my first pair of paddle controllers. I was a little worried that they would have some jitter, but surprisingly, they work fine. I felt very lucky (and it makes me feel a little better about being price gouged by eBay). It got me thinking though, is jitter something every set of paddles will go through at some point? I take great care of my retro stuff and do my best to keep it from getting dirty, dusty, or damaged. Would that reduce the likelihood of these paddles developing jitter, or do they just naturally break over time? Sorry if this seems like a dumb question!
-
Whoa, a lot of responses all of a sudden! I do need to remind everyone that I don't have as much free time as I did when I started this, so an update probably won't come for a little while. I know there's a lot of room for improvement, but keep in mind there are some limitations as to what I can feasibly do, especially with the "new" paddle controls (which eat precious kernel time due to the paddles' design, and prevent the player from being drawn any higher). The game is about at its limit in terms of what can be displayed on-screen at once. I really like the idea of some kind of "bar of death" chasing you down, but the low position of the player sprite won't give you much time to react. I don't think it would be very fun to play if you died the second you saw it pop on the screen. The background color getting lighter/darker is the only way I can think of to indicate your distance from death, but I'm hesitant to make that an essential part of the game as it's not very intuitive. I agree that the setting doesn't make a lot of sense. The fugitive on the run idea could work. Another idea I just thought of is that the player is running down an old bridge that's collapsing behind him, and he's trying to collect treasure along the way without falling into pits. The only catch is that the name "Jet!" isn't going to make as much sense, and the problem with changing the title is that I can't change the name of this topic.
-
Thank you, this is really helpful. I still have no idea why only you seem to be getting it, but this gives me a few ideas as to what might be going wrong. Hopefully I can fix it next time. EDIT: Never mind, I was able to reproduce it in Stella! I should be able to fix it now.
-
Just a heads up, I'm going to have to pause development of this game for a little while, but I'm keeping a list of all your suggestions and concerns, so I have a good list of things to add/fix next time. However, this really concerns me: I'm honestly stumped here... I have no idea why this bug is happening, and why it doesn't happen in Stella. If anyone wants to help me get to the bottom of this, here's how the RNG works: When the game is reset, the following code is run to seed the RNG: lda INTIM ;fetch a random number adc SWCHB ;make it a little more random by adding the status of the console switches bne notzero lda #$93 ;the seed can't be 0. If it is, this arbitrary number will be loaded instead notzero sta RNG Every frame, the following occurs: lda RNG lsr bcc skipeor eor #$B2 skipeor sta RNG Sometimes 2-3 random numbers are needed per frame. In those cases, the above snippet of code will be run again to get the new number. Obstacles are generated by ANDing the variable RNG with #$0F. If the result is greater than 0, the corresponding playfield data will be loaded from a table in ROM. Otherwise, a moving obstacle is generated, which is handled by a separate chunk of code. Does anyone know what might be causing the problem?
-
Hmm, I didn't think of entering the kernel in different places. That's a clever solution and would be easy to implement. Also, at first I was confused when you said "2,2,2,2,4,4,2,2,2,2,4,4..." because it didn't work like that before, but then I took a look at the movement in the debugger. Yikes, no wonder it's so choppy. I think that bug was introduced when I modified the scoring system. It's a very easy fix, so thank you for bringing this to my attention.
-
That makes sense. I don't think it would solve the jumpiness, though, would it? It's actually not easy once you get into the high speeds - to be honest, I haven't been able to do it legitimately. When I started this game, I was planning to make something like Super Hexagon (a game where surviving one minute is an accomplishment). I steered away from that idea, but I decided to keep the "short but tough" style of gameplay.
-
Wow, a lot of feedback! I'll definitely keep it in mind. Some things I'd like to respond to/clarify: At that speed, the screen moves down in a repeating pattern of "one-one-two" lines. It is a bit jerky, but I'm not sure how else to do it? Speed 3 is a smoother "one-two" pattern, but is too great a leap from the first speed - there has to be something in between. You don't gain points faster, I checked in the debugger. It's just your imagination Do you mean there should be more time to react, or that the sound itself is playing too late? Currently, the warning sound is timed to finish just before the invincibility runs out - I could definitely have the sound play earlier so you have more reaction time, but if it's playing too late then that's a different issue. They do! Each powerup should play a distinct jingle when collected. Are they all making the same sound for you? If so, something's not working correctly. I could make them wider, but probably not taller - allowing the object to remain visible only for two scanlines is essential to the display kernel. The other option is to use more saturated colors. The biggest hurdle is making them stand out against the blue background, but that's a little easier to deal with. At 99,999 points you "win" the game. I wanted there to be an ulterior goal instead of just going for high scores, and going for 999,999 would be a massive undertaking for the player. Which version did you play? The most recent revision removes joystick controls entirely. Some earlier versions had more sensitive paddle controls, but as far as I can tell, Version 4's range should be comparable to that of "Kaboom!" (At least according to the potentiometer values in Stella's debugger). Thank you for taking the time to test it on actual hardware, though! I didn't know that! I'm not very familiar with the driving controller, should it work the same as paddles?
-
OK, this is a little earlier than anticipated, but I had a lot more time to work on this than I thought I did. Version 4, everybody! This update removes joystick mode, but completely optimizes the game and difficulty for paddle control! It's now a lot more functional and fun to play because of it! More new features: - You can plug the paddles into either the left or right controller port! (Just note that you can't switch once progressing past the title screen.) - Paddle control has been improved again. You now have a full range of motion between the two barriers. As a result, the player sprite is also drawn a few lines lower. - The scoring system has been reworked to be based on time, rather than distance. It also accumulates at a slower pace. However, speeding up (which I'm now officially going to refer to as "boosting", because it sounds better) still quadruples the points you get. - While boosting, powerups are now twice as likely to appear. - Moving obstacles! There are two variants of these. They move back and forth across the screen, so you need to time your movements accordingly. - To reflect the updated scoring system, white powerups now give 1500 points instead of the previous 3000. - There is now a fourth, purple powerup. These are extremely uncommon compared to the other 3, but they give you a whopping 4000 points! - The game now has 5 speeds rather than 3. It speeds up every 10,000 points until the max speed is reached at 40,000 points. Additionally, random number generation is now based on a LFSR, which should hopefully spell the end of the repeating walls bug once and for all. Give it a try, I promise it's a better experience! Jet! v4 NTSC.bin Jet! v4 PAL60.bin
-
I developed the base game without the timer, and decided to stick with it because the RNG depended on it. As for how I achieved the stable scanline count, whenever I wrote a new chunk of code, I tested it thoroughly and kept an eye on the number of scanlines. If it simply caused the game to exceed 262 scanlines, I made the game wait one fewer scanline. If the code resulted in variable scanline counts, I added a "sta WSYNC" before it. I realize this would be a bad idea if you're cramped for ROM space, but I have most of the engine down and still a comfortable amount of free space, so it's not an immediate worry.
-
Sure. It looks like this: lda INTIM eor RNG sta RNG I thought this would work, since this game doesn't use the timer and only does this once or twice per frame. I may have misunderstood how INTIM works, though.
-
I'm really happy you're all helping me improve this game! It looks like I'm going to be removing joystick mode. It's a bit of a shame, but I do feel it's holding the game back. By focusing on paddles, I have some ideas on how to make this more fun. As for the repeating walls issue, I'm not really sure why the RNG I used would be acting up so much, but I'll try the LFSR approach and hopefully that will fix. I'll be taking a short break from development to focus on work, so rest easy - you won't have to keep testing new updates constantly
-
You need to put the paddles in the right controller port... I did this by request and possibly to prevent a glitch, but if I make this a paddle-only game I might have to switch it back to the left port, because it is a bit confusing if you don't know that beforehand. He's supposed to be wearing it like a backpack, like how it's depicted in cartoons. I'll see if I can make that any clearer, though.
-
OK, I think I've made some major improvements here! I took a different approach to the whole thing, and the paddle controls should be a lot less sensitive now. It feels more like a real paddle game. The display kernel chews up a lot more space, but it's a fair trade-off, I think. Also, I took your suggestion and now the paddles must be in the right controller port. Edit: You know, the more I think about it, the more I feel like the joystick controls are holding this game back. Especially with the new paddle controls, it's starting to feel too easy. So here are a few questions: 1) Would anyone object if I made this a paddle-only game, with a higher difficulty? 2) Are the new paddle controls good enough for this idea to work, or do they still need fine-tuning? Jet! v3.2 NTSC.bin Jet! v3.2 PAL60.bin
-
Thank you so much for testing it! The sensitive controls, at least in paddle mode, are not deliberate... Paddles require you to constantly check a value, usually during the visible display, but I can't do that - I have to jam it all into the overscan period. (This is what I was concerned about when I first implemented paddles, and why I needed people to test them.) But if they're really that bad, I have one last idea which I'll try. I just can't make any promises. About the joystick controls, do you think they would be better if the top speed was lower? Keep in mind, they need to still be usable when the game speeds up. I suppose I could make the joystick controls speed up with the game, I just hope that doesn't throw anyone off... This was intentional. Joystick and paddle controls are not handled the same way, so switching mid-game could cause glitches. This is a tough one, and I have no way of testing it since Stella doesn't support hot-swapping controllers. Hmm. Do you know if there's a way to automatically detect which type of controller is plugged in, rather than having the user select it manually? That would help a lot... Otherwise, maybe the only solution is to remove one control type.
-
Thank you, Mountain King! And good catch on the issue with the high score screen. With this revision, you have to release the button and press it again to restart the game. It also fixes an audio bug I didn't notice before. Jet! v3.1 NTSC.bin Jet! v3.1 PAL60.bin
-
Sorry for the double post, but I have a major new revision! This is actually starting to feel like a complete game now. What's new: - Powerups! I was able to optimize the kernel a bit and fit these in. They appear randomly and have different effects depending on the color: - White: Gives you a 3000 point bonus. - Pink: Gives you an extra life. If you have the max of four lives, it'll act like a white powerup. - Green: Makes you invincible for 5 seconds. An alarm will sound just before the effect runs out, so you'll have a bit of warning. - Rather than accelerating infinitely as you gain points, the game will only speed up twice, at 20000 and 40000 points. The background also gets darker as you speed up. - The game is now winnable! If you reach the max of 99,999 points, you'll get a special "win" screen. It's not easy to do, though. - Paddle control has been improved, and I've decided to keep them in. I can't do anything about the sensitivity, but I was able to make the movement a lot less choppy by checking INPT0 four times per scanline instead of once. I need to talk about the possibility of AtariVox support, however. I spent a few days considering it, but I've decided not to add AtariVox features. I know it's a bit disappointing, but here are the reasons why: - The hardware's not that well documented, at least from what I could find after days of searching. I found an old document and a few .inc files, but they don't really explain how to use it properly. I don't like having to guess how hardware works, especially when other games' save data is on the line. - It would be good to let players choose whether or not to keep track of separate high scores based on the control method used, and that choice would be tough to implement in software. So, I'm sorry to all the AtariVox owners out there, but I hope the high score screen will make keeping track of your scores the old fashioned way a little easier. If anyone has any other suggestions or bug reports (especially relating to differences between how Stella and an actual Atari runs the game), now would be the time to let me know. I really appreciate feedback! Also, here's a question: should I make a standard PAL version? The speed adjustment wouldn't be too difficult, but I'm wondering if anyone would want it over the PAL60 version. Jet! v3 NTSC.bin Jet! v3 PAL60.bin
-
Thanks, Atarius Maximus! I've implemented a new feature: paddle support! On the title screen, you can now use the left difficulty switch to choose between joystick or paddle controls. Unfortunately, there's a catch. Because the display kernel is too busy to check INPT0 regularly, my only option is to do all that during overscan. What this means is, to allow the player free movement over most of the screen, the player can only move in increments of four pixels. It's not unplayable or anything, but it feels overly sensitive, at least in Stella. However, I haven't tested this on actual hardware. This is where I need help. Can anyone with a Harmony cartridge (or another flashcart) and paddles please spend a few minutes with this, and let me know if the paddle controls are acceptable or not? I really want the option to be there, but if this isn't going to be a viable control method, I'll remove paddles and focus on joystick-only play. Thank you. Jet! v2.1 NTSC.bin Jet! v2.1 PAL60.bin
-
Thank you all for the feedback! I have a new revision here. It doesn't have paddle controls or powerups yet, but I want to see what you guys think about this new setup. I think it's a lot more fun than the old version, personally. What's new: - The game now runs at about half the speed (at the start), but you can see more obstacles on-screen at a time. - Speeding up is now done by holding the button, rather than using the joystick. It's just a less clunky way of doing things. - Speaking of speeding up, it now works like this: holding the button will make you go twice as fast, but it'll quadruple the points you get. And now that you can see further ahead, it's easier to tell when you have a good opportunity to use it. - Every 10,000 points will cause the game to speed up a bit, so keep an eye on your score. - You can keep playing until you have -1 lives. - Various graphical updates. I'm curious to hear what you think! Jet! v2 NTSC.bin Jet! v2 PAL60.bin
-
That's a good idea. I'll see if I can make that work. Ah, so that's what I was missing. Thanks! The next build should allow you to use paddle controls.
