Jump to content
IGNORED

Incoming! 2008 (aka Greetings from Vaporware Land)


Ben_Larson

Recommended Posts

It would just give an indication of the angle though - not the actual target.

 

The aiming point is merely a proxy for a more detailed turret. It would just be offset far enough from the tank to be able to move in a detailed enough arc to get a visual idea of the angle. It would be clear when playing it that the dot would not be the literal trajectory, based on the various factors. Dots have been used in other games beyond Trick Shots for similar purposes, like pitching and golfing games.

Link to comment
Share on other sites

  • 2 weeks later...

Ok new version. I'm just calling this one RC2 since I already went to release candidates (possibly prematurely :) )

 

I implemented basically all of Nukey's optimizations (except the illegal opcode ones) and found a few other optimizations on my own. I then proceeded to add an explosion sound and color cycling effect when someone gets hit. After all that there wasn't much space left (again), so I decided to add a (slightly) easier difficulty option (the infamous 'teddy bear mode' :) ) since I felt that was the most bang for the buck. to get to that just hold down select for a while...you'll see it.

 

So in summary here it is. Woulda been done sooner but I just got back from vacation in Las Vegas. I wasn't doing any programming while I was there I am sorry to report. :D

 

-Ben

Incoming1.0RC2_NTSC.asm.txt

Incoming1.0RC2_NTSC.bin

Edited by Ben_Larson
Link to comment
Share on other sites

Despite its simplicity, this is a really fun game! Especially when you hit your opponent! :D

 

I am glad you have come back to finish this. I need to sleep now, but I will try to go into more detail tomorrow about what I like about this version and any complaints.

 

Good job! :thumbsup:

Link to comment
Share on other sites

This new version is fantastic. In my opinion, the A.I. is just right. It didn't kill me in one hit anymore, yet is still very smart and learns from its mistakes. The sound effects when one of the tanks is hit is also a major improvement, adding to the feel of victory or defeat. I think your game is perfect now. Great job! :)

Link to comment
Share on other sites

Nice improvements!

 

I still don't like the AI, I played a game and he one-shot-killed me 3 times, took 2 shots twice, and took 3 shots once (8 mph wind). Yes, I lost 0-6 :( I never took more than 2 shots.

 

It really needs some tweaking - right now you pretty much hit him with your first shot, maybe your 2nd if the conditions are right, or you're dead. I think that it would be a good idea to actively prevent one-shot kills (if feasible) except in an "expert" mode. I don't think the overall AI needs a lot of adjustment, you just need to prevent that first shot from hitting.

 

I don't like to suggest drastic changes this late in the dev process (I know what it's like to receive those suggestions...) but, alternatively, you could make it take 2 or 3 shots to kill. Probably would need to vary the wind more between rounds or allow the tanks to move to make that worthwhile, but...

 

Nit-picking...

-The explosion sound isn't great - sounds like you are using AUDCx = 8? Maybe try AUDCx = 3, 7, or 15, with a lower frequency.

-Please change how the console switches are read. It acts like you are reading SELECT every few frames to prevent too-fast SELECTing - this isn't really a good solution. It means that single SELECT presses are not always acknowledged, which is kind of annoying. Please debounce instead; just needs a little extra code and 1 bit. Similarly for RESET, though that isn't as critical - it is odd that it just goes black if you hold down RESET, though.

-It does look odd when your tank is balancing on a single pixel - what do you think of the fix I mentioned above (positioning on 4-pixel boundaries)? I assume that would be very easy and it wouldn't change the gameplay much, if at all.

-It's pretty hard to make fine adjustments in power and angle - Nathan's suggestion (post #11) would help.

 

This is really coming along! :thumbsup: Thanks. ;)

Edited by vdub_bobby
Link to comment
Share on other sites

Bah! I think vdub_bobby just needs some more practice :cool:

 

Althought a 1-shot death is pretty much expected under certain situations, you should get some yourself too. Here's my record so far:

post-16761-1203302514_thumb.jpg

 

The only thing I can think of is the marker mos6507 recommended. But if you have to take out sound or something else, I'd say leave it out.

Link to comment
Share on other sites

Is there a way to allow the tank to move a little bit before it commits to firing? That way you can take cover. I keep comparing this game to lightning's shadow:

 

http://wolfire.com/ls.html

 

In that one you can move a fixed amount before firing again and the angle is an = sign that rotates around your guy. Power is done with a timed power bar like golf. It works really well. I guess I'm yearning for you to change the sprites to wizards and try making a stripped down clone of that ;)

 

Another cool aspect of that game is the environmental effects. It has rain and snow and sound effects. Kind of amps up the drama. Those kinds of things would be doable on the 2600, although you'd need more ROM for it.

 

There is just something, I dunno, bla in a Combat 2K way about using tanks. It could use a new theme, whether it be wizards throwing fireballs or squirrels throwing acorns or something else creative. There is just so little action that it needs a little more ambience to compensate, something beyond the clouds at the top.

Edited by mos6507
Link to comment
Share on other sites

There is just something, I dunno, bla in a Combat 2K way about using tanks. It could use a new theme, whether it be wizards throwing fireballs or squirrels throwing acorns or something else creative. There is just so little action that it needs a little more ambience to compensate, something beyond the clouds at the top.

I came up with an alternate idea for a game like this. But I don't think he'd want to use it. ;)

Link to comment
Share on other sites

Here's a new release that 'slows down' the joystick and 'speeds up' the select switch (I did this second part in lieu of debouncing since there's very little free space for that). Also I made the easy-level difficulty easier. The computer will almost always undershoot or overshoot on easy mode diffficulty now. In fact maybe it's too easy now on easy mode...so you're all welcome to test it. :)

 

K I actually just read a bunch of these new posts for the first time so I'll respond now:

 

There is just something, I dunno, bla in a Combat 2K way about using tanks. It could use a new theme, whether it be wizards throwing fireballs or squirrels throwing acorns or something else creative.

 

But...the tanks actually looked a lot more generic and crappy before though! :) That's sorta why I redid them and added the clouds, to give it a little more cartoony feel. I actually wanted to redo the font using bubble/balloon numbers too...but I don't think it would work so well given the low resolution.

 

I came up with an alternate idea for a game like this. But I don't think he'd want to use it.

 

I used to draw cartoons of my professors in my note margins actually, so I think this is an excellent idea... but it WOULD be kinda lame for me to just steal your idea. not to mention the fact that your mockup looks pretty cool, i'd kinda like to see it implemented. plus...I could always help out with the math. ;)

 

I also noticed that my own bullets can't kill me. Can that be changed?

 

It *could* be changed...but I'm pretty much out of rom space again, and sort of reaching a point of diminshing returns on optimization, so maybe not... :|

 

but...a better question: why do you want the ability to kill yourself anyway?? ;)

 

Ben

Incoming1.0RC3_NTSC.bin

Incoming1.0RC3_NTSC.asm.txt

Edited by Ben_Larson
Link to comment
Share on other sites

Here's a new release that 'slows down' the joystick and 'speeds up' the select switch (I did this second part in lieu of debouncing since there's very little free space for that). Also I made the easy-level difficulty easier. The computer will almost always undershoot or overshoot on easy mode diffficulty now. In fact maybe it's too easy now on easy mode...so you're all welcome to test it. :)

Well, on normal mode, I beat it 6-0, then got beaten 4-6, then 5-6, then I beat it 6-5 and 6-1. So I'm not sure what that says about the difficulty. :) I find myself "figuring out" settings pretty quickly now, so I can get some first-shot-kills in.

 

A couple ideas regarding preventing the computer from getting too many first-shot-kills:

  • Let the human player always have the first shot.
  • Have a five-second countdown during which the human player can shoot the first shot, otherwise, the computer fires first.

The joystick could be slower still.

 

Still would like to see some solution for having the tank hanging out over the terrain by one pixel. :ponder:

 

I used to draw cartoons of my professors in my note margins actually, so I think this is an excellent idea... but it WOULD be kinda lame for me to just steal your idea. not to mention the fact that your mockup looks pretty cool, i'd kinda like to see it implemented. plus...I could always help out with the math. ;)

Well, if I can ever find a programmer interested in programming it, I'll let you know. :)

Edited by Nathan Strum
Link to comment
Share on other sites

Here's a new release that 'slows down' the joystick and 'speeds up' the select switch (I did this second part in lieu of debouncing since there's very little free space for that).

I think the joystick adjusting is pretty good now, but the SELECT switch is still not so good - it drives me nuts when I tap the switch and nothing happens. :x

 

Also I made the easy-level difficulty easier. The computer will almost always undershoot or overshoot on easy mode diffficulty now. In fact maybe it's too easy now on easy mode...so you're all welcome to test it. :)

I just played a game (and won 6-5) and the difficulty seemed pretty good - but, apparently, you didn't change the default difficulty, so maybe its just me. :lol: I'll play a few more games to evaluate.

 

(And maybe I'll take a look at your source to see if I can squeeze a few more bytes out...you did post it, after all. :twisted:)

 

EDIT: Ok, played two more games (and won both) and I like the AI better now - though now I wonder if it's too easy. :ponder: You just can't please me! :lolblue:

 

Anyway, it seemed like there were many fewer one-shot kills than before; maybe I was just especially unlucky in my previous games. But the default difficulty seems pretty good to me, now, but now I must clamor for an "expert" difficulty setting. Do the diff switches do anything?

 

A few other random suggestions:

-I'll briefly mention again that the explosion sound is a little "metallic" and perhaps a different AUDCx value would make for a beefier roar.

-Have you considered my suggestion for positioning tanks on 4-pixel boundaries?

-And while I'm on the subject, having a larger minimum distance between tanks would help the smooth out the difficulty. (How is the AI affected by the distance between tanks?) This might be a good candidate for something that the diff switches could control.

 

Thanks again for working on this; Scorched Earth is one of my all-time favorite games and I'm really looking forward to this game's release. :D

 

EDIT II: A few quick edits to your source: Changed the explosion sound - kept the same AUDC0 value, changed the frequency. Changed the positioning routine to limit tanks to 4-pixel intervals. Changed the ClearPFData loop to be shorter (by one byte) and much much faster (by 150 cycles!). And a question: are you *really* sure you need a 32-bit random number? A single-byte LFSR, updated frequently (and apparently independently of user input), would probably be just as good, and then you'd save 3 bytes of RAM plus a bunch of code space and time. If I have time I'll try switching that out later today to see the effect.

 

My changes are marked by **Bob** ;)

 

EDIT III: Changed random number generator just enough to see the effects; looks like it works fine at least as far as the terrain is concerned. Maybe a bit rougher than before. Looks good, though. Attached new source with that change.

Incoming1.0RC3_NTSC_bobmod.asm.txt

Edited by vdub_bobby
Link to comment
Share on other sites

I also noticed that my own bullets can't kill me. Can that be changed?

 

It *could* be changed...but I'm pretty much out of rom space again, and sort of reaching a point of diminshing returns on optimization, so maybe not... :|

 

but...a better question: why do you want the ability to kill yourself anyway?? ;)

 

Ben

 

Because it would be FUNNY! Especially if my newb friends could kill themselves.

Link to comment
Share on other sites

  • 2 weeks later...

Been busy with other things so I've been a bit neglectful lately...but here's a new version.

 

Bob I implemented your fix to the random number seed bug and used the new sound. I also made 'easy mode' slightly harder. I wasn't so keen on the 4-pixel alignment though because I kinda felt that it limits randomness, particularly when the players are on the same level.

 

So then...I think I am about to call it a game and say this is the last version, barring any bugs. I got some other ideas I'd like to move on to for a new game (that will probably come out in 2015 at the rate I go :) ). First I suppose I gotta do the PAL version of this one though (and then maybe the SECAM version for laughs? :) )

 

Thanks guys,

Ben

Incoming1.0RC4_NTSC.bin

Incoming1.0RC4_NTSC.asm.txt

Edited by Ben_Larson
Link to comment
Share on other sites

I'm curious to know how the AI is done, but for the record, how I think it should work is you measure the distance between the two tanks. The farther the distance, the greater the odds that the first shot will be off the mark, and probably more off the mark. In subsequent AI shots, you use that shot as your initial registration point. He will will then do what a human player would typically do, which is slightly change the angle and/or the power. But the computer will NOT know the correct parameters to use. He's just winnowing it down to the correct value through trial and error. Right now the first AI shot is much too accurate. There is no way even an experienced player will know the correct angle and and power to apply so the computer player should be fumbling around just as much.

Link to comment
Share on other sites

Actually, after you get the hang of the game, you can get first shot kills more easily. I can't always beat the game, but I'm getting more consistent at it. After awhile, you just kind of know how much power and angle to use, by sheer repetition.

 

Case in point:

post-2641-1204960384_thumb.png

 

I was ahead 5-0 before he scored. (This is on the default game.)

Edited by Nathan Strum
Link to comment
Share on other sites

Right now the first AI shot is much too accurate.

 

In 'easier mode' (i.e. when you see the '1' with the bear face next to it), the computer generally won't get one shot kills (I say 'generally' because it still happens occasionally). Did you try that mode yet?

 

Ben

Link to comment
Share on other sites

  • 4 weeks later...

Just a quick update: I began working on the PAL conversion this last weekend and should have something relatively soon.

 

Actually the source code should support 4 compilation modes total when I'm done: NTSC, PAL, PAL60, and SECAM (the SECAM version is comically ugly so far but I'm doing it for the challenge :) ). Anyway stay tuned...

 

Ben

Link to comment
Share on other sites

Ok, new source code and binaries. Nothing really changed from the last version except the new video standards supported (well, hopefully supported :) ).

 

If someone with a PAL TV could be so kind as to test the PAL binary on real hardware I would appreciate it. :D

 

Thanks,

Ben

Hi Ben

I will check it on Pal at weekend.

greetings Walter

Link to comment
Share on other sites

Hi Ben

Checked the 2 Pal versions.The Pal 60 version runs well,when i adjust the screen.At the beginnig the screen runs through.But i can adjust it on my TV.

The other Pal version has some glitches at the bottom of the screen and there is an ugly sound,when i play the game.But when starting the game,the glitches disappear .

greetings Walter

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...