Hey everybody, this is my first game in PICO-8. A 2D racer in the vein of Super Off Road or Skidmarks developed in under a week. Your goal is to be fastest you can be. To help you achieve that you have a timer and ghost car racing alongside you.
Accelerate with up. Decelerate/reverse with down. Turn with left and right. That's all there is to it. The moment you drive over the checkerboard, the race starts.
It's got plenty of problems and bugs:
-audio sucks. I can't do audio. it's like programmer's graphics, only worse. fortunately you can turn it off.
-art. my drawing sucks. I also didn't have enough place to create 8 more 16x16 car sprites, so the rotation looks choppy
-if you stay on one lap for too long the game will run out of memory, as it is always recording :D
-did I mention how bad is the audio? you may want to turn it off. seriously, just a heads up
-code is not optimized
-sprites aren't optimized. I could easily used same sprites for water and oil, just replace them on the flight and that would be enough place for car sprites
-there is no menu. maybe in 1.1 ;)
-there is no music. you should consider yourselves lucky.
-the code is tangled mess of crap with magical numbers. i cry inside whenever i need to look at it
-there is only one level and even that overflows into shared memory
-skidmarks aren't EXACTLY placed where they should be. the wheels are less of a determiner of position of skidmarks, more of a guideline. or a suggestion.
-water is frozen
-high score is saved between sessions, but the ghost isn't
-SKREEEEEEEEEEEEEEEEEEEEEEEEEEE
Still, this was FUN. I'm loving PICO-8, will definitely continue developing for it.
Big shout out to Advanced Particle Systems by Viza from which I stole the particles for this game.
Dude, where did you learn to Drive ?
"Nintendo ?" :D
Great game, MrKozlowski. Love the screech of tires. Excellent top-view graphics. If you can, I don't know, sometimes art is tricky, add images for rotation between 45, so you would have car facing degrees in direction:
0, 22, 45, 67, 90, 112, 135, 157, 180, 202, 225, 247, 270, 292, 315, 337, and back to 360 (zero). (16-images in all)
For opponent cars (if any), you can use the main player car and plot it with different palettes. That'll save you the trouble of unnecessarily adding an extra 16-tiles to your image table.
When it says, "Wrong Way !" I need an arrow to help me get back on track. I spun my gears and around on the track not knowing which way to go after a-while. :)
To which Advanced Particle System Cart are you referring to ? URL LINK ?
Thanks! Updated the main post to link to the particle system I'm using.
I am using palette swap to colour my cars though :)
It's just that my spritesheet is so full. I have place for 7 more rotations, I would need 8.
So either I cut 2 sprites (doable), or I resize the map. Or change map system to something else altogether.
Excellent work, adding skidmarks on top is impressive! I ended up landing a 16.4!
My main suggestion would be to add more intermediate sprites like dw817 said, currently they make it a bit harder than it should be to pick up the controls I think (EDIT: if you can fit them in).
This is fun! I'm not that great at it, after a few dozen laps I still couldn't get under 20 seconds, but it's fun to play. Love the skidmark effects.
I agree, needs more rotation sprites for the car. You could, as you suggested, save space by using the same sprites for both water and oil and just palette-swapping them, or using a single sprite for the boost pads and just rotating it to point in different directions. All in all, though, it's a great game, and I'm sure you can make it even greater :D
You could use two programs. Build your map in one. In the same program, save it off as a string to file or clipboard. Then in your main game, provide the code to draw the map on your own - using the string as data.
MrKozlowski, you need to use of the flip_x flag of spr()
you only need those:
[0x0] | |
which also means you can have more angles in there.
UB, you have something there. You could actually use flip_y flag too for certain angles, like the 4th car from above.
I've been thinking about cutting down to make more space, but I'm not yet convinced. Notice that car straight-left and straight-right aren't exactly mirrors of each other. same goes for all other angles. My final goal is to have the camera lower (by changing the look of certain sprites), and then the car-flipping would become obvious.
@dw there's a little perspective there, but that might not be noticeable in action, if you're really one sprite short.
@MrK ha yes, I hadn't noticed the skew. the car is in cavalier perspective then.
Make your car symmetrical vertically to save tiles. Here ...
[8x8] | |
I moved the tires slightly forward too. See illustration:
http://www.benzworld.org/forums/attachments/w212-e-class/292083d1266728984-underside-pics-request-clipboard-1.jpg\
Hi, just a minor note, you seem to have a typo at the beginning of the _update() function:
score+=time()x-prevtime |
@samhocevar that is weird. when I first uploaded it, it was working fine. I suspect bit rot :D. Anyways, reuploaded with fixed code.
[Please log in to post a comment]