Lunar Penguin (Platformer)
Posted: Fri Feb 13, 2009 12:31 am
Lunar Penguin
Ludde the Lunar Penguin wishes to go to that mysterious ball in the sky called The Moon. Unlike other birds, Ludde cannot fly by flapping his wings, and so he sets off to collect helium balloons spread out across The North Pole.
Project Backstory
This game was taken on one to two weeks ago to show that it is in fact relatively easy to make platformers with LÖVE. It took about two days to implement the basics and another two for pretties and tweaking. I intended to add more features, such as enemies, projectiles, an overmap, and switches, but I'm caught up in other projects for the time being (artificial intelligences also needs LÖVE).
There are only five levels, all moderately difficult. The map format is simple though, so feel free to make your own and post in this thread.
Controls
Left/right: Move left/right.
Space/up: Jump.
Down: Stand still.
Up/down/return/enter/spacebar/: Navigate menus.
p: Toggle pause.
s: Toggle sound.
Design Choices
I have in this project chosen to represent the main entity as a circle along with the physics associated with this choice. This gives some interesting features that suited the setting of the game. If you aim at something more similar to the usual platformer games, e.g. super mario, then you will want to add considerable angular damping, air control, straight-upwards jumps, jump when a key is pressed rather than being held in, more gravity, more impulse in jumps, and possibly a rectangular shape or polygon for the character. (post about this and I will finish the polygon-polygon distance part).
Technical Details
Jumping is done by computing the nearest point on any other shape that the jumping entity can collide with. If the distance is small enough, jumping is permitted and the jumping angle is computed based on the relative location of the nearest points of the shapes (the angle is modified somewhat towards jumps straight up). CAMERA is used for scrolling and avoiding off-screen drawing. I will try to release the interesting parts of the project as a quick and easy platformer module. If you wish to do so, go ahead!
License
Feel free to use any or all parts for whatever you please. If you have any questions about the source, do ask. LPCL with myself as community - clauses to be invoked at any time. The exceptions to this are the penguin and balloon images, which I have downloaded from http://www.spriters-resource.com.
To Do (Possibly)
Reduce lag. Enemies. Special balloons. Flying/falling ice taps and snow balls. Items. Overworld/map. Reduce lag for levels with huge platforms (next LÖVE?). Cannons (for pun[dit/doh]). Title screen. An opening and an ending. Replace penguin and balloon images.
Comments and suggestions most welcome!
Download: http://www.nanosleep.net/love/loves/123 ... nguin.love
Ludde the Lunar Penguin wishes to go to that mysterious ball in the sky called The Moon. Unlike other birds, Ludde cannot fly by flapping his wings, and so he sets off to collect helium balloons spread out across The North Pole.
Project Backstory
This game was taken on one to two weeks ago to show that it is in fact relatively easy to make platformers with LÖVE. It took about two days to implement the basics and another two for pretties and tweaking. I intended to add more features, such as enemies, projectiles, an overmap, and switches, but I'm caught up in other projects for the time being (artificial intelligences also needs LÖVE).
There are only five levels, all moderately difficult. The map format is simple though, so feel free to make your own and post in this thread.
Controls
Left/right: Move left/right.
Space/up: Jump.
Down: Stand still.
Up/down/return/enter/spacebar/: Navigate menus.
p: Toggle pause.
s: Toggle sound.
Design Choices
I have in this project chosen to represent the main entity as a circle along with the physics associated with this choice. This gives some interesting features that suited the setting of the game. If you aim at something more similar to the usual platformer games, e.g. super mario, then you will want to add considerable angular damping, air control, straight-upwards jumps, jump when a key is pressed rather than being held in, more gravity, more impulse in jumps, and possibly a rectangular shape or polygon for the character. (post about this and I will finish the polygon-polygon distance part).
Technical Details
Jumping is done by computing the nearest point on any other shape that the jumping entity can collide with. If the distance is small enough, jumping is permitted and the jumping angle is computed based on the relative location of the nearest points of the shapes (the angle is modified somewhat towards jumps straight up). CAMERA is used for scrolling and avoiding off-screen drawing. I will try to release the interesting parts of the project as a quick and easy platformer module. If you wish to do so, go ahead!
License
Feel free to use any or all parts for whatever you please. If you have any questions about the source, do ask. LPCL with myself as community - clauses to be invoked at any time. The exceptions to this are the penguin and balloon images, which I have downloaded from http://www.spriters-resource.com.
To Do (Possibly)
Reduce lag. Enemies. Special balloons. Flying/falling ice taps and snow balls. Items. Overworld/map. Reduce lag for levels with huge platforms (next LÖVE?). Cannons (for pun[dit/doh]). Title screen. An opening and an ending. Replace penguin and balloon images.
Comments and suggestions most welcome!
Download: http://www.nanosleep.net/love/loves/123 ... nguin.love