A proof of concept for a new #Pico8 puzzle game idea ... "Butt Sniffers!" ... the player controls multiple sausage dogs in a park. On each level they must move the dogs so that they are all sniffing another dog's butt.
The proof of concept needs more game mechanics: walls, pushable items, maybe the ability to push the other dogs. And some collectable "bone-us" items.
Some more game mechanics for my #Pico8 puzzle game: walls block movement, and big dogs can push smaller dogs.

Now you can see the dogs sniffing butts!

#Pico8 #GameDev #PuzzleVideoGame #ThinkyGame

Based on play-testing with a cohort of one 13 year old… the combination of toilet humour and puzzle gameplay is a winner!
I’ve got a kludgy way to implement undo/redo but it might be good enough for a puzzle game.

Undo/redo working. This makes the game much more enjoyable. The player does not need to restart the entire level if they make a mistake.

You can also see some of the bonus mechanics in play. The dogs can pick up a ball and find a buried bone before sniffing butts to fully complete each level.

#Pico8 #GameDev #ThinkyGame

Solving the first two introductory levels of what is currently called "Dogs Sniffing Butts". (I'm still trying to find a good title.)

There's now a title screen with level selector and a one-to-three star scoring system.

#Pico8 #GameDev

I designed a level with just two dogs and some bushes that I solved once but can’t for the life of me solve it again. At least this is confirmation that even the basic game mechanics can produce challenging and interesting puzzles.
So far I've designed eight puzzles for "Dogs Sniffing Butts". My overambitious vision is four groups of twelve levels: park/spring, beach/summer, woods/autumn, snow/winter. #Pico8 #GameDev #PixelArt #PuzzleVideoGame
Dogs Sniffing Butts now shows you your stats when you've solved a level. You can play to get three stars on each level, and then try to solve the level in the fewest moves. #Pico8 #GameDev #PuzzleGame
A new puzzle element: dogs can push balls with their nose. But not pull them, so they can get stuck in corners and block routes, Sokoban-style. #Pico8 #GameDev #PuzzleGame

A wave effect for the beach levels of Dogs Sniffing Butts.

#Pico8 #PixelArt #GameDev

A prototype beach level.

#Pico8 #GameDev #PixelArt

A new feature: saving and sharing solutions. When you have completed a level, you can copy your solution to the clipboard. It is exported in a simple text format that you can save in a file or share by email. Then you can paste the solution into the game, and use the redo functionality to step through it. #Pico8 #PuzzleGame #GameDev
I love how adding one feature unlocks the possibility for entirely different features. In this case, adding undo/redo made it possible to share solutions within the limitations of #Pico8.
It's got to that point in a project where I have to take a detour and write some tools...
I now have good enough tooling so that I can design levels in the Tiled editor and play them in #Pico8. That will make creating new levels much easier. #GameDev #PuzzleGame
There’s always more yaks to shave… now I find that the library I’m using to parse the Tiled files doesn’t cope with escaped backslashes in JSON string values, and Tiled escapes backslashes when writing JSON. 😡
Hacked a workaround into my tool, and raised a PR with a fix for the JSON library. Yak successfully shaved. And designed a new level, which will make a good end to the "Dogs Sniffing Butts in the Park" section. Now on to "Dogs Sniffing Butts on the Beach" ...
I’ve added file watching to my Tiled file converter. Now I can run my converter in the background while I swap between Tiled and #Pico8. After saving in Tiled, I switch to Pico8 and hit Cmd-R to load the new level designs that have been converted to Lua code. Very quick turnaround.
Aaarrgghh! I've run out of tokens! Now I'll have to take a detour into writing a bytecode interpreter for level data, and a translator from Tiled JSON format to my bytecode format. #Pico8
I have a implemented a binary format for levels, which means one token per level. Now there is room for loads of levels!
Colourful title graphics. #Pico8 #GameDev #PixelArt
I dropped the three-star scoring mechanic. You are now awarded a rosette for completing a level, and can hunt for the buried bone as a secondary goal. #Pico8 #GameDev #PuzzleGame #ThinkyGame
A title-screen, for use as the #Pico8 cartridge label.
Some internal redesign, and now the dogs and objects are smoothly animated. #Pico8 #GameDev
Movement is silky smooth at 60fps, but unfortunately that doesn’t come through in a GIF.
Now the balls roll when the dogs push them, instead of sliding. #Pico8 #GameDev #PixelArt
A new game mechanic for the autumnal countryside levels: an annoying hedgehog that snuffles around, getting in the way of the dogs. #Pico8 #GameDev
A hedgehog rolls into a ball when a dog sniffs it. And the dog can’t push it around — it’s too spiky! #Pico8 #GameDev
An example of the kind of puzzle created by hedgehog behaviour. How do you get the dogs out of their starting positions? #Pico8 #GameDev #PuzzleGame
Better graphics for the hedgehog footprints. #Pico8 #GameDev #IndieDev
Each set of levels (park, beach, country, snow) is associated with a season (spring, summer, autumn, winter). Here's my first stab at an autumnal theme for the countryside levels. I need to tweak the colours of the dogs a bit. But what do you think... too much animation for a puzzle game? #Pico8 #GameDev #IndieDev #PixelArt
Added butterflies to the levels in the spring. #Pico8 #GameDev #PixelArt
Took a bit of fiddling to ensure the butterflies stay out of the area where the dogs can move, so that the player can be certain that they are decoration and not a gameplay element.
@picoretro It could be distracting if it was on every puzzle but is fun on a few. Or maybe it could change in intensity over time.
@picoretro I think the rain is indeed a bit distracing. How about slowly falling leafes?
@JohannaMakesGames I have been designing sprites for that too. Maybe rain on simple levels and gentle leaves on the levels that require concentration. As ever with Pico8 it depends on what I can squeeze into the space constraints…
@picoretro how about posting as .webm or .mp4?
@fysx Unfortunately needs a lot more setup than pressing F8 & F9 in Pico8. I’ll prepare a video when I get closer to release.

@picoretro that’s one of my favorite and biggest time sink in making games. I always over polish the tool long after it’s doing its original intended purpose.

Is it tooling around the saved solutions?

@Calex I’m writing code to translate levels designed in the Tiled editor to Lua code that is #included into the Pico8 cart.