Paku-Paku -- UPDATE V1.6 -- 9 November 2011

Discuss classic PC games
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Paku-Paku -- UPDATE V1.6 -- 9 November 2011

Post by deathshadow »

* NOTE * Version 1.6 released!!!

This update brings a new home for it on my programming page, the early attempt at MIDI for the MT-32 and GM synths,

The recommended minimum system is a 4.77mhz CGA equipped 5150. Because the game uses that oh so wonderful undocumented 160x100 16 color CGA mode REAL CGA owners say hello to Mr. Snow while at it.

Much like "tunneler" support for that graphics mode has been added for the EGA/VGA card, though by default I reprogram the CRTC to use the legacy "EGA on a CGA monitor" video mode. Should this not work, a "/safe" command line option has been added to use the same technique as "tunneler" (and the associated problems of EGA being off-aspect and some VGA's being in 9 dot mode)

Sound support includes PC Speaker, Tandy/PcJr, C/MS (and Game Blaster), Adlib and MIDI, preferably the MT-32... believe it or not the best sounding of these is actually C/MS followed closely by the tandy support. As there is no known method of auto-detecting C/MS cards you have to specify it's use with the "/cms" switch. Adlib and Tandy should auto-detect, and if all other methods fail, you can enjoy the ear-bleeding hell of PC Speaker.

So...

Official Site Page:
http://www.deathshadow.com/pakuPaku

Direct Download links:
http://www.deathshadow.com/downloads/paku_1_6.rar (59k)
http://www.deathshadow.com/downloads/paku_1_6.zip (67k)

Preview image:
Image
Click for Larger (1024x768 - 17.1k)


Play it Live with jDOSBox (requires java)
http://www.deathshadow.com/pakuPakuLive

If you want the prebuilt .zip file for running it in jDOSBox with a custom .conf file included, you can get that here:
http://www.deathshadow.com/jdosbox/paku_1_6.zip

Which can be embedded easily into a web page with the following (valid HTML/XHTML) code.

Code: Select all

		<!-- [if IE]>
			<object
				classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
				 width="640" height="400"
			>	
		<![endif]-->
		<!-- [if !IE]>-->
		<object
			type="application/x-java-applet"
			width="640" height="400"
		>
		<!--<![endif]-->
			<param name="code" value="jdos.gui.MainApplet" />
			<param name="archive" value="jdosbox_applet.jar,paku_1_6.zip" />
			<param name="param1" value="-conf jar://dosbox.conf" />
			<param name="param2" value="imgmount e jar://paku_1_6_160k.IMA -t floppy" />
			<param name="param3" value="e:" />
			<param name="param4" value="paku /cms" />
			<p>
				This game requires Java to function. Please either enable it in your browser, switch to a Java capable browser, or download the appropriate version off of
				<a href="http://www.java.com">Oracle's Java Website</a>
			</p>
		</object>
I mostly created just to see how far I could push the 160x100 graphics mode... since Round42, moonbugs and Tunneler are aging poorly. It was really interesting trying to cram the 8x8 tiles and 16x16 sprites of the original into 3x3 and 5x5 area's respectively.

... oh, and the COMPLETE Turbo Pascal 7 source code is included in the archive - as I'm releasing it to the public domain as cardware. So long as I am credited as the original author, maybe a nice back-link to where you got it from... send me a post card (address in the readme.htm and in the game) --- you can do what you like with it.
Last edited by deathshadow on November 9th, 2011, 1:44 am, edited 5 times in total.
If everyone is thinking the same, somebody isn't thinking.
User avatar
DOSGuy
Website Administrator
Posts: 1063
Joined: September 2nd, 2005, 8:28 pm
Contact:

Re: Paku-Paku -- a new DOS game?

Post by DOSGuy »

As a person who hates clones, may I just say that this is an awesome game, and an excellent addition to the site. It's great to see a CGA 160x100 game from any era, let alone one that was created in 2011!

I did find a bug, though. I hit 30000 points as I was eating the last pellets in the maze, and the 1-up sound got stuck and continued playing into the next level, and didn't stop until I lost a life.
Today entirely the maniac there is no excuse with the article.
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Re: Paku-Paku -- a new DOS game?

Post by deathshadow »

Oops, I see it in the code, that's on voice 3 and I'm only resetting voices 1 and 2 on a level change... Something to add for version 1.1.

I should probably just be calling my "kill all sound" routine on level end as a safety measure.

You'll probably like my next game even more, since it's not really going to be a clone of any existing game though it's taking ideas from several different side-play games (choplifter, defender, r-type, thexder)

I'm arguing withy myself over making that one, or another game that's going to be called "Warrior Zero" that, well... will be interesting given how much I want to stuff into an AT class game.

-- edit -- Version 1.01 released to fix that bug. If you downloaded it earlier in the day, grab the new copy. Same URL.
http://www.cutcodedown.com/retroGames/paku_1_0.rar
If everyone is thinking the same, somebody isn't thinking.
User avatar
DOSGuy
Website Administrator
Posts: 1063
Joined: September 2nd, 2005, 8:28 pm
Contact:

Re: Paku-Paku -- a new DOS game?

Post by DOSGuy »

I just tried out 1.01 and I noticed something that I hadn't noticed previously. The game doesn't pause and show a point value when I eat ghosts or fruit if Sound is set to Off. Is that intentional?
Today entirely the maniac there is no excuse with the article.
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by deathshadow »

Nope, that was another mistake -- I actually caught that with version 1.1 yesterday, but tonight I went and redid the entire renderer code from scratch. The TARGET system is now a 7mhz XT clone like a tandy 1000, though the game plays just fine all the way back to the IBM 5150... so long as it has a CGA or better color card, it's now fully playable on pretty much every DOS machine. The sprite flicker and slowdown issues are now a thing of the past. In fact it's such an improvement I stripped out all the vsync code as well as the system speed test.

Though the cost of that improvement ended up being an increase in memory use to the tune of 16k. Instead of trying to work directly with the screen I set up two 8k back-buffers. One holds the map, the other the section I draw a ghost over is copied into it, the ghost is drawn there, that buffer is then copied to the screen (overscan copy to erase the old sprite position), then I erase the sprite from the middle buffer in anticipation of the next loop.

MAJOR improvement to the game's performance on lesser machines. It's effectively flawless now on my Tandy 1000 EX and my SX... and while a bit quirky it's entirely playable on those systems when set to "slow".

http://www.cutcodedown.com/retroGames/paku_1_2.rar

Rock and Roll... Though here I thought I was done with it. I'm sure there are other minor bugs, but for the most part I'm hoping to move on to making my next game.
If everyone is thinking the same, somebody isn't thinking.
User avatar
DOSGuy
Website Administrator
Posts: 1063
Joined: September 2nd, 2005, 8:28 pm
Contact:

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by DOSGuy »

It looks like this will no longer work on a 5150 (PC), since the 5150 came with either 16 or 64 KB of RAM. It should work fine on the 5160 (XT), which initially came with 256 KB.

I've just added a feature that causes the high score to be saved into a file on the disk. I wrote the code in Pascal, but I could also do it in ASM if that would be better. I don't know if you want this to be an official version or not.

While playtesting, I noticed that the ghosts stop becoming edible as of the 5 keys level, though they do still run away for a second (this happens in original arcade game as well). Ghosts are edible again in 6 keys, but never again afterwards.

I found the frightTime variable in the source code, and I see that frightTime jumps in level 6, 10 (and somewhat in 11), 14, and the ability to eat ghosts is restored for level 18. The game seems to be generous about the effect of power pellets in the second level of each group of 4. Is that a feature of the original Pac-Man game?
You do not have the required permissions to view the files attached to this post.
Today entirely the maniac there is no excuse with the article.
User avatar
leilei
File Contributor
Posts: 465
Joined: August 16th, 2007, 2:45 pm

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by leilei »

Extremely minor irrelevant hardware bug

there's a blue line stranded on the left side of the screen on ATI Rage Pro chipsets
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by deathshadow »

DOSGuy wrote:It looks like this will no longer work on a 5150 (PC), since the 5150 came with either 16 or 64 KB of RAM. It should work fine on the 5160 (XT), which initially came with 256 KB.
the 5150 could go to 256 on-board with the right chips, and there was the memory card that could add up to 384k more... which is how the max RAM on a 5150 is 640k.
DOSGuy wrote: I've just added a feature that causes the high score to be saved into a file on the disk. I wrote the code in Pascal, but I could also do it in ASM if that would be better. I don't know if you want this to be an official version or not.
ASM is for heavy lifting inside loops... Saving the score on game exit is a single operation, so that can stay pascal so long as it doesn't need the DOS unit (which it shouldn't).

I had this on the planning list for 1.3 which should hit either late tonight or tomorrow, including letting the user type in their initials. (I'm thinking I'll allow the same 8 char width as the scores are displayed). I'll look at how you handled it.
DOSGuy wrote: While playtesting, I noticed that the ghosts stop becoming edible as of the 5 keys level, though they do still run away for a second (this happens in original arcade game as well). Ghosts are edible again in 6 keys, but never again afterwards.

I found the frightTime variable in the source code, and I see that frightTime jumps in level 6, 10 (and somewhat in 11), 14, and the ability to eat ghosts is restored for level 18. The game seems to be generous about the effect of power pellets in the second level of each group of 4. Is that a feature of the original Pac-Man game?
It is -- in fact that table of values is lifted straight from the "Pac man dossier".
http://home.comcast.net/~jpittman2/pacm ... l#LvlSpecs

As I mentioned 1.3 should arrive later today or early tomorrow. It adds a few more optimizations, a better font renderer that swings a giant axe at that 'colorize' nonsense eliminating menu issues on slow systems, makes the twin buffer code a bit cleaner and removes redundancies, uses the twin-buffer to handle the 'level end' flash which is fast enough you don't see the 'redraw' on old systems, the save to disk high score feature... and adds joystick support.

Anyone have any other feature suggestions for future versions? (that I will like be incorporated into any future games I write)
If everyone is thinking the same, somebody isn't thinking.
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by deathshadow »

leilei wrote:Extremely minor irrelevant hardware bug

there's a blue line stranded on the left side of the screen on ATI Rage Pro chipsets
This is common on some EGA/VGA cards in this graphics mode. If it's particularly troublesome the /safe switch will eliminate it.

It stems from said cards using non-standard CRTC timing values for their 640 modes, and starting the horizontal draw too soon... I could increase the blanking period time, but that would break many other cards by them not showing much of the first row of characters.

I'm looking into reading from the VGA BIOS Data area to see if the values are different. If I put together a little program to dump what should be the correct values, would you be willing to guinea pig that for me?
If everyone is thinking the same, somebody isn't thinking.
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by deathshadow »

So you know, 1.3 is 'ready' though I'm holding it in beta until I hear back from some PcJr folks on a video issue. (the DOS blink/intensity bit seems to still be in blink for them)

Once they check in, I'll post links to the 'final' release. For now, here's some screencaps of the new menu with the high scores, and the joystick calibration screen.

Joystick Calibration
Image
Click for larger View (800x500)

New Main Menu
Image
Click for larger View (800x500)

Gameplay
Image
Click for larger View (800x500)

The new requirements/recommendations are as follows:
System Requirements
4.77mhz or faster 8088
128k of RAM (67,584 bytes free in DOS)
CGA,Tandy/PcJr, EGA or VGA video

System Reccomendations
Tandy/PcJr, C/MS Game Blaster
or Adlib sound

I had a joystick slowdown issue on the 4.77mhz machines -- I was reading the joystick as often as my timer tick (120 times a second) when it only needed to be called before each frame update. Moving it to one tick before the redraw/logic update eliminated the slowdowns.

I'm going to break up the game logic across timer ticks to make it a bit more efficient on playing the sounds -- sounds and keyboard being the only things that need to be updated that often.
If everyone is thinking the same, somebody isn't thinking.
User avatar
DOSGuy
Website Administrator
Posts: 1063
Joined: September 2nd, 2005, 8:28 pm
Contact:

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by DOSGuy »

Looking good! I look forward to trying it out.
Today entirely the maniac there is no excuse with the article.
User avatar
leilei
File Contributor
Posts: 465
Joined: August 16th, 2007, 2:45 pm

Re: Paku-Paku -- a new DOS game? UPDATE V1.2

Post by leilei »

deathshadow wrote:C/MS Game Blaster

:!:
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Re: Paku-Paku -- a new DOS game? UPDATE V1.3

Post by deathshadow »

1.3 Is now released to the public.

http://www.cutcodedown.com/retroGames/paku_1_3.rar

To sum up the changes:

1) Added Joystick Support
2) Tracking of five most recent high scores
3) Saving of high scores to disk
4) New font renderer uses less memory and sped up menu.
5) Fixed bug with MCGA detecting as VGA
6) Fixed audio 'buzz' on PS/2 speakers
7) Fixed PC Jr. blink/intensity not being set right (maybe)
8) Memory footprint down to 67k

System Requirements
4.77mhz or faster 8088
128k of RAM (67,584 bytes free in DOS)
CGA,Tandy/PcJr, EGA or VGA video

System Recommendations
Tandy/PcJr, C/MS Game Blaster
or Adlib sound

Enjoy.

I had thought I had the slowdowns with joystick enabled dealt with on 4.77mhz machines, but there can still be occasional lag at certain points in the game. It's not a gameplay breaker, but it's not as smooth as a 7.15mhz or faster machine will deliver. Leaving joystick disabled it runs just fine on the slower clock speed.
If everyone is thinking the same, somebody isn't thinking.
User avatar
deathshadow
Classic Game Author
Posts: 35
Joined: February 8th, 2011, 5:42 pm

Re: Paku-Paku -- UPDATE V1.4

Post by deathshadow »

So here's version 1.4 -- changes in this release include incorporating the fixes from the last batch of testing executables, and improving joystick handling by dividing up the two read routines to be called during timer ticks were not a whole lot else is going on. Spacing the two reads apart gives certain joystick interfaces (like that on the PcJr) that fail to discharge the capacitors when they aren't fully charged time to 'normalize' after reading one axis.

Basically if you try on some machines to read X and then immediately read Y the Y value will be all messsed up. Some people check that all bits on the interface are set, however that technique will hang certain machines like the tandy 1000 or a machine with the original PC gamecard if the second joystick isn't plugged in...

So instead of just sitting there waiting, I'm doing roundtable reads -- update the screen, read joystick X, run game logic, read joystick Y... lather, rinse, repeat.

DosBox and fast machine users won't really see much difference -- PCjr, Tandy 1000 and original 4.77mhz PC owners will notice much smoother gameplay and more reliable joystick control.

Unless something major comes along as a problem, and unless I figure out why some CGA's meant to drive a LCD don't work with it, this is probably the final release of this game.

In other news, I've started preliminary game logic code for my next release which has the working title "Offense Command" which is going to be a bit more robust a redo/mashup of Moonbugs and the old TRS-80 Model 1 "defense command".

I've also been working on some sprites and animations for it:
Image
Some of those are original, others are loosely based on the old TRS-80 "invaders" as seen in games like Attack force, Defense Command, Galaxy Invasion, etc, etc. I just gave them more frames and color.
If everyone is thinking the same, somebody isn't thinking.
ThreeHeadedMonkey
7-bit super nerd
Posts: 208
Joined: January 16th, 2008, 1:23 am
Location: The Netherlands

Re: Paku-Paku -- UPDATE V1.4

Post by ThreeHeadedMonkey »

Very nice! Please do keep us posted!
Chinese checkers. Mashed potatoes! And a tyrannosaurus rex!
Post Reply