Jump to content


+AtariAge Subscriber
  • Content Count

  • Joined

  • Last visited

Community Reputation

68 Excellent

About littaum

  • Rank
    Space Invader

Contact / Social Media

Recent Profile Visitors

2,269 profile views
  1. Your wish is my command! I've updated the build in the OP to beta 4, adding in a PAL60 version and tweaked the AI ever so slightly to not bash itself into the wall sometimes when it has the ball. Let me know if that version looks screen stable and if the colors look close (red/blue for players, light green/dark green for playfield in color mode).
  2. Splendid! I'll have to remember these timing settings for future use. Looking forward to the livestream, whenever it happens!
  3. Bump for WIP Beta 3 -- hopefully this fixes the issue with the title screen and options screen shaking on some consoles. On my test setup the one reproduceable issue I saw (holding down the fire button on splash screen caused the title screen to shake) has been resolved in WIP Beta 3. @ZeroPage Homebrew would you be able to test this version out on your system to see if the title/options (and splash and game, though I don't expect them to) are solid in their display? And, if holding the joystick at the end of the game still causes the screen to blank out (as opposed to returning to the options screen like it should)? I used to think it strange for people to collect so many duplicates of the same hardware system -- now I realize that makes for a more robust testing situation.
  4. Thanks for the compliments! I did catch the replay on twitch, and while I was bummed that you saw the jitters on the title/options menu I was happy to see the "Easy" AI was more lenient. The jitters in the title screen and menu were what I actually saw when I first posted the ROM and tried it in Javatari. I did a last minute fix to the ROMs (after my initial edit of the first post but before I replied to this thread "bumping" my post) but it seems it is still there on some systems. I re-downloaded the posted ROMs and tested it on my Atari 2600 & Atari 7800 using the Harmony Encore cart - I did not see the jitter like on the stream, but since my fix had to do with "overscan timing" combined with some logic depending on when the joystick is moved/fired/select/reset pressed during these screens I can work on that a little more to resolve it for all systems. I was able to get the title screen to jitter if I press and hold down the joystick fire button during the Fuji splash screen and keep it held down while the title screen is displayed, so perhaps if I get that not jumping the rest will resolve itself. Once I have an updated ROM I will be sure to post it here for verification. And if anyone else sees the title/options page jumping as well on their systems, let me know. The more test systems I have the better. To answer some of the other questions raised during the ZPH play through, the AI only knows of positioning information of all of the objects in the game but can't modify them itself. It only has access to the joystick movement & fire button, just like a human player. Of course, the AI has the advantage of being able to act upon this information within 1/60'th (or 1/50'th for PAL) of a second. It is is possible for both players to get "faster" if they move in the same general direction for an "extended" period of time (but there is a maximum velocity, equal for both players). The disadvantage to going fast being if you need to change directions you need to slow your momentum from your current direction.
  5. Bump - I've completed WIP Beta 2. Now with more AI options, more game length options, more options all around, and a joystick-controllable options screen to tie them all together! Players can also re-start games or go to the options screen after a game using the joystick for a more "Couch Compliant" experience. If you find anything weird (or if the AI on Easy mode is still too hard) let me know!
  6. I got mine via mail order from Atari -- and when the first one "red screened" I worked with Don Thomas to get me a replacement unit. Now that was service!
  7. A question on Stella's very neat "Turbo" mode. According to the changelog, when it was introduced it was described as: Added 'Turbo' mode, runs the game as fast as the computer allows. When I enable it, it says "2000% speed" on both my desktop (older Haswell Intel CPU) and my wife's laptop (a more recent Intel chip). When testing out my game (I run many games to test my AI on its effectiveness) on both systems I do notice that the average FPS in developer mode is around 1000 FPS on my PC and 1100 FPS on my wife's laptop. Is it safe to assume that "2000%" just means turbo mode, and I should be looking at the average frame rate as the true metric of how fast the game is being run? Below is an example of what I am talking about:
  8. These are all very good ideas - stay tuned for WIP Beta 2!
  9. It was certainly an honor to see my game played on ZPH! I always love the positivity, enthusiasm and fun you all have in your livestreams. I usually catch the replay on youtube. I'm glad no big bugs were found and that the game seem to have the right amount of "chaotic fun" to it - that was certainly my intention. I have to admit I'm a little proud that the first iteration of the AI was considered a bit too hard. I actually spent a bit of time before uploading the beta 1 WIP rom making the AI a little bit harder because I thought it might have been too easy. But for my next WIP update to the game I'll make the difficulty switches also control how good of a shot the AI is (perhaps A/A <--> A/B <--> B/B for 3 levels of ability). I also wanted to go through my code and optimize it a little for space - it won't affect the gameplay but is good practice to do. It did look like most folks were a bit confused on what the orange timer bar was and what each side represented, that will certainly happen with a symbolic method of counting the clock. The full blocks on the left represent 2 minutes each, and can get cut in half to represent 1 minute, with the large orange bar in the center/right being the seconds counter. There is the ability to select a 3/6/10 minute game by using the select switch to toggle through (I think I might add a big table to the manual document to describe all of the various combinations one can play so it is more apparent). Of course, having an options configuration screen at the start to do all this would be more clearer, but by golly I wanted to use all of the knobs and switches that the Atari 2600 had and claim 24 different games like in the old days. To answer nostalgic26's question about the "ball pickup" sound, the frequencies used is the same (0,0,0,1,1,1,2,2,2,3,3,3) as the ball pickup sound in Adventure (and the "collect" sound in Darrell Spice Jr's Collect tutorial) but I oscillate the channel values each frame to try and give it a more "Electro" sound to it.
  10. I am now (well, the 2 year option at least) .. I had no idea a subscriber option was available before today!
  11. ElectroBall is the socially distant way to play! Mount up in your Power Sphere on the field to compete against another person or "Daisy", an AI drone who makes up for lack of precision with enthusiasm. With 5 different selectable A.I. skill levels, you can even have two AI drones play against each other and cheer them on from the stands. Whoever scores the most goals within the time limit (or tie game sudden death) wins! Play one of four seasonal variations (Spring, Summer, Fall, Winter) to find out who truly is the ElectroBall champion! ElectroBall is a new 16K homebrew game written in assembly for your Atari 2600 or Atari 2600 compatible system. This game in ROM form may be used for free for personal use or for online/offline public use as long as no fees are directly charged to play the game. This game may not be directly sold or packaged with other items to sell in any form without prior permission from myself. I have a new version available which I am calling "WIP Beta 4". I don't believe there's any gameplay bugs (players and ball shouldn't stick to the walls, players scoring a goal shouldn't have it scored for the other player, the game should never be so busy in game logic that it causes the screen to scroll, display should be stable), but I've always found others are good at finding the corner cases that the developer might have missed. If you find anything strange, please let me know! If anyone would find a bug I suspect it would have to do with the screen scrolling/skipping in certain conditions particularly when AI controls both players. I got most of those by both playing on a live 2600 and advancing games frame by frame in Stella to see when I exceed the frame count, and hopefully I got ride of the screen scrolling/skipping .. of course, when I initially posted the ROMs and tried it in Javatari the options screen started jumping, so I did a quick fix for that. I've also made PAL50/PAL60 versions. My own 7800 & 2600 (and 2600 Jr) and TV set are NTSC, so for PAL50/PAL60 testing I could only try them on emulators or try my best using my Harmony Encore cart. If you have a native PAL setup, I'm curious to see how the PAL50/PAL60 versions works. You can download the Beta 4 ROMs (NTSC & PAL50/PAL60 formats) for use on emulators (I've tested on Stella, Javatari, and the Argon app for Android) or Harmony-type carts here: ElectroBall_Beta_4[NTSC].bin ElectroBall_Beta_4[PAL50].bin ElectroBall_Beta_4[PAL60].bin Or play them directly in a web browser on javatari.org from these links: ElectroBall Beta 4 NTSC Version ElectroBall Beta 4 PAL50 Version ElectroBall Beta 4 PAL60 Version I also have attached manual text to help explain the various options in the game. It is available here: ElectroBall Beta 4 Documentation.pdf What has changed from WIP Beta 1 to WIP Beta2? * Many AI variations! I've renamed the AI from Beta 1 to be "Hard", and have added a "Medium" and "Easy" mode. I have also added a "Super Mario Kart" style "AI Adapt" mode where the AI will adjust its play level to be harder or easier depending on if it is behind or ahead. There is also an "AI Random" mode which will change the AI behavior every time it gets the ball. * Ability to specify game length from 1 to 10 minutes in 1 minute increments. * Ability to specify none, one or both players be human or AI, allowing for a "0 to 2 player" game. * An options screen to configure all of these combinations (1,000 different potential games!) * An ability to change options, re-start a game or go back to the options screen after a game using the joystick for a more "Couch Compliant" experience. * An increase in ROM size from 8K to 16K. I saved a few hundred bytes in optimization before adding the options screen, but the data heavy options screen plus coding in AI options for both players caused me to exceed the 8K limit. Fortunately I could use the standard Atari 16K bank-switching scheme. I'm currently at 10,850 bytes of game ROM used. What has changed from WIP Beta 2 to WIP Beta 3? * No change to gameplay or features. * Hopefully the title and options screen no longer shake on more "discerning" consoles. My one test case on my 2600/7800 system (pressing and holding the fire button on the splash screen makes the title screen shake) is resolved with beta 3. * Fixed an issue where the "Atari 2600" text underneath the splash screen was not as centered as it could be. What has changed from WIP Beta 3 to WIP Beta 4? * New PAL60 compiled version. * Reduced instances of AI controlled players intentionally running into walls when they have the ball. Misc wall of text, just my own thoughts on the game and various inspirations: During the middle of the year last year as I was wasting some time browsing facebook, an ad for the Udemy course on programming for the Atari 2600 came up with a sale price of $10. Being the middle of the pandemic, it seemed like a nice diversion. Why not try to learn to program for the game system from my youth where a patient professor with a soothing voice leads me through assembly programming at a pace I choose? I took the course, then read Andrew Davie's book, re-read "Racing the Beam" which I had purchased years earlier, read the randomterrain.com series on Darrell Spice, Jr's very excellent Collect game tutorial (which the Udemy course seemed to base a lot of its code on as well!), the Stella programmer's guide by Steve Wright, the Atari 2600 tutorials on 8bitworkshop.com, and the plethora of informative posts on programming right here at Atariage.com. The amount of information publicly available on how to program for the Atari 2600 in the year 2021 is simply fantastic. Even after reading all that, programming for the Atari 2600 to me is still somewhat .. formidable. ElectroBall is actually my 4th game idea and 3rd attempted implementation for a game. The others were a bit too ambitious for my current 6502/6507 skills. For this game I mainly limited myself to what I could do with a single HMOVE during a given frame to see what I could do with 2 sprites, 2 missiles, a ball, background colors and the playfield. That allowed me a more simplified runtime kernel (the familiar "2 line kernel" (2LK) with some embellishments) and let me learn 6502/6507 assembly and the various Atari 2600 options by focusing on code in the the overscan and vertical blank sections. I also had a lot of fun coding in the various hardware switches (difficulty, select, reset, black and white) that the 2600 featured as well as the ROM-size soaking splash & title screens. Implementing the "Atari bank switching for dummies" example from these forums and seeing code execute in different banks was also very cool to see in action. One of my favorite games from the 80's was Hat Trick - I played it on multiple 8-bit systems and the game play (Spring and Summer variations) of ElectroBall is heavily based on that. I also thought that an overhead perspective of a Ballblazer type game would also translate well (and is the basis for the Fall and Winter game variations). I also was enamored with the "momentum based" control of the homebrew R.C. Sumo Bots and wanted to do something similar - like the mention on ZeroPage Homebrew when R.C. Sumo Bots was played, there should be more games in the bumper car genre! I tried to develop the game to feature what I think are the 2600's strengths - bright vivid colors, fast responsive gameplay, neat lower range beep boop sounds and rocket engine crowd noise. Nothing about my game is particularly groundbreaking (other than the splash/title screen to game code size ratio, which I believe I've set a new record - ha!), and some portions of my code is borrowed from elsewhere (the scoreboard is a modified version from Collect, as is the sound effects base engine and my runtime kernel is a fairly heavily modified version of the 2LK from Collect, the Atari jingle and "fire to exit splash screen" is borrowed from the AtariAge logo sample code recently posted, and the cycle through the colors of the Atari Fuji logo on the splash screen is based on the many color cycling background tutorials out there) and I used many of the utilities from the alienbill.com web site to add flourishes. All inefficient subroutines are of my own design! Having an AI was also useful for figuring out gameplay bugs and difficulty tuning. The Winter variation used to be a lot tougher, but I made it easier after the AI couldn't even score a single goal in 3 minutes... The AI code is somewhat simple, and I coded it so that it would keep the player engaged and entertained, not necessarily an attempt to crush them into oblivion - at least that was my intention. When the AI plays against each other, Easy vs Easy scores an average of 3.2 goals in 3 minutes across all game season variations, Medium vs Medium scores an average of 4.8 goals in 3 minutes across all game season variations, and Hard vs Hard scores an average of 9.0 goals in 3 minutes across all game variations. When Hard plays Easy it's not uncommon for the Hard AI to score double digit goals to Easy's single digits. Particular places I learned 6502/6507 assembly: https://www.udemy.com/course/programming-games-for-the-atari-2600/ http://www.lulu.com/shop/andrew-davie/atari-2600-programming-for-newbies-revised-edition/paperback/product-23644281.html https://www.randomterrain.com/atari-2600-lets-make-a-game-spiceware-00.html https://8bitworkshop.com/v3.5.2/?platform=vcs Stella Programmer's Guide by Steve Wright 12/03/79 Countless topic posts on Atari 2600 programming on Atariage.com Web sites I used to help design various components of my game: https://alienbill.com/2600/playerpalnext.html - Playerpal 2600 for sprite design/animation https://alienbill.com/2600/splash-o-matic - Splash-o-matic (now Atari-background-builder) for title screen https://alienbill.com/2600/atari-riff-machine/ - Atari riff machine (to plan out sound effects and title jingle) https://www.masswerk.at/vcs-tools/TinyPlayfieldEditor/ - Tiny playfield editor (to draw out Fuji logo on splash screen) Places I used to test out my game during development: Stella (The developer interface in this emulator is fantastic! The udemy course was worth it just for showing me the larger world present when you press the ~ key) https://8bitworkshop.com/v3.5.2/?platform=vcs (I could modify code in real time to see its effects!) https://skilldrick.github.io/easy6502/ (For testing basic 6502 functions) https://javatari.org/ (8bitworkshop uses this too but was also handy to test the ROMs on its own). Oh - and a big nod to the Atari 2600 development package for Visual Studio Code. A great modern development environment!
  12. What is the difference between Atari 2600 games using ARM chips to enhance the game vs. the common practice in NES times to use mapper chips to enhance NES 8-bit games (or SNES enhancement chips)?
  13. I had good luck shipping a few game consoles by wrapping them up in bubble wrap, then filling the rest of the somewhat oversized box with foam, wadded up heavy paper, plastic air bags or whatever other shipping material I had handy so that the console didn't shift around in the box. In terms of how to ship it, best I found was UPS ground for the continental US, and it was still somewhat spendy (30-70 dollars depending on how heavy it is and where it is going). I also purchased the box from the UPS store.
  • Create New...