Jump to content

Ben_Larson

Members
  • Content Count

    350
  • Joined

  • Last visited

Everything posted by Ben_Larson

  1. K, I read up on raycasting engines, and I think maybe I have an idea for such an engine that doesn't really use any multiplication or division other than power of 2 multiplication / division. The idea goes like this: First, have an 90-entry trig lookup table in ROM. Each entry would be 16-bits and represent the X component of a unit vector from 0-90 degrees. To get the Y component, one would just look up 90 degrees minus the current angle. This is pretty much what I do in my game 'Incoming!' to calculate shot velocity unit vectors. Computing the unit vector for all 360 degrees would just be a matter of multiplying one or both vectors by -1 depending on which of the 4 90-degree quadrants you're currently in. Now have the playfield as a 256x256 bit grid. Player position is a 16-bit number representing integer + decimal part. Now lets say we're using a 30x25 playfield for the screen. For a given position and viewing direction, you'd then need to cast 30 different rays corresponding to the 30 columns of the playfield. You presumably have the player's current facing angle, so you look up each unit vector one at a time for player angle - 15 through player angle + 14 via the trig lookup table. For each unit vector, you start with the player's current position and keep adding unit vectors till you run into a wall (and keeping track of how many unit vector additions you've done so far for that angle). Then after you've hit a wall, you could use geometric addition subtraction until you zero in on exactly where the wall boundary is, i.e. subtract half a unit vector, see if you're still inside a wall, if not add, 1/4th of a unit vector, see if you're outside the wall, etc. In this way you can find out exactly how far the player is to the wall along that angle. Then you just have a routine which computes how tall the wall should be at that column for a given distance. This could be as simple as a lookup table since our vertical resolution is only 25 pixels, i.e. the wall has to be either 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, or 25 pixels high. This doesn't take into account distortion correction, but other than that I think it should work. Maybe I've forgotten something, though, I dunno. Tell me what you think... Ben
  2. i think it is possible to do a wolfenstein 3d type game on the atari 2600...maybe not with texture mapping, but i think at least with the walls. but has anyone considered how the multiplication/division is going to be done for the rotation and projection? i assume using logarithm lookup tables (i.e. like a slide rule in ROM), but i'm not sure how big it would need to be to avoid too much error in the results... I think the information storage restrictions are going to be a huge limiting factor though. For one, you have to figure that you're going to need around 100 bytes as the playfield 'video RAM' to render the scene to, and that would just be for a 32x25 (or 40x20) pixel monochrome scene. I suppose some kind of engine that utilized the ball/missile graphics to draw grid lines might be possible, but i think that's beyond my ability to even think about at this point... Ben
  3. The computer is very good in certain situations. If you're below the computer (especially if the distance is short), he's almost guaranteed to hit you. If it's a level shot with low elevation and no wind, the computer is also pretty good. Where he kinda sucks is high-elevation shots with wind. That's what I'm still working on. After I tackle that I suppose maybe I could add some randomness to the initial power calculation to prevent situations like you describe... Yea there's 2 player mode. Hold down select until the number on the left goes to '2'. Shots do alternate, and there's no time limit or anything when aiming. ... All in all, good to hear you guys like it. Hopefully I'll be done here pretty shortly. I keep hitting the 4k limit so I've been spending a lot of time 'trimming the fat' to try to squeeze in new stuff, like the clouds and the AI improvements I mentioned above. Ben
  4. I didn't read every message but it seemed like everyone was hung up on the idea that someone would need a financial reason to make a real VCS game and then claim it was old. My thinking was just that there's no financial reason needed - some talented programmer(s) could have just done it for 'internet glory' or laughs. I didn't think that aspect of not needing a financial reason had really been touched on yet...but I'm probably wrong. Ben
  5. Has anyone considered that this game could be a demoscene hoax or something? i.e. a real VCS game programmed recently with the intent to fool people into thinking it's old (and thus bringing internet glory to the demo group that made it? ) Well I think it's a plausible conspiracy theory at least!... -Ben
  6. IMO it's a very bad idea to wait till the end to test on the real hardware. I've run into problems doing this with stuff that is very tight time-wise and doing other strange things. For example, try changing the player size/copies bits on the same line you're displaying the player - this causes problems on the far left side of the screen on the real hardware but not on Z26 (at least on the version I'm using). Another thing that can trip you up is the fact that the real hardware starts up in a random state and the emulators don't. Which may not seem like a big deal until you accidentally do something like this: LDA $0 when you really meant: LDA #$0 ...and then you wonder why it works (at first) on an emulator but crashes right away on the real hardware. -Ben
  7. (I published something about this on Stellalist but I don't think anyone saw it yet. ) After many years of being sidetracked doing other stuff (getting married, moving, grad school, getting java certified, taking up other hobbies, getting sidetracked 'playing' rather than programming), I decided to get back to do some atari 2600 programming and finally finish my ancient and dusty game 'Incoming!' once and for all. I'm committed to finishing it this time around. So without further ado, here's the latest beta version. I've added moving clouds, reworked the tank graphics to give it a little more cartoony feel, made the wind more realistic (i.e. using a real X-vector deceleration now instead of just modifying the initial X vector), fixed some bugs, etc. Personally I think the wind is a bit too strong now, but you guys can tell me what you think. The computer AI isn't all that sophisticated and seems to struggle now in high wind / high elevation situations... Ben P.S. also, sorry for no PAL version yet. i'm sorry, es tut mir leid, lo siento, and je suis désolée. Incoming1.0Beta6_NTSC.bin Incoming1_0Beta6_asm.txt
  8. Wait, if Batari gave the option of loading asymmetrical playfields from ROM instead of RAM, then this whole superchip thing would be a moot point, right?... although I guess that might require a new kernel... Ben
  9. Anthony, I like your enthusiasm. My concern is that if you have no programming experience, though, you're going to get burnt out and overwhelmed trying to jump right into Atari 2600 programming. I'm a software engineer by trade and was working on my own VCS game years ago and *I* got sorta burnt out (although I've actually started back up again recently). It's a very unforgiving system, even for experienced programmers. I hope if you find it overwhelming you don't give up completely on programming though. You can always write an 'old school' 2D game in something easier, like maybe Java or Flash, and move on to atari 2600 programming later. You'd also learn valuable programming skills in the process. Both of those have free software development kits available online for download, too... Ben
  10. What about Tomcat? I haven't actually played the 2600 version but those screenshots look better than some 5200 and maybe even 7800 games... Ben
  11. 1. Missile Command 2. Gravitar 3. Realsports Volleyball 4. Bump n' Jump 5. Yars Revenge 6. Ice Hockey 7. Mario Bros. 8. Adventure 9. Winter Games 10. Raiders of the Lost Ark And finally my $0.02: Asteroids sucks. Missile Command rules.
  12. Here's the situation: I have a 2600jr. It has several strange issues that I've noticed. First, the sound is terrible - it's fuzzy and music tones are all out-of-key (more so than a normal Atari. ). Secondly, occasionally games go haywire in the middle of playing. For example, once I was playing Enduro and the screen slowly started to get weird, until it was completely unplayable. I don't know if this is just due to dirty connectors or if it's related to the first problem. Thirdly, I can see HMOVE lines sort of 'ghosting' all the way across the screen on certain colored backgrounds. This may just be some normal artifact of 2600jr graphics - I don't really know. I guess that's why I'm asking you guys. The sound problem coupled with the games-going-haywire makes me suspect that maybe the TIA is going bad though. What do you guys think? Ben
  13. I've thought often about Karateka and Wings of Fury on the 2600. Karateka seems so obvious I wonder why it never happened back in the 80s. Certainly the hardware should be able to handle it, maybe with some 30Hz flickering for the two fighters. WOF on the other hand, I think, would be a true technical marvel if anyone was able to do it... Ben
  14. Hmm...maybe a strategy/puzzle game sort of like Adventures of Lolo for the NES? For those of you who never played it, it was an overhead 2-D game where you were this little blue guy and you had to solve puzzles in each room in order to move on to the next room. I don't quite remember all the game mechanics, but I remember it was hard and there was a lot of thinking involved... Ben
  15. My first 2600 memory probably involves going over to my neighbor's house to play some ot their games. I distinctly remember Circus Atari and Basketball, but past that I can't really remember anything. I was pretty young at the time, maybe only 7 or so... Later I got a 7800 and would trade 2600 games with all my friends in the neighborhood, since a lot of them had 2600s. I had my Atari hooked up in my room (which was in the basement) to a 13" Philco black and white TV that I had managed to procure at a garage sale for like $5. Man I thought that was the greatest thing in the world to be able to play video games on my own TV in my own room down in the basement at about age 10... Ben
  16. Umm...am I the only one who sees the irony of posting a comment like this on an ATARI AGE message board...? Why did you 'grow out of' Nintendo and not Atari? Ben
  17. Hmm. I think we're definitely on to something here. My girlfriend likes Frogger as well. AND Centipede too. Weird. I think maybe it boils down to cuteness and simplicity...and fun of course. Ben
  18. Rob - that's not really a bug, more of a 'design decision necessitated by constraints'. Thomas - I will post the source on Stellalist sometime soon for you and other people to go over with a fine toothed comb. I've gone over it a couple times already doing optimizations and such, but I'm sure there are probably still places that can be trimmed... Ben
  19. * crawls out of woodwork * I am back. Again. My latest excuse for not wrapping things up is that I started grad school and was pretty much occupied with that and work for the last 2 1/2 months. But I am free now for the time being on Christmas break, so I figured it's time to get this game formally done before I have to change the copyright to 2005. With that said, I think I'm ready to release the game. Originally I was going to make some further tweaks to the AI but I decided against it (There's only 18 bytes left and I don't think it's going to be possible). I've tested it fairly thoroughly and I think it works pretty well. The latest version is Beta 4. I am going to make that the release candiate and release it as V1.0 within a week or so, barring no major objections from anyone. The fixes from Beta 3 are that the shot no longer passes through the top row of the terrain and the sound no longer gets 'stuck on' in certain cases when you fire your shot. Enjoy!, Ben incoming1.0beta4.zip
  20. 26 My first video game system (not counting the computer my father bought in 1985) was an Atari 7800, in 1987 I think. I was pretty die-hard Atari for a while there, even though most of my friends were getting NESes. I eventually sold out around '89 and got an NES though... Ben
  21. Honestly, it's kind of hard for me to judge how good the AI is. I tend to beat it most of the time nowadays...but then again I've been playing the game for a while now, so I have no real frame of reference left. Ideally I'd like it to be difficult, but not to the point of frustration. What does everyone else think of the AI? Ben
  22. Ok, I have new beta version, beta 4, which I'm attaching. This one fixes a bug with the sound getting 'stuck on' as well as a bug with the shot going through the top pixel row. As far as the explosion sound - I will see what I can do. Honestly I'd like to make one more improvement to the AI first though - namely some logic so that he takes wind into account when computing his first shot (currently it's just ignored)... Ben incoming1.0beta4.zip
  23. I disagree. You're not taking into account the 80s nostalgia factor. 8-bit videogames are the 'in thing'. SNES and Genesis are lame, from a fad point of view, still stuck in that not-yet-nostalgic-yet-too-obsolete-to-play stage. Have you been to your local Hot Topic lately? Practically every other shirt they sell references an old NES or Atari game... Ben
  24. DOOM. Actually I think a rudimentary first person shooter would be possible. The first step would probably be to do an overhead 2d game or demo that implemented playfield rotation and translation, then move on to 3d... Ben
  25. Thanks for the feedback guys Aaron, I agree that it would be cool to show a dot of some kind to indicate the angle. There's just no space left though, if it's gonna remain 4k. I guess I could make it 8k and add more features, but then I probably wouldn't be done for another 3 years... Rob - were the 'vertical bars' you speak of really a series of little horizontal bars stacked vertically that would intermittantly appear on the left side of the screen? That was due a pretty nasty timing-related bug in the display kernel. It didn't show up in any of the emulators but DID when I tested it on real hardware not too long ago...which is always convenient. As for the block remaining suspended in mid-air...that was actually how I intended it. I know some shooting games like Scorched Earth do the 'dirt falling' thing, but again, this was another feature that there was really no space left for, so I decided not to attempt. Ben
×
×
  • Create New...