Jump to content

Photo

ChaoticGrill (BurgerTime remake) in progress


235 replies to this topic

#226 Kurt_Woloch OFFLINE  

Kurt_Woloch

    Stargunner

  • 1,542 posts

Posted Sun Jan 13, 2019 9:09 AM

OK... as they say, a picture says more than thousand words, so I just sketched up a diagram of the possibilities which may occur...

 

Chaotic Grill Enemy Movements.PNG

 

The first up arrow gives the direction the enemy comes from, black arrows give the following direction if it's not dependent from the player position.

In the right 3 pictures, the colored dots give possible player positions which give the new directions pointed to by the arrows in the same colors.

 

An asterisk says that the mirror of this case may occur and has to be accounted for as well.

 

To explain this, there are six possible patterns an enemy may encounter on an intersection...

 

1. Continuation... in tnis case, continue direction

2. Dead end... in this case, reverse direction

3. L piece... in this case, continue along the L (this may have to be mirrored to a left or right L)

4. T piece with possibility to continue along the same direction... here the direction depends on the player position, and this pattern has to be mirrored as well.

5. T piece leading left or right... here, again, the player position decides which way gets taken

6. Intersection with all ways open... here, again, the player position decides which way to go

 

All of those possibilities can occur relative to any of the 4 directions the enemy may come from.

 

In the pseudo code you've given, I think the "L" is not properly accounted for in all cases.

Let's take, for example, my 3rd drawing, and let's assume that the player is to the upper right of the enemy... in this case, your pseudocode does the following:

 

At intersection:

   Current Direction LR?  CUD (No, it's up)

   Current Direction UP?  CLR (-> CLR)

 

CLR:

  Compare with player X (which actually should be irrelevant here because there's only one way to continue)

  If Left, switch to left if possible, exit (no, player is right)

  If Right, switch to right if possible, exit (not possible)

  Check current direction, if can't move, use opposite direction. (this would take the opposite direction, not along the L)

 

Sorry for critizising you...


Edited by Kurt_Woloch, Sun Jan 13, 2019 11:24 AM.


#227 splendidnut OFFLINE  

splendidnut

    Chopper Commander

  • Topic Starter
  • 144 posts
  • Location:PA/NY Border

Posted Sun Jan 13, 2019 12:15 PM

OK... as they say, a picture says more than thousand words, so I just sketched up a diagram of the possibilities which may occur...

 

attachicon.gifChaotic Grill Enemy Movements.PNG

 

The first up arrow gives the direction the enemy comes from, black arrows give the following direction if it's not dependent from the player position.

In the right 3 pictures, the colored dots give possible player positions which give the new directions pointed to by the arrows in the same colors.

 

An asterisk says that the mirror of this case may occur and has to be accounted for as well.

 

To explain this, there are six possible patterns an enemy may encounter on an intersection...

 

1. Continuation... in tnis case, continue direction

2. Dead end... in this case, reverse direction

3. L piece... in this case, continue along the L (this may have to be mirrored to a left or right L)

4. T piece with possibility to continue along the same direction... here the direction depends on the player position, and this pattern has to be mirrored as well.

5. T piece leading left or right... here, again, the player position decides which way gets taken

6. Intersection with all ways open... here, again, the player position decides which way to go

 

All of those possibilities can occur relative to any of the 4 directions the enemy may come from.

 

In the pseudo code you've given, I think the "L" is not properly accounted for in all cases.

Let's take, for example, my 3rd drawing, and let's assume that the player is to the upper right of the enemy... in this case, your pseudocode does the following:

 

At intersection:

   Current Direction LR?  CUD (No, it's up)

   Current Direction UP?  CLR (-> CLR)

 

CLR:

  Compare with player X (which actually should be irrelevant here because there's only one way to continue)

  If Left, switch to left if possible, exit (no, player is right)

  If Right, switch to right if possible, exit (not possible)

  Check current direction, if can't move, use opposite direction. (this would take the opposite direction, not along the L)

 

Sorry for critizising you...

 

Ahhh, that explains it  :)

 

So it looks like I should be able to use my pseudo code to handle cases 4, 5, and 6 well, but I should probably check for cases 1, 2, and 3 and handle them separately since they each only have one outcome based on the incoming direction.



#228 Kurt_Woloch OFFLINE  

Kurt_Woloch

    Stargunner

  • 1,542 posts

Posted Sun Jan 13, 2019 2:32 PM

By the way, I created some pseudocode as well in order to see how huge it would really get...

 

If I didn't make any mistake, the code for the enemy incoming in the "up" direction would be the following:

   if ladder_up and not ladder_left and not ladder_right then move up
   if not ladder_up and not ladder_left and not ladder_right then move down
   if ladder_left and not ladder_up and not ladder_right and ladder_down then move left
   if ladder_right and not ladder_up and not ladder_left and ladder_down then move right
   if ladder_left and ladder_up and not ladder_right and player_left then move left
   if ladder_left and ladder_up and not ladder_right and not player_left then move up
   if ladder_right and ladder_up and not ladder_left and player_right then move right
   if ladder_right and ladder_up and not ladder_left and not player_right then move up
   if ladder_left and ladder_right and not ladder_up and player_left then move left
   if ladder_left and ladder_right and not ladder_up and not player_left then move right
   if ladder_left and ladder_right and ladder_up and player_left then move left
   if ladder_left and ladder_right and ladder_up and player_same_ladder then move up
   if ladder_Left and ladder_right and ladder_up and player_right then move right

Since this duplicates many checks, this could be folded into:

If ladder_up then
   if ladder_left then
      if player_left then
         move left
      else
         if ladder_right then
            if player_same_ladder then
               move up
            else
               move right
            end if
         else
            move up
         end if
      end if
   else
      if ladder_right then
         if player_right then
            move right
         else
            move up
         end if
      else
         move up
      end if
   end if
else
   if ladder_left then
      if ladder_right then
         if player_left then
            move left
         else
            move right
         end if
      else
         move left
      end if
   else
      if ladder_right then
         move right
      else
         move down
      end if
   end if
end if

In this code ladder_xx means there's a ladder or platform in that direction leading from the intersection and player_xx means the player is in that direction seen from the enemy.

 

This pseudocode is in VB style... in C style it would look a bit differently.

 

:-)


Edited by Kurt_Woloch, Sun Jan 13, 2019 2:36 PM.


#229 splendidnut OFFLINE  

splendidnut

    Chopper Commander

  • Topic Starter
  • 144 posts
  • Location:PA/NY Border

Posted Sun Jan 20, 2019 11:55 AM

Thanks to Kurt Woloch (as seen in previous posts), I believe all the enemy movement issues have been eliminated.

 

Enjoy.

 

Attached File  chaoticGrill-2019-01-20.bin   32KB   75 downloads



#230 NostAlgae37 OFFLINE  

NostAlgae37

    Chopper Commander

  • 112 posts

Posted Sun Jan 20, 2019 2:00 PM

Thanks to Kurt Woloch (as seen in previous posts), I believe all the enemy movement issues have been eliminated.

 

Enjoy.

 

attachicon.gifchaoticGrill-2019-01-20.bin

 

I just played this and on stage 3 the enemies walk upwards on invisible ladders in the center of the screen until they either disappear completely at the top (never to return) or emerge at the bottom of the screen (and keep cycling in that fashion), so it appears that there are still bugs to be ironed out.  :P



#231 Kurt_Woloch OFFLINE  

Kurt_Woloch

    Stargunner

  • 1,542 posts

Posted Sun Jan 20, 2019 2:11 PM

I just played this and on stage 3 the enemies walk upwards on invisible ladders in the center of the screen until they either disappear completely at the top (never to return) or emerge at the bottom of the screen (and keep cycling in that fashion), so it appears that there are still bugs to be ironed out.  :P

 

Yes, this happens to me as well. In addition to that, I've sometimes seen the enemies turn around on the spot (on a three-way intersection) which they are only supposed to do on a dead-end, and I've also seen them leaving the platform for a ladder even though I was on the same platform in front of them, or leaving a ladder for a platform even though I was on the same ladder. But with platforms, they do this in the arcade version as well sometimes, so this may not be such a big mistake.



#232 hizzy OFFLINE  

hizzy

    Dragonstomper

  • 950 posts
  • Location:Montreal, QC

Posted Sun Jan 20, 2019 4:22 PM

Was just about to post about stage three and the enemies. 

 

This is really a great version!!! Thank you for your hard work :)



#233 TrekMD OFFLINE  

TrekMD

    River Patroller

  • 3,897 posts
  • Location:Coral Gables, FL

Posted Sun Jan 20, 2019 5:32 PM

I've experienced the same glitch but, otherwise, this plays great!  It si one awesome port of the game.



#234 iesposta OFFLINE  

iesposta

    River Patroller

  • 3,881 posts
  • Retro-gaming w/my VCS
  • Location:Pennsylvania

Posted Sun Jan 27, 2019 1:49 AM

“Burger Diner”
All our chefs make are burgers.
So popular, they say they dream of making burgers!

Self-serve soda, ice cream, pepper, etc.
New this year! Self serve instant fries made the way you choose - always hot (also includes salt & pepper packets).



#235 splendidnut OFFLINE  

splendidnut

    Chopper Commander

  • Topic Starter
  • 144 posts
  • Location:PA/NY Border

Posted Yesterday, 3:35 PM

It's been awhile, (been busy/taking a break).. so I'll give an update:

  • Fixed most/all of the occurances of the enemies walking of the screen (bad layout data)
  • New SCOREBOARD... 96pixels wide... flickering at 30hz.
  • New scoreboard font.. thanks to NostAlgae37
  • Fixed issue when pepper button is held down during gameplay.... you won't accidentally use all your peppers now.
  • Improved enemy/burger collision detection so that they should no longer get squashed instead of riding the burger.
  • Fixed positions of bonus items.

I've almost got the new flicker management done... there are still some issues (especially when items are displayed) that need to be worked out, so it's not enabled.

 

Enjoy.

 

 

Attached File  chaoticGrill-2019-02-17.bin   32KB   25 downloads



#236 hizzy OFFLINE  

hizzy

    Dragonstomper

  • 950 posts
  • Location:Montreal, QC

Posted Yesterday, 5:52 PM

AMAZING!!!!!






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users