Jump to content
IGNORED

Road Hunter


Asmusr

Recommended Posts

 

Press up arrow/joystick up.

 

Shyt... I had a USB joystick set up a while ago and never changed my settings back to keyboard. Thank you.

 

This is really bad-ass! I have always wanted a Spy Hunter-alike game for the TI. Need to put this on my CF7 and play it on real iron!

 

Are you planning on an attract mode for the game?

Link to comment
Share on other sites

An attract mode would not change the difficulty of the game, I think. An attract mode means that the game runs by itself as a demonstration if no key or joystick gets pressed. Some TI games, like for instance TI Invaders, have such a mode. And most arcade games have it. It's called attract mode because it should attract players, not because the car attracts the enemies. ;-)

  • Like 2
Link to comment
Share on other sites

I have uploaded a new version to the first post with a 3rd track (probably the last I will add). Let me know if you can reach this level. I want the game to be challenging but not impossibly hard...

 

Other new features include:

  • Extra life every 3000 points.
  • Enemy cars collide with each other. This sometimes creates havoc on the road and makes the game more difficult.
  • The enemy cars move in front of you try to knock you off the road - very slowly at the first, but speed increases with level. Watch out Kevan!
  • Oil spills will not appear until level 3.
  • Keyboard control (S,D,E,X,Space).

Regarding questions:

 

- Yes I think I will add a demo/attract mode to the next version, and perhaps a logo. I don't have any other plans for this game at the moment.

 

- There will be a cartridge file at some point, but it will require 32K RAM. I'm also planning to make a 128K cartridge with Titanium, TI Scramble and Road Hunter together: The smooth scrolling trilogy.

 

Regarding emulators, the game runs 100% smoothly on a real TI-99/4A. If you experience unsteady timing of sound or screen updates in your favorite emulator I recommend the latest version of MESS where the game is running as close to the real thing as you can get.

 

Enjoy :)

Rasmus

  • Like 6
Link to comment
Share on other sites

 

It's called attract mode because it should attract players, not because the car attracts the enemies. ;-)

 

Oh good! I was worried there for a minute. Especially since the road is so narrow on level II... I cannot tell you how many times I've dropped an expletive or two on that one. |:)

 

I have uploaded a new version to the first post with a 3rd track (probably the last I will add). Let me know if you can reach this level. I want the game to be challenging but not impossibly hard...

 

Other new features include:

  • Extra life every 3000 points.
  • Enemy cars collide with each other. This sometimes creates havoc on the road and makes the game more difficult.
  • The enemy cars move in front of you try to knock you off the road - very slowly at the first, but speed increases with level. Watch out Kevan!
  • Oil spills will not appear until level 3.

 

- There will be a cartridge file at some point, but it will require 32K RAM. I'm also planning to make a 128K cartridge with Titanium, TI Scramble and Road Hunter together: The smooth scrolling trilogy.

 

 

Thank you for the extra car every 3K Rasmus! Believe me, it's much appreciated and needed!

 

Oh maaaaan, so the cars are gonna be out to get me too now eh? I wonder if I'll ever see that third level?

 

And about the 128K Trilogy cart... I'm interested! Will it be all packaged up with a book too? Let me know how much when you start selling them.

 

THANKS AGAIN!

Link to comment
Share on other sites

That's brilliant! I like the way the other cars collide with each other, sometimes leading to a crash you get the points for although you didn't do anything to cause it. ;-)

 

However, I think I found some bugs:

 

- Sometimes, strange objects come down the road. One type of strange objects is debris from a seemingly crashed car which already comes down as debris. Then there are cars standing sideways, but they still seem to move up the road which is physically impossible.

- Sometimes the finish line doesn't get recognized. This happened to me multiple times, usually if you crash just before hitting the finish line. On one occasion I had to drive through the whole track again, then the finish line was recognized. On another occasion, I had nearly completed the snow track, but just before the finish line there was an oil slick which I drove straight into, causing the car to spin and crash into the roadside. Then it was game over because I had lost all cars, but I had clearly crossed the finish line before I crashed, which wasn't recognized.

- I also find it weird that if you've lost all your fuel, the car stops much quicker than you would be able to brake willingly. In my opinion, the brakes don't react fast enough which is probably caused by the fact that the scrolling is either 2 or 4 pixels, but nothing in between, so if you brake, your speed, contrary to the speed meter, still stays the same for a second before it suddenly halves. It would be nice to be able to control your speed better.

 

And, just because you asked, I did reach the 3rd track multiple times, but I didn't manage to complete it (well, almost... but it didn't work out due to the bug mentioned above).

 

Oh, and Omega... it seems like your vision of an "attract mode" has come true since the player car now actually attracts some of the other cars, but they only move towards the player car at the rate of a few pixels per second.

Edited by Kurt_Woloch
Link to comment
Share on other sites

First, let me state that this is such an awesome game, I actually played this for fun for over half an hour today and that's quite the achievement for a retro game outside of my favorite genre (platformer). This is top class stuff, and I don't care that I've said it before 'cause it bears repeating! Kudo's, of the three Rasmus games, this is by far my favorite.

 

I can, however, echo the two bugs described by Kurt below. The first one is very minor as it's just a few small graphical glitches, but I've been bitten by the second one as well and that one is slightly more annoying :).

- Sometimes, strange objects come down the road. One type of strange objects is debris from a seemingly crashed car which already comes down as debris. Then there are cars standing sideways, but they still seem to move up the road which is physically impossible.
- Sometimes the finish line doesn't get recognized. This happened to me multiple times, usually if you crash just before hitting the finish line. On one occasion I had to drive through the whole track again, then the finish line was recognized. On another occasion, I had nearly completed the snow track, but just before the finish line there was an oil slick which I drove straight into, causing the car to spin and crash into the roadside. Then it was game over because I had lost all cars, but I had clearly crossed the finish line before I crashed, which wasn't recognized.

Link to comment
Share on other sites

Rasmus, I am preparing for another update of the TI Gameshelf site. When do you think the final version of Road Hunter will be ready? Fantastic game by the way!

 

Thank you, I'm not planning on adding much more to the game so it depends on when we're content there are no more serious bugs.

 

The latest version includes a demo mode that kicks in after 10 secs. It's very basic, the car just accelerates and doesn't attempt to avoid the other cars or the road sides.

 

I have also tried to fix the problems mentioned by Kurt: 1. braking too slow, 2. finish line not recognized and 3. sideways car debris on the road. I have never experienced the second bug but I think that has been fixed. The third bug I have seen a few times after adding the collision between the other cars, and I have added code to prevent the cars from colliding outside the screen. I don't know if that will help but perhaps we can see what's causing the problem now?

 

Regarding the cartridges, please don't get your hopes up that I'm going to start a production. All I have said is that I'm going to make a cartridge file for people to burn to their own EPROMs. Firstly I don't want to spend my nights soldering - then I can't do any programming. Secondly I only have a very limited amount of cartridge shells. Thirdly it doesn't make sense to produce TI cartridges in Europe and ship them mostly to the United States - I assume there are customs to pay in that direction too? But if anyone are interested in starting a not-for-profit production you're welcome to contact me.

 

BTW, is a PCB layout for a 128K board available? I have used Fred Kaal's directions here to build one, but it would be easier to have the wire connections on the PCB instead.

  • Like 2
Link to comment
Share on other sites

A few playing tips:

  • Avoid crashing into other cars from the rear since this might send you into the road side. If you hit a car exactly in the rear center it will speed up to escape.
  • Hitting other cars from the side is the easiest way to push them off the road and thereby crashing them.
  • If you happen to hit a car in the front end it will explode immediately. You can also brake in front in the other cars to make them crash into you, but you will soon run out of fuel if you brake a lot.
  • When you pick up a gun fire all you can, because once you hit another car you will lose it. Just avoid shooting the fuel drums or you may run out of fuel.
  • If you just want to get through to the next level, pick up the fuel only and avoid anything else.
  • Points earned: Shot hit: 75 pts, pick up fuel: 25 pts, pick up gun: 50 pts, crash other car from front: 100 pts, bump into other car: 10 pts, other car crash: 100 pts, fuel bonus: 25 pts per unit.
  • Like 1
Link to comment
Share on other sites

 

Thank you, I'm not planning on adding much more to the game so it depends on when we're content there are no more serious bugs.

 

The latest version includes a demo mode that kicks in after 10 secs. It's very basic, the car just accelerates and doesn't attempt to avoid the other cars or the road sides.

 

I have also tried to fix the problems mentioned by Kurt: 1. braking too slow, 2. finish line not recognized and 3. sideways car debris on the road. I have never experienced the second bug but I think that has been fixed. The third bug I have seen a few times after adding the collision between the other cars, and I have added code to prevent the cars from colliding outside the screen. I don't know if that will help but perhaps we can see what's causing the problem now?

 

Regarding the cartridges, please don't get your hopes up that I'm going to start a production. All I have said is that I'm going to make a cartridge file for people to burn to their own EPROMs. Firstly I don't want to spend my nights soldering - then I can't do any programming. Secondly I only have a very limited amount of cartridge shells. Thirdly it doesn't make sense to produce TI cartridges in Europe and ship them mostly to the United States - I assume there are customs to pay in that direction too? But if anyone are interested in starting a not-for-profit production you're welcome to contact me.

 

BTW, is a PCB layout for a 128K board available? I have used Fred Kaal's directions here to build one, but it would be easier to have the wire connections on the PCB instead.

 

I can manufacture in the US.. just sayin

 

Greg

  • Like 1
Link to comment
Share on other sites

For those interested, here are some technical notes about the game:

 

  • The game runs at 60 frames per second (FPS), or 50 FPS on EU consoles without the F18A. Timing is done by polling the VDP status register. Interrupts are disabled at all times.
  • All 256 bytes of scratch pad memory are used, but I save a copy of the original content and restore it before file operations. (Also remember not to overwrite the file buffers at the top of VDP RAM.)
  • The maps are made in Magellan and exported using the "Assembler Character Transition Data" option. Because of the smooth scrolling, each unique pair of neighboring characters in the vertical direction uses up one of the 256 characters, and I need characters beyond 192 for the left side panel. Besides, the game is running in the normal graphics mode so to avoid color spills two characters next to each other must have compatible color sets. All in all this is a very limited platform for designing graphics.
  • A map consists of 24 24x24 screens. A track consists of 104 screens in a fixed order specified using a list of screen memory addresses. The maps are 13.5 K each so they have to be loaded from disk for each level.
  • I don't read the map in order to detect if a car hits the side of the road. For each track I store only the starting position of the left side of the road and the (fixed) width of the road. For each screen I store the direction of the road (left, straight, right) as one number. From this information I can calculate the position of the road sides at any point.
  • Reading from VDP is kept at a minimum. Except for file operations I only read the VDP status register.
  • The first 8K of the VDP RAM is used for storing character definitions, in 4 character sets each corresponding to a different scroll offset (0, 2, 4, 6 pixels). A routine is scrolling the original patterns and uploading the data to VDP RAM once and for all before each level. Scrolling is done simply by changing the address of the pattern table. After 4 times or 8 pixels I move back to the first character set and switch to another name table scrolled one character or 8 pixels.
  • There are two name tables in VDP RAM (one at >2000 and one at >2400). I alternate between them each time I have scrolled the screen 8 pixels. I show one table while updating the other. To even out the work between frames I update 1/4 or 1/2 of a table each frame, depending on whether the scroll speed is 2 or 4 pixels. Copying from CPU RAM to VDP RAM is done using a routine in scratch pad RAM that has 8 consecutive MOVB instructions in the loop body.
  • There are also two sprite attribute tables that I alternate between. Each frame I switch to one of the tables while uploading data to the other from CPU RAM. The CPU RAM copy of the table is actually stored in scratch pad memory. The game uses a flicker (reducing) routine where I cycle the quarter of the table that gets the lowest sprite numbers, i.e. the quarter that is uploaded to the beginning of the VDP RAM table.
  • Sound and music is played using my own sound list player. This is based on the format of standard sound lists but also supports loops and calls. Allowing the 'drums' to play continuously without being disrupted by the explosions required a little special coding.
  • Keyboard and joystick are read directly using CRU. A single call to KSCAN would reduce the frame rate by a factor two because of the delay.
  • During game development I have continuously kept an eye on the number of CPU cycles used by the main loop using the debugger in Classic99. I find this essential if you want to make a fast moving game on the TI. It’s easier to fix any speed issues immediately than later when the code has become more entangled.
  • The game is currently using a maximum of about 43000 CPU cycles out of the 50000 available in a frame, but on average only about 26000. There is currently about 2K CPU RAM left.
  • Like 5
Link to comment
Share on other sites

 

For those interested, here are some technical notes about the game:

 

 

All good material for the manual. I, too, am for a community-manufactured release, whether its done in cartridge or on disk, or both. I will make a pledge now to help do so. I would like to be a proud owner of the official Rasmus Collection of modern games on the 99/4A.

Link to comment
Share on other sites

A thought occurs: since there are only a few tracks in the game, how open is it to extension? Could others make new tracks to add to it the game?

 

Yes, take a look at the included Magellan files. Note that: 1. the road must have the same width all over, 2. the first 48 patterns (the road) are shared between all maps, 3. the colors of all characters transitions must be valid according to the analysis tool, 4. the resulting "Assembler Character Transition Data" file cannot use more than 24 color sets.

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