Jump to content
IGNORED

Intellidiscs: Weekly development log


Ryan Witmer

Recommended Posts

3 hours ago, phuzaxeman said:

Not sure if this was asked but will you be selling physical copies of your creation?

I think Albert wants to do another batch of games in the spring, I expect this one will be ready by then and I'd like to get it in that run.  Either way, the ROM and source code will be available free for anyone who wants them.

 

2 hours ago, Cafeman said:

Personally I like your OG recognizer the most. The solid legs make it seem more ... solid, and not like see-thru vector lines. 

I prefer the outline version, and that's the one that will go into the official release.  I could easily release a build with the old solid one too.  Of course, the source will be available so anyone who wants to can hack it up to look like whatever.

  • Like 4
Link to comment
Share on other sites

On 8/2/2020 at 7:03 AM, Ryan Witmer said:

Berzerk Style:  This is also how the 2600 version of the game functions.  You throw your disc by pressing a direction and the lower trigger button.  The upper button will be used for block/dodge.

I just played Tron Deadly Discs on my console and I have to say I don't like to use keypad to throw discs, I prefer VCS control style.

 

In fact on the VCS you don't have to move the joystick and press the button. If you just press the button the disc is thrown in the latest direction.

I would add a single button mode too (useful for computers conversion):

- long button press activates shields

or

- button press activates shields and discs are thrown pressing the button and moving the joystick.

 

Keep up with good work!

 

 

  • Like 2
Link to comment
Share on other sites

14 hours ago, Philsan said:

In fact on the VCS you don't have to move the joystick and press the button. If you just press the button the disc is thrown in the latest direction.

I thought about doing it this way.  I'll need to make a final call once I get around to implementing the other control modes, but I think it's likely that I'll do this.  I'm pretty sure I'm already saving the last direction of movement for some other purpose.

 

14 hours ago, Philsan said:

I would add a single button mode too (useful for computers conversion):

- long button press activates shields

or

- button press activates shields and discs are thrown pressing the button and moving the joystick.

I try to be as friendly to A8 conversions as possible, but I don't like the idea of putting things into the 5200 version just for that purpose.  I already release the source code and I make sure to isolate the input code so anyone doing a conversion can just drop in a new routine.  The guy who converted my other three 5200 games did some great work here, even adding both joystick and paddle modes to RealSports Curling.  If he picks up this game too, I'm sure he can handle it.

  • Like 3
Link to comment
Share on other sites

On 12/30/2020 at 7:21 PM, Ryan Witmer said:

I thought about doing it this way.  I'll need to make a final call once I get around to implementing the other control modes, but I think it's likely that I'll do this.  I'm pretty sure I'm already saving the last direction of movement for some other purpose.

 

I try to be as friendly to A8 conversions as possible, but I don't like the idea of putting things into the 5200 version just for that purpose.  I already release the source code and I make sure to isolate the input code so anyone doing a conversion can just drop in a new routine.  The guy who converted my other three 5200 games did some great work here, even adding both joystick and paddle modes to RealSports Curling.  If he picks up this game too, I'm sure he can handle it.

Ryan, your version of Deadly Discs is so much easier to control than the intellivision.  The keypad is so much easier to push and moving the stick while firing is a treat as well.  I would really like to try dual sticks. 

 

Looking at other 5200 games, part of the reason of the 5200 centipede's success is because it focused on the analog sticks/tracball of the 5200.  5200 Star Raiders is also another port that makes the experience better than the A8.     

Edited by phuzaxeman
Link to comment
Share on other sites

So today I got the recognizer's paralyzer probe chasing the player and freezing you when it catches you.  The implementation isn't quite complete though.

 

While messing about with the Intellivision version, I came to the conclusion that the probe is following the same movement rules as the 1,000,000 point guard enemies.  For the moment, the probe has a simple pursuit movement but I want to change this later on.  I'm going to hold off until I've seen the guard enemies and confirmed my theory, then I can write one movement routine to rule them all.

 

I also started thinking about the sort of weird edge scenarios you don't consider until you actually try to program something like this.  For example, what happens when the probe catches you in the block stance?  I tried this in the Intellivision version and much to my surprise, the player stands up straight but the disc remains in its block mode.  Once the probe releases you you're still in block mode and after your first movement you will resume the proper stance.  This looks like a pretty clear bug in the original game, so my version just keeps you in the block stance while you're locked down.  The same sort of weirdness happens in the crouch state.  Fun stuff.

 

Tomorrow I'm going to start working on the recognizer's eye.  I'm not sure how much I'll get done, but once the eye is finished the whole recognizer battle is basically complete, aside from the later revision to the probe movement logic.

  • Like 2
Link to comment
Share on other sites

Amazing that the little things you don’t think of while just playing the game To figure out that the recognizer freeze and the guards at the million point level follow the same pattern You’re putting so much time into getting this game right! I take it after the recognizer eye then onto working onto the guards? Seems like you’re getting very close to completion! Great job!!!

Link to comment
Share on other sites

8 hours ago, Indiana Quack said:

I take it after the recognizer eye then onto working onto the guards? Seems like you’re getting very close to completion! Great job!!!

Pretty much.  I need to keep walking up the difficulty scale and filling out the enemy spawn table.  One thing I don't know is where the difficulty maxes out and you stop seeing wave changes.  It will be interesting to see if anything changes after 1,000,000 points.  Once the recognizer, guards, and difficulty progression are done I'm down to adjustments, bug fixes, the other control modes, sound, surrounding stuff like the title screen, and the secret thing I have planned.

 

So I managed to get the eye in place as well as the little defensive flaps on the sides of the head.

 

large.recognizer_eye.png.257aad53b60b03db360cd25178da928b.png

The eye moves back and forth just like the real game.  This eye is a bit narrower than the Intellivision one and there's really nothing I can do about that.  It has a wider movement range as a result and it looks really cool in motion.

 

The defensive flaps bounce up and down just like they should, although I still need to play with the timing.  I think they might be a little too fast right now.  The eye exists and moves but does nothing else.  I need to work in the color changes when it switches to "open" and becomes vulnerable.  I also need to do the collision detection with the disk so you can actually break the thing.

 

This was a lot more work than I expected it to be.  Every time I started working on one aspect of this stupid eye I would find a few things I hadn't really considered.  It still doesn't draw properly when the recognizer enters from the top of the screen and I need to fix that.

  • Like 1
Link to comment
Share on other sites

One thing I know of after you hit the million points level is that the randomness of the replacements Sometimes you get a guard and sometimes you get a blue guy with a white seeker disc It does this to be able to get the blue guy to hit you so you slow down so the guards catch you much quicker Great job on getting the recognizer eye in place! In time this will be complete and one of the best 5200 games available Can’t wait!!! Thank you for all your efforts on this!!!

Link to comment
Share on other sites

On 1/3/2021 at 6:55 PM, Ryan Witmer said:

Pretty much.  I need to keep walking up the difficulty scale and filling out the enemy spawn table.  One thing I don't know is where the difficulty maxes out and you stop seeing wave changes.  It will be interesting to see if anything changes after 1,000,000 points.  Once the recognizer, guards, and difficulty progression are done I'm down to adjustments, bug fixes, the other control modes, sound, surrounding stuff like the title screen, and the secret thing I have planned.

 

So I managed to get the eye in place as well as the little defensive flaps on the sides of the head.

 

large.recognizer_eye.png.257aad53b60b03db360cd25178da928b.png

The eye moves back and forth just like the real game.  This eye is a bit narrower than the Intellivision one and there's really nothing I can do about that.  It has a wider movement range as a result and it looks really cool in motion.

 

The defensive flaps bounce up and down just like they should, although I still need to play with the timing.  I think they might be a little too fast right now.  The eye exists and moves but does nothing else.  I need to work in the color changes when it switches to "open" and becomes vulnerable.  I also need to do the collision detection with the disk so you can actually break the thing.

 

This was a lot more work than I expected it to be.  Every time I started working on one aspect of this stupid eye I would find a few things I hadn't really considered.  It still doesn't draw properly when the recognizer enters from the top of the screen and I need to fix that.

Looking good, Ryan.  Any sound effects yet?

 

 

 

Link to comment
Share on other sites

3 hours ago, phuzaxeman said:

Any sound effects yet?

Not yet, but the list of other things to work on is getting smaller and smaller.  I might start putting some placeholder effects in soon just to get the code for them in place.

 

This weekend I was focused on getting the recognizer battles done-ish.  Well, they're done-ish.

 

 

As this video describes, there are still a few things to do, but for the most part the recognizer is done.  Next week I'll wrap up some of the little details and get back to filling in the enemy spawn table on my journey to 1,000,000 points.

  • Like 4
Link to comment
Share on other sites

26 minutes ago, Ryan Witmer said:

Not yet, but the list of other things to work on is getting smaller and smaller.  I might start putting some placeholder effects in soon just to get the code for them in place.

 

This weekend I was focused on getting the recognizer battles done-ish.  Well, they're done-ish.

 

 

As this video describes, there are still a few things to do, but for the most part the recognizer is done.  Next week I'll wrap up some of the little details and get back to filling in the enemy spawn table on my journey to 1,000,000 points.

Recognizer looks great!

  • Like 1
Link to comment
Share on other sites

I started goofing around with Twitch earlier this week, and it looks like people sometimes stream their coding sessions and people enjoy watching them (who are these people?).

 

So in the spirit of the 21st century I decided to give this a shot just for the fun of it.  I'm planning to work on finishing the few remaining recognizer details in true Flynn fashion, for a live audience.

 

I plan to start working around 9AM PST on Saturday.  If for some reason you feel like watching this process you can see it at https://www.twitch.tv/phasercatgames

  • Like 2
Link to comment
Share on other sites

The video stream was successful, for some definition of successful.  I got some of the last recognizer details done, most importantly the ability to destroy the eye from the top.  I also dropped in a placeholder sprite for the sparking eye after you nail it.  Need to finish that up later.

 

Between today and yesterday evening I got the enemy spawn table from 20,000 up to 100,000 points.  At this level, the game starts throwing three leader enemies at you in each wave.  I'm hoping this holds all the way up to 1,000,000 because trying to hit all these score levels is tedious and difficult.

 

That's where I'm stopping this week.  Next week I'm hoping to reach the 1,000,000 point mark.  I don't know if I'm going to start coding up the guard enemies, but I will certainly spend some time looking at them and trying to figure out exactly what they do and how they do it.

  • Like 1
Link to comment
Share on other sites

4 hours ago, Ryan Witmer said:

The video stream was successful, for some definition of successful.  I got some of the last recognizer details done, most importantly the ability to destroy the eye from the top.  I also dropped in a placeholder sprite for the sparking eye after you nail it.  Need to finish that up later.

 

Between today and yesterday evening I got the enemy spawn table from 20,000 up to 100,000 points.  At this level, the game starts throwing three leader enemies at you in each wave.  I'm hoping this holds all the way up to 1,000,000 because trying to hit all these score levels is tedious and difficult.

 

That's where I'm stopping this week.  Next week I'm hoping to reach the 1,000,000 point mark.  I don't know if I'm going to start coding up the guard enemies, but I will certainly spend some time looking at them and trying to figure out exactly what they do and how they do it.

 

Have you seen this video of Tron Deadly Discs?

 

Is it helpful in your research up to and beyond the 1 million mark?

 

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, fdr4prez said:

 

Have you seen this video of Tron Deadly Discs?

 

Is it helpful in your research up to and beyond the 1 million mark?

Wow, that's an impressive video.  I see that things are a bit more complicated then I thought they would be beyond 1 million.  I hope there's some kind of pattern to how the enemy waves change.

 

It also looks like my hunches about how the guard enemies behave was correct!

  • Like 2
Link to comment
Share on other sites

So here's the first look at the guards:

 

large.guard.png.9acfcd8e81102a7f6b403988a0145b28.png

I made them green because it's my game and I can do whatever I want.

 

Right now they aren't really any different from the other enemies.  They have normal discs and they throw them at you.  They don't chase you.  They only things that distinguish them are their awesome green color, the fact that they take four hits to kill, and their insistence on not showing up until 1,000,000 points.  Yeah, about that...

 

Up until 1,000,000 points, the enemy wave patterns are fixed.  Tell me a score, and I can tell you exactly what enemies will appear.  At 1,000,000 points this changes.  My own testing and the awesome video posted above both show a very random pattern of enemy spawns.  I've seen completely different patterns show up at literally the exact same score.  It's time to figure out what's going on here.

 

It's obvious that there's some sort of random selection going on.  Only leaders and guards appear, and I see two possible ways this happening:

 

Method 1: Random individual enemies

 

This means that each enemy is tested against some probability at the time of creation.  I don't know what the leader/guard ratio is but I'm using 50/50 as a starting point for my assumptions.  I have seen nothing in my own research or that nice video to rule out this possibility.

 

Method 2: Random wave pattern selections

 

In this approach, there is a table of possible leader/guard wave patterns and one is selected at random for each wave.  Since the reinforcement enemies are derived from the same patterns, it's likely that reinforcements select a new pattern at random and draw from that.  I have also seen nothing to rule out this possibility.

 

So, how can I tell the difference?  Technically speaking, I probably can't without a disassembly of the original game, but I can make some reasonable guesses.

 

Method 2 seems the most likely to me.  This would allow the game to reuse the existing enemy generation logic and was probably less work for the programmer.  Method 2 also has the interesting property of being able to prevent certain combinations from happening.  This is the point I want to focus on.

 

There are two "extreme" wave patterns:  all three enemies are leaders, and all three enemies are guards.  I have personally seen all three leaders and it also appears in that video.  I have not seen all three guards, and I haven't watched that video in its entirety to see if it's in there.

 

This is just a hunch, but I suspect that the three guards pattern is something the game doesn't want to do.  I'm not sure exactly why I think this, but it just seems right to me.  I'm going to spend some time experimenting to see if the three guards pattern ever shows up.  If it never does (for some reasonable value of never) I think I can reasonably conclude that method #1 is not what the game is doing.  If it does show up, it doesn't rule out method #2, but it makes it largely irrelevant.

 

So, mostly research today.

  • Like 4
Link to comment
Share on other sites

So here are the guards with their little sticks, apprehending poor Tron.

 

large.guard_sticks.png.91199b36aec20cffea2cb12bbf23ecfc.png

The guards are fully functional now, although their seeking algorithm is still awful and I need to fix it.

 

Tomorrow I'm going to make some little fixes to the recognizer probe, and I also need to actually insert the recognizer battles into the game flow.  Right now, the code is there but it isn't integrated into the game.  I need to study the Intellivision game a bit and get a basic grasp on how many doors trigger the recognizer and what the approximate chances are of it appearing.

 

Once that's done, the game will be in a state that I like to call "gameplay complete."  This means that all of the things are in the game.  They might be buggy, they might need some adjustments, but everything is there.  I'll probably post a build at that point for people to mess around with.

 

So what is left after that?  Here's a rough list just off the top of my head:

  • Disc return algorithm is crap.
  • Aiming algorithm is also crap.  This is used for not just enemy disc aiming, but also guard and recognizer probe movement.
  • Still no death animation.
  • Various cosmetic bugs with how held discs are positioned in certain circumstances.
  • Enemies get their discs back too soon after you block them.
  • Some of the behavior around enemies running into walls is wrong.
  • That disc erasure bug that I keep thinking I've fixed still isn't gone.  It seems to be limited to one very specific case now.
  • Sometimes the player's ability to move just starts to freak out.  This starting happening recently so I probably broke something by accident.
  • I think the enemy speedup logic that hits at 20,000 and 100,000 points isn't quite right yet.
  • Recognizer eye sparks.
  • Minor recognizer fight timing details.
  • Recognizer repair speeds need adjustment.
  • Need a title screen and menu.
  • Proper end of game handling.
  • Pause/Reset support.
  • 16 directional movement for the player.
  • The other two control methods.
  • Sound, both effects and possibly some bits of music.
  • Secret feature

This looks like a lot of stuff, but most of it is pretty straightforward.  Hopefully I can have this whole project wrapped up within a couple of months.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Ryan Witmer said:

I need to study the Intellivision game a bit and get a basic grasp on how many doors trigger the recognizer and what the approximate chances are of it appearing.

 

The manual says that you need to "complete a teleport" and kill all three warriors

image.png.aa76f1151a721bb548eee87298616944.png

 

So you can have all possible doors open, and kill all 3 warriors, over and over again - repeatedly, and if you have never actually teleported (have never walked thru a passage), then the Recognizer will never arrive.

 

So at minimum you need to have at least one set of opposite doors open, and have walked through them, and then kill all three warriors - now the Recognizer will come.

 

  • Like 1
Link to comment
Share on other sites

The recognizer will eventually come out even if you don't teleport.  I think at minimum once every four rounds or something like that.  If you really want to avoid the recognizer, don't kill all the enemies, always leave one in the arena.  I don't know why you'd do that, you get the most points by defeating recognizers.

Edited by mr_me
  • Like 1
Link to comment
Share on other sites

4 minutes ago, mr_me said:

The recognizer will eventually come out even if you don't teleport.  I think at minimum once every four rounds or something like that.  If you really want to avoid the recognizer, don't kill all the enemies, always leave one in the arena.  I don't know why you'd do that, you get the most points by defeating recognizers.

Defeating the recognizers was the fun part, so I guess I never waited quite long enough to find out otherwise :) 

Link to comment
Share on other sites

16 hours ago, fdr4prez said:

 

The manual says that you need to "complete a teleport" and kill all three warriors

image.png.aa76f1151a721bb548eee87298616944.png

 

Well, another piece of the manual I somehow completely forgot about.  I tested this and it actually seems true!  I set up the smallest possible case (only two doors) ran through them, and the recognizer shows up!  That's amazing.

 

14 hours ago, mr_me said:

The recognizer will eventually come out even if you don't teleport.  I think at minimum once every four rounds or something like that.  If you really want to avoid the recognizer, don't kill all the enemies, always leave one in the arena.  I don't know why you'd do that, you get the most points by defeating recognizers.

I suspect this might be true as well.  I was deliberately avoiding the doors while I was trying to figure out the difficulty ramp and I'm pretty sure some recognizers showed up eventually.  Need to test this.

  • Like 1
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...