Jump to content
IGNORED

A New twist on Pac Man?


1980gamer

Recommended Posts

I have been playing with the new XB-Compiler and it has given life to the TI-99 again!

 

I had a TRON-ish idea while playing Pac-man... What would happen if the maze was 2 sided?

 

I came up with this proof of concept for some real programmers to take over.

 

It playes like pac-man, the ghosts go through the tunnel as normal, however, when pac man goes through,

the screen raps around to the other side, the left right controls are reversed and you have to eat the dots

on both sides of the screen to complete a level.

 

I do not consider myself a developer/programmer, I am a DBA and write T-SQL mostly.

 

I will keep going on this project, but I wife someone would really run with this!

 

This sample still has debug info displayed and throught the code. If I have enough time, I will try 2 player turn based.

 

Again, thanks for the XB COMPILER and WIN994a and of course CLASSIC99, being able to edit outside of the TI99

is a so AWESOME! Then paste snippets back in... I cannot say enough!!

 

The compiled version runs way to fast right now, bu you can get an idea in CLASSIC99 with overclocking!

 

 

The ZIP contains a TEXT version and a DSK version that is already compliled...VERY FAST!

 

Gene

pac.zip

  • Like 1
Link to comment
Share on other sites

I was pretty sleepy when I posted last night.

 

Keyboard control only ( for now ) E=up, X=down , S=Left on the top side and right on the bottom side, D= Right on the Top and Left on the Bottom.

 

Thanks sometimes99er... Another shout out for magelian and patterns, I would have had a few walls for testing only and a few squares for graphics!

 

Everyone should check out the tools on http://sometimes.planet-99.net/ Oh and TiDir for letting me move files between emulators!

 

Only 1 ghost moves at present, the others eyes move to match the first ghost direction, this was for testing. The second will move at some point.

It will be smarter than the first but move slower.

 

Be well!

Gene

Link to comment
Share on other sites

Hey Dano, I was considering completely changing the controller directions, but it is more of a wrap around effect.

 

However, I was thinking of a second maze that had top/bottom doors that would change the up/down control but lthe left/right would stay correct.

 

The MAZE is 99% independent of the rest of the game. I just have 6 postion checks in the tunnels. These checks would need to be updated with a maze change.

Actually, I could add 6 more checks, they could not be triggered because they would be off the maze playfield in either case..

 

I hope to put a few hours in to the game this weekend. Chomp Sound, second host and maybe some other stuf?

 

I would also love to see others make changes to this as well!

 

At some point, I'd like to replace most of the read/data with HCHAR and VCHAR to save memory, load/save time and space etc.

Also, save state for player 1 / player 2.

 

Take care,

Gene

Link to comment
Share on other sites

Neat idea to answer the question, "Where does Pac-Man go when he enters the tunnel?"

 

You could even take that a step further... Imagine a cube. If the main screen is on the front, each time Pac-Man enters a tunnel, the cube rotates to that screen. When a screen is completed, you can no longer enter that side of the cube again.

Link to comment
Share on other sites

Here is an update....

 

Added: Second Ghost, Collision detection, Extra Men, A bad CHOMP sound with variable lenght at the start. 50-60 is playable.

I also added the background siren sound,,LOL I have no clue how to make these sounds. But the text is included if anyone can help with that!

 

Gregory DG-- Funny, I was thinking cube originally. Even, rubix cube, 36 screens tied togther in some sort of order needed to complete all the mazes!

It seems I would need a ton of space for mazes and storing the play state of each maze as you come and go.

unhuman--

 

I agree with messing with the control of games, however, I think this is part of the twist to give life back to pacman.

 

This has gone way past what I planned to do with it.. It was intended to be a proof of concept, actually for the Intellivision ;)

 

The Intellivision crowd is not big on copyright infringement, so I figured this may be different enough? MIRROR MAZE??

 

But I have had some fun with this, so I keep going!

 

I seem to be running out of space for the compile? I get some flakey stuff when I loose the 2 or 3 pacman, this does not happen in XB.

 

I did a few little things to save memory. Next will be shrinking variable where I can. And reusing where safe.

 

It is now close to a playable game..

Gene

DSK2.zip

Link to comment
Share on other sites

I don't think you're running out of space. There are 9290 bytes left which should be enough for your program. Strings have to go into these 9290 bytes, but I took a quick look at your program and couldn't see very many strings. What sort of flakey stuff are you seeing? Is it reproducible? When does it happen? The more information you can provide, the easier it is to figure out what is happening.

Link to comment
Share on other sites

I've played a bit more with this game and have found that you can get the munchman stuck when you're going through the tunnel. Just as you go through the tunnel reverse your direction. If you time it just right the munchman jiggles right and left and the screen flashes from normal to reversed. This happens in both tunnels. Apparently when the screen changes the direction also changes which sends you back through the tunnel only to change the screen and direction again. Maybe that's the flakiness you were talking about? Nothing you do can get him unstuck, though once I moved to the right a few squares and was able to go up and down outside of the maze!

Edited by senior_falcon
Link to comment
Share on other sites

Hello Senior_falcon,

Yes, The tunnel bug is on me! I have to re-locate the char a little away from the SWITCH point back toward the maze.

 

The COMPILED bug is...the screen repeats pacman all over the screen, when you loose the second or third life. (it is not a HARD lock, I can exit and re-run)

All I do is change the background screen color, reset variables and play a few sounds and decremant the eXTRa life variable.

I also check that XTR is not less than 0.

 

I have to say, If not for the compiler, I would not use the TI anymore, but this tool has got me back to when I was 11-12 years old.

I have created a few demos and It is amazing to have coinc actually work! and having to worry about slowing execution is awesome!

  • Like 1
Link to comment
Share on other sites

Glad to hear that you like and use the compiler. My reward for all this is to see what people can do with it! (Hint, hint)

 

I believe the problem is in line 860:

860 CALL HCHAR(20,24,115,XTR)

When I wrote the routines for HCHAR and VCHAR I did not know that you could have a repeat value of zero. In XB, if the repeat value is zero then nothing is displayed on the screen. The compiled code displays the character, decrements the count, compares to zero, and keeps looping until count becomes zero. Since it doesn't know you can have a zero, it decrements the zero and gets >FFFF, so it keeps writing to the screen and decrementing until the count becomes zero. It would never have occurred to me that displaying zero characters would actually be useful, but here it obviously is. The fix is easy and I will release it with the improved compiler in a couple of weeks.

If you don't want to wait you can add one line to RUNTIME2 that should fix this.

Find HCHARX

HCHARX BL @GET1

MOV *R6,R6

add this-> JEQ HCHAR1 <-add this

HCHARY DEC R0

 

Save this and you should be good to go.

Edited by senior_falcon
Link to comment
Share on other sites

Execellent find! I thought I had just found it with: 3910 IF XTR<0 THEN END I did not branch to the END.

I guess this would have popped up after your fix.

 

This has been the hardest part for me. I am used to IF X=Y THEN C=C+1 ELSE C=C-1

I have never used so many goto's in my life! LOL. I really have to think about the logic.

I have been using CASE WHEN or IF THEN ELSE for so long, I didn't have to think about it before.

 

I got a pretty good siren sound now, but it plays to long! I'll have to figure some way to play parts

of it throughout the main loop. It is hard because I don't want it to play when the chomp sound will play.

 

The fun of tinkering!

Link to comment
Share on other sites

I think this version if fairly bug free. Or at least I won't charge for them!

 

This version has fixed the Tunnel issue. I could not dupelicate the issue. However, Would it be better for pacman to go back to the start position when going through the tunnel?

Also, I have a siren sound working for the most part. It would be about 75-80 CHOMP duration for a starting speed.

 

The BLUE ghost is just a bit smarter than the RED.

 

The Game will now end gracefully.

 

Gene

DSK2.zip

Link to comment
Share on other sites

OKAY, This may be the final version. I had fun with this.

This version has a MAZE option. Maze 1 is the original maze I made for this demo.

Maze 2 is pretty much PACMAN. without the line graphics. ( could be done but I don't think it will be me! )

 

The only things I may consider adding are:

A third ghost.

MAYBE a controller option. Right now I use realistic controls, but may consider directional controls?

 

Less likely, better gamer over screen and between level stuff.

 

I branched incorrectly at the end of clearing a screen. You get the option to select either maze.

This is a BUG.....But I like it, so maybe it's a feature!

To fix this in the text version supplied... change 4930 GOTO 14 :: REM SHOULD BE LINE 16 !!! BUT I KINDA LIKE IT!

 

Gene

DSK2.zip

Link to comment
Share on other sites

I downloaded the file that was attached to the post yesterday.

 

- I need to read more of the comments; I can't understand the purpose of all the numbers above

the maze and maybe it's explained.

 

- "To fix this in the text version supplied... change 4930 GOTO 14 :: REM SHOULD BE LINE 16 !!! BUT I KINDA LIKE IT!"

 

The text only goes up to line 4040 and there is no line 14. Is the wrong file attached?

Link to comment
Share on other sites

I downloaded the file that was attached to the post yesterday.

 

- I need to read more of the comments; I can't understand the purpose of all the numbers above

the maze and maybe it's explained.

 

- "To fix this in the text version supplied... change 4930 GOTO 14 :: REM SHOULD BE LINE 16 !!! BUT I KINDA LIKE IT!"

 

The text only goes up to line 4040 and there is no line 14. Is the wrong file attached?

 

You are correct, I attached the wrong text file. Sorry about that.

I am at work and do not have access to the updated files.

 

I also added a 3rd ghost this morning before work! I tested it a little, but I did not have time to complie.

I will do that sometime tonight. I will attach the latest TEXT version also.

 

 

Thanks sometimes99er.

 

I was thinking of doing GHOST3 with a pattern, but for now it moves random with some attraction to PACMAN.

 

The numbers on the top... Those were my important variables. The left most value is 1-4 these are the directions

the ghost can choose at a wall or intersection. I have it showing me the direction for the first 2 ghost.

The next 2 columns are the X,Y dot location of each ghost and the last value is what the ghost "see" ahead.

The value 99 is a wall. The values 124,125,126 are the dots. 125 is a FULL dot, 126 is the outlined dot and 124 is the small dot.

124,126 maybe backwards, I changed them....and I cannot remember anymore.

 

I keep forgetting to remove these displays. I don't need them anymore. It slows execution etc.

I should have displayed N,S,E,W instead of 1,2,3,4.

 

I thought I was done, but I still have the will to do a few more touches.

Gene

Link to comment
Share on other sites

The smartness of the Pacman ghosts (arcade) is that they aim to positions relative to where the main ghost (Inky) is thinking. This behavior makes them appear far smarter than they actually are (still simple logic).

 

There's a whole description of it that has been discussed on this forum in this thread:

http://www.atariage.com/forums/topic/208936-musings-in-machine-intelligence/

 

pointing to the Pac Man Dossier:

http://home.comcast.net/~jpittman2/pacman/pacmandossier.html

Link to comment
Share on other sites

Thanks for the info unhuman... The pacman site is cool. I read a bit of it at lunch today. I have been following the other link as well.

 

I'll play with the demo's at some point. I am hoping to get a new version of mirror maze out tonight.

It take a while to compile now.

 

All ghost move random, but they all search for pacman when they reach a wall or intersection. RED looks 10% of the time, BLUE is 14% and WHITE is 24%

The more they look, the jumpier hey act and the easier it is to trap them.... But randomness really helps things along.

Link to comment
Share on other sites

I think you could improve this by tweaking the controls a bit. For example, if you are traveling straight up in the maze, you can let go of the controls and the pac man will continue travelling upward until he hits a wall. You should think about making it so that once you are moving upward you can push and hold the right or left key and have pac man continue to go up until he comes to a right or left passage, at which point he turns and goes down that passage. That would make the game way more playable.

Link to comment
Share on other sites

Thanks for the feed back, I think I will have 2 sets of controls ESDX will be as it is and arrow keys will always be directional.

 

I have tried very hard to get pacman to keep going when you holding another key for an upcoming turn.

I have 3 variables holding current key press, prior key press and prior-prior key press, this is how you can press UP and let go,

or press left or right with walls in the way, but when you let go, it continues in the original direction.

 

I am pretty frustrated with this logic, but I will revisit it at some point.

 

I'll have a special version sometime tonight I hope :

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...