Before you play:

The Pixel Maze is a pay-what-you-want title, which means that if you prefer to play it for free, please do! I'd really appreciate it a lot if you choose to click the "support this game" button above, but ultimately have fun! I will also publish source code a bit later (clean up!) for PICO-8 enthusiasts.

Twitter: @oneearedrabbit

How to play:

Arrows - walk around, C - jump, X - use items.

On mobile devices, the game will show additional controls.

Find a treasure chest in the labyrinth and bring it back. If you played Maze by Christopher Manson, it is a similar idea but much less sophisticated.

I recommend to grab a piece of paper and a pen, this is a maze after all and you need Ariadne's thread to guide you.

Credits:

  • @mrmotarius: mrmotext tiles and miniadventures
  • @alanxoc3: sprite outline function
  • @fred72: polyfill function
  • @electricgryphon: metablobs
  • @profpatonildo: textbox functions
  • @cadars: the pixel maze font
  • and you, thank you for playing!

Motivation:

I have been doing software development for over 15 years, and I thought that I could apply some of my skills in another domain for fun. This time I wanted to try something different, and I started working on a tiny 1-bit retro game.

I heard many horror stories that gamedev is hard, and I wanted to get the heartfelt first-hand experience. While it is certainly true that prior experience helps, but gamedev requires a multidisciplinary approach. One has to compose music, create sound effects, draw tiles and sprites, think carefully about game mechanics and many many other things.

On top of that, I am a solo-developer, and I have to prioritize ruthlessly, i.e. whether a new idea adds something meaningful to a game, or it is nice to have but will drain my energy, and I will abandon a game quickly. I am lucky to meet great people in gamedev groups. Also, I find gamedev community very friendly and supportive. It is a rewarding experience. Thank you.

I will also publish a write up to explain how different parts of the game are implemented. Surprisingly, there are just a few tutorials explaining how to implement a lighting system on PICO-8.

StatusReleased
PlatformsHTML5
Rating
Rated 4.3 out of 5 stars
(6 total ratings)
Authoroneearedrabbit
GenreAdventure, Platformer
Made withAseprite, PICO-8
Tags1-bit, 2D, Black and White, Exploration, PICO-8, Pixel Art, Puzzle-Platformer, Retro
Average sessionA few minutes
LanguagesEnglish
InputsKeyboard

Development log

Comments

Log in with itch.io to leave a comment.

p8 file, possible?

(1 edit)

Glad you asked! https://github.com/oneearedrabbit/maze

There are no assets (I am not allowed to release tiles by the license), but source code is there.

Btw, are you are a bot? Your comments history is.... suspicious. It is the very same comment since you created an account.

(+1)

I'm trying to build a collection of games developed in Pico 8 that are not available on Lexaloffle/BBS. Thanks.

Great! Let me know when you are ready to publish your collection!

Amazing! Love how much everything feels alive and is moving, is this at all inspired by the book MAZE?

Yessir, MAZE book is a marvel! One day I will draw a nice picture of all levels. There is some kind of inner beauty in an interconnectivity graph of rooms. It is not as random as it may feel when you play the game (albeit, the graph is much smaller than in a paper book).

which tool and programming language you used for this game?

Coding/music: Pico-8 and so is Lua. Sprites are based on https://mrmotarius.itch.io/mrmotext with a few tweaks in Aseprite.

I don’t know what lua and pico-8 is could you tell me more about them especially why you chose them? Currently I am just a teenager with only c/c++ SFML knowledge and currently I am learning sdl2. I Like syntax and templates in c++ and easy to use of SFML and strength of sdl2.

Yes, totally. Pico-8 is a virtual console (think of Game Boy that doesn't exist in the real world), albeit it mimics the graphical/sound capabilities of 8-bit systems. Lua is a programming language (kind of lightweight C++ that is stripped down to a bare minimum set of operations). Lua is also a dynamically typed & interpreted language, so in comparison to C++, one doesn't have to compile the application to run it.

Example:

local name = "oneearedrabbit"
local welcome = "Hello, " .. name .. "!"
for i = 1, 10 do
  print(welcome)
end
-- this is a comment, and I think you can guess at this point what this tiny program does

Pico-8 doesn't have lots of batteries under the belt like in SFML/SDL2. For instance, you can change a pixel on the screen with a function call `pset(x, y, color)` or draw a line `line(x1, y1, x2, y2)`. There are a few more primitives that you can work with, and it does echo game development in the 80s/90s. It doesn't have shaders or anything complex. A developer has to be very cautious about those limitations, i.e. shall I focus on the game idea or invest more time making it more appealing visually.

To your question, "why?" -- limitations is a great part of the deal. Embrace them. Focus only on what's relevant for you and your game. Cut your game out if it gets too big and messy. And ultimately ship it.

You can learn more about Pico-8: https://www.lexaloffle.com/pico-8.php and Lua: https://www.lua.org/. The world is your oyster.

(2 edits) (+1)

Not gonna lie, this is a pretty good game. There are so many rooms which makes navigating the maze a challenge. One of the bugs that I found was that if you jump on a bat just right, you get a super jump, which makes it possible to jump out of the map in the cave section. Just to brag, my best time is 56 seconds.

Wow, it is impressive! I think my best was 70-ish seconds. Thanks for the bug report and playing the game!

(+1)

The graphics, the challenges, reminds me of me playing NES back then. so much nostalgic in one game and i really like it.

(+1)

I enjoyed this for the 1bit graphical polish. Yes some sound or music would really lift it to another level. A bit of narrative momentum or something to give variation and motive to the levels would be cool, I was expecting a little puzzle to solve to get to the next door on each room, but it’s just a maze puzzle overall isn’t it? Congratulations with what you’ve acheived so far.

(+1)

Excellent! It does ring the bell for me. In one of the versions that I dismissed, I made monsters a bit more practical, e.g. if you jump on a ghost, you can reach a ladder and climb to the next room. Also, bats in this context are pretty useless except for a visual flashlight effect (and killing a player, oh). I will sleep a night on this, but I agree that it would be fun to solve some real puzzles.

Music is on the way, I just ported a little classic masterpiece:

(1 edit) (+1)

interesting starting point & atmosphere, clearly missing music & sound effects!

the shading is excellent (though makes some stairs/platforms difficult to see).

couple of remarks:

  • tbh there is nothing really interesting to do in the various rooms (beside slowly trying every single door)
  • do I really need to draw each level to make sense out of it??
  • what is the point of getting the text for each room over and over?
  • what is the purpose of dying? should we loose a key or the treasure instead?
  • game frame has incorrect aspect ratio (look at pico8 manual for working dimensions)

good luck!

That is solid feedback! I need to redo these texts, i.e. my intent was to give some sort of a clue which door to choose, which I admit doesn't work at all in the current version, and I am sorry about that! I will think about visual clues too. I agree that it is no fun to guess every single door until you find the right one.

Also, a good point about keys; I think they don't add much to the game and unnecessarily make the labyrinth more difficult than I wanted. It should have been a relaxed run that takes no more than 5-10 mins. (There are two closed doors: one is at the entrance and the second one is hidden somewhere :-)

I will fix the aspect ratio shortly. I overlooked the issue.

Thank you!

I changed viewport dimensions to 950x650px on itch, I wonder does it look better now? It also could be an issue in my local config when I exported a Pico-8 cartridge to HTML. If it doesn't help, could you post a screenshot, I will troubleshoot.