JeZxLee

RELEASED! "PacDude Hero IV 110% Turbo" - Open-Source!

Recommended Posts

100% Open-Source / Cross-Platform!
(full project with source code and resources are downloadable on title screen)

www.PacDudeHero.com

GAME IS RELEASED!

Powered By JeZxLee's "1993 Ford(R) Mustang GT Cobra 5.0[TM]" 2-D video game engine - "Pony Power!"

PDH4-110-Title.png.dee77f1fe62fa8ea6ec9a6aa3ac90bfd.pngPDH4-110-InGame.png.327c859123828ace5b7ac057ab130ceb.png

 

Share this post


Link to post
Share on other sites
Just now, mattstyles said:

Gave it a go, its mega framey, makes turning almost impossible.

Using Chrome.

It requires a dedicated 2+GB GDDR5 graphic card to play well...

Just kidding!

What are the Frames Per Second (FPS) on top-right?

Share this post


Link to post
Share on other sites

57-58, but I did some digging to try and isolate it for you

I get a lot of errors from various places in your code (this is from screen but there were more from interface, and some others I think), e.g.

screens.js:1654 Uncaught TypeError: Cannot set property 'x' of undefined
    at DisplayPlayingGameScreen (screens.js:1654)
    at DisplayScreen (screens.js:143)
    at play (screens.js:122)
    at gameLoop (index.html:62)

At first I thought that was the issue, it might be related, but I've managed to isolated a more repeatable test case for you:

Head left then right then left, alternating keypresses every second or so. If you really quickly tap the keys then all is ok, but, if you dwell on the key for anything more than a nanosecond then no rendering occurs so you get a jump, sometimes a pretty big one.

So, I'd say you've got some issues with your key registering/pressing code that is somehow connected to your rendering and causing real bad stuttering.

Share this post


Link to post
Share on other sites

Hi,

We have release Alpha3 Final today.

Everything is done but new high score name input(weekend)

Let us know if anything is wrong, thanks!

JeZxLee

Share this post


Link to post
Share on other sites

A bit difficult to turn, feels like there's a lag in the input. But the game is good.

Does feel like the ghosts stay vulnerable for a little too long though, made it seem kinda easy.

Share this post


Link to post
Share on other sites

Hi,

Game is about finished...
We are trying to perfect the player to ghost collision detection now.
Our current code which is not 100% perfect is below:

var playerGhostCollision = -1;
var index;
for (index = 0; index < 8; index++)
{
	if (GhostActive[index] == true)
	{
		var pFieldY;
		var pFieldX;
				
		for ( pFieldY = (PlayerPlayfieldY-1); pFieldY < (PlayerPlayfieldY+2); pFieldY++)
		{
			for ( pFieldX = (PlayerPlayfieldX-1); pFieldX < (PlayerPlayfieldX+2); pFieldX++)
			{
				if (playerGhostCollision == -1)
				{
					if (pFieldX == GhostPlayfieldX[index] && pFieldY == GhostPlayfieldY[index])
					{
						if (PlayerPlayfieldY < GhostPlayfieldY[index] && PlayerPlayfieldX == GhostPlayfieldX[index])
						{
							for ( var inbetweenY = PlayerYInBetweenTiles; inbetweenY > (PlayerYInBetweenTiles-32); inbetweenY-=2 )
							{
								if ( PlayerPlayfieldX == GhostPlayfieldX[index] && inbetweenY == (GhostYInBetweenTiles[index]+32) && inbetweenY > -64 )
											playerGhostCollision = index;
							}
						}
						else if (PlayerPlayfieldY > GhostPlayfieldY[index] && PlayerPlayfieldX == GhostPlayfieldX[index])
						{
							for ( var inbetweenY = PlayerYInBetweenTiles; inbetweenY < (PlayerYInBetweenTiles+32); inbetweenY+=2 )
							{
								if ( PlayerPlayfieldX == GhostPlayfieldX[index] && inbetweenY == (GhostYInBetweenTiles[index]-32) && inbetweenY < 64 )
											playerGhostCollision = index;
							}
						}
						else if (PlayerPlayfieldX < GhostPlayfieldX[index] && PlayerPlayfieldY == GhostPlayfieldY[index])
						{
							for ( var inbetweenX = PlayerXInBetweenTiles; inbetweenX > (PlayerXInBetweenTiles-32); inbetweenX-=2 )
							{
								if ( PlayerPlayfieldY == GhostPlayfieldY[index] && inbetweenX == (GhostXInBetweenTiles[index]+32) && inbetweenX > -64 )
											playerGhostCollision = index;
							}
						}
						else if (PlayerPlayfieldX > GhostPlayfieldX[index] && PlayerPlayfieldY == GhostPlayfieldY[index])
						{
							for ( var inbetweenX = PlayerXInBetweenTiles; inbetweenX < (PlayerXInBetweenTiles+32); inbetweenX+=2 )
							{
								if ( PlayerPlayfieldY == GhostPlayfieldY[index] && inbetweenX == (GhostXInBetweenTiles[index]-32) && inbetweenX < 64 )
											playerGhostCollision = index;
							}
						}
					}
				}
			}
		}
	}
}

We have updated the URL link for current version.
We hope to have everything sorted out sometime on Thursday, thanks!

JeZxLee

Share this post


Link to post
Share on other sites

I don't see any input lag anymore, great work fixing that, but, one of the absolute key elements for PacMan (and similar 'maze' games) is that you don't need to hit the turn keys absolutely precisely, i.e. currently I must press up when there is a space to move up, if I don't press exactly at the right movement it won't work, this means I have to hold the key down a little before the turn to ensure I turn, these types of games should implement a little shield mechanism that remembers the last keypress (at least for a small amount of time) so that if I hit the up key a few frames before the turn it will remember it and execute the turn when the time is right (I hope I've explained this right, it's a super-critical bit of UX that makes games like this so much more playable, any impedence in interacting with a game/app can be a killer and whilst this sounds like a tiny change in implementation the UX impact is large).

Share this post


Link to post
Share on other sites

Hi,

Take a look in [Options] screen for enabling remember next move.
I had to disable it because people were complaining about it.

Also, the URL above is a dead link which is no longer updated.
Please visit www.PacDudeHero.com for latest version...

Thanks!

JeZxLee

Share this post


Link to post
Share on other sites
15 hours ago, JeZxLee said:

Take a look in [Options] screen for enabling remember next move.
I had to disable it because people were complaining about it.

Ha ha, darned people, always complaining about something! Sounds good to have an option for it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.