Bouncin'...
I'm trying to attack this project like a sculptor -- carving away everything that doesn't look like a game to get to the finished shape.
So, my first big chunk is that I need a world. The next, I need movement.
Canned Heat makes the first pretty simple -- I just enter a bunch of stuff (platforms and hero) into the store, and then tell it how to render them. That was easy... What about movement? Well, that wasn't actually too bad either. I started with sys-move, a System that just applied delta offsets to everything. Then I made it more sophisticated -- now it actually does mostly the right thing with position, velocity and acceleration attributes so I have bounce, and acceleration.
Just platforms got boring pretty quickly, so I added springs -- which was just the simplest possible hit handler for when hero runs over it:
(define (hit-spring me hitter) "( me hitter --) Bounce hitter." (+= hitter.vy -20))
This tiny piece of code updates the vertical velocity. The other systems handle the rest. Almost magic.
And, because I wanted to see what it would look like, I added the sys-genrail System to create the new terrain. Works a treat! It will need to get significantly more sophisticated, but hopefully I'll have some time to make it nicer.
Last, but not least... Trails! That is, an object with the trail component gets a red dot trail plotted after it. This actually works out really well. I had a bit of a runaway situation and over a thousand dots were generated, but didn't affect the frame rate. Pretty nice in my book!
I am too tired to do it now, but daily goal -- I want to always have the game site updated with the latest artifact.
Files
Get Kipple Kat
Kipple Kat
Entry for 2024 Autumn Lisp Game Jam.
Status | Prototype |
Author | oofoe |
Genre | Platformer |
Tags | Cats, Endless Runner |
More posts
- And now... Fireworks!2 days ago
- Normalization3 days ago
- Editing Levels4 days ago
- Breaking Bad...6 days ago
- Kipple7 days ago
- Sound!9 days ago
- Sprites!9 days ago
Leave a comment
Log in with itch.io to leave a comment.