The World Under
a game by Mikimation aka Miki Hakim
Left\Right - Walk
Up - Interact
Down - Defend
Z - Attack
X - Jump
Down + X - Roll Dodge
I am an animator by profession. I've had a big project this year in After Effects that made me required me to learn some programming. Around that time I discovered Pico 8 and fell in love with the platform and a lot of the games made by the community. I decided I want to fulfill a dream I've had for 20 years now and make a game, like the games I used to grow up on in the 90s.
I've started doing some tutorials, and what started as a small project developed into making a full-on game.
I have learned a lot through the process. With each mechanic I wanted to put on the game I needed to learn more about programming in Lua and math.
After I set up the engine, I found out what game design really is. Working with Pico 8's relatively small map, I've understood how I should lead the player in the area, and use the space to its maximum potential.
I also had to learn technincs used by early games, such as pallete swapping, used in the sword animation, fade to black screen, and different level colors.
Creating systems was really fun. Like the enemy system, and building modular enemies with modular ai. With these systems I could create a big amount of enemies while using a rather little sprites in the process.
To be able to put alot of contents in Pico 8's code limitations, I've developed all kinds of compression methods that really let me squiz in alot, though I've had to let go of alot of ideas that I wanted to put in.
The game is not perfect, but it's my first game, and I know you gotta stop at some point and move on to the next project. I did manage to create a full game, and I'm really proud of how The World Under came to be.
about the code
For an efficient way to place enemies on the map, I've made a script that scans the entire map, and look for tiles that will spawn enemies(first tab after the comment "map scan for enemy tiles".
controls are all shared by the enemies and the player, in order to save code tokens. It surprised me how well it worked out.
Actors management. the function create_enemies on the 4th tab is the properties of each actor(powerups, enemies, NPCs, etc...). Each actor has a type, and according to it's type, it gets it's custume properties, such as sprites, width, height, ai etc...
The Ai of the enemies is also modular, as each block of the ai can be called with it's name, in the AI table.
sprite_builder() is the function that builds each enemy from different sprties and handles it's animation properties. Took me some time to get it to work well, and I was able to do with some really amazing enemies.
In conclusion This game was really fun to made and I hope it will be fun for you to play
Presentation is nice. I managed to get the door open by jumping into the trees and collecting the tablets. the jump to get up doesn't feel good though it feels like I'm cheesing it.
Anyway I don't manage to get past the enemy that spits green balls with more than 1 heart remaining so then I haven't got far past that.
Graphics are nice. You've chosen a good set of mechanics. if your supposed to be able to jump into the branches at around the wolf section then this needs to be made more apparent somehow.
The game has good basic and concept but it needs balancing and maybe a short tutorial.
After defeating the first boss, the next area is too packed with enemies and one enemy literally blocked my path to jump up. There should be less enemies here.
Oh also, returning to entrance of first boss will cause the game to repeat the music again as if the boss is still alive causing the game to softlock.
Speaking of boss and softlock, I did meet the second boss but after couple seconds in the fight, the boss fall through the ground and the game just softlock me there.
I want to apologize to everyone for the bugs you suffered. I guess that's the problem with being a single dev, you miss out on how other people will play the game.
I also want to thank all of you for commenting about the bugs, it was extremely helpful. I just uploaded a new version fixing these issues:
- I added another branch on a tree at the beginning so the puzzle for getting the tablet will be more apparent
- The knockback while shielding has been decreased
- I removed some of the enemies after the first boss, so it wouldn't be too hard
- the issue with returning to the boss entrance has been fixed
- I couldn't get the second boss to fall off the ground, but I did a condition that if an enemy is below the camera, it will die
Alright, thanks for the fix, it feels much better to fight against shooter now with knockback reduced :).
Anyways, I've tried again and managed to reach the bottom, literally. I wish the 4th boss would fight on its own than having demons around it.
And I've thought the tablets are not important so I left two of them but the ending showed me that they are. Oh well.
Oh I forgot to mention that I love some designs of the demons.
This is beautifully drawn, with some unique use of the PICO-8 palette. I really like the level design use of things like rooftops, like against the first boss where you learn to use them to get up and down. The enemy placement in tight spaces really makes me think.
But this area gave me trouble - from this point, I couldn't find a way to land any hits on the spitter enemy without taking damage myself.
I did eventually get past this point, but by double-jumping at the left edge of the above screenshot, bypassing the spitter enemy entirely.
This particular spot was troublesome because it leads to the boss without a save point. Please, always include a save point just before a boss, so the player can learn the boss patterns without repeatedly going through other areas. It feels like a clever and atmospheric level design to inflict some attrition on the player on their way to the boss, but it simply isn't fun to keep doing an area like this while learning how the game works. (Although if you have an optional "hard" mode, level changes like this are a good way to make life more interesting for experienced players.)
Also with bosses, could we have a display of boss health? Given the screen layout, it would be neat to have a boss portrait on the status bar facing the player, and their own line of hearts. But you must be really pushing the token limit already.
Anyway, then I got to the area below.
I know there's a character to the right of this point, but I haven't spoken to him, and now I can't fit back through this gap. I've been to the save point past the locked door, so dying doesn't get me back to the start of this level. Looking at the source files, is he the character who talks about a sword? Because a better weapon would be nice for the next set of enemies.
Sorry about writing so much, but this is very close to a great game, but it's got a few rough edges it would be nice to clean up...
I found this jump to be a bit difficult since the branch looks shorter then it actually is. If anyone gets stuck getting the tablet, I hope the purple lines here help with eyeing how large the gap is!
edit: omg, You can dodge roll off the branch and land on the roof as well! That little trick is amazing!
[Please log in to post a comment]