Here's a funny little collaboration project that I'm afraid only works offline by nature. I've set up a system to pass data back and forth between carts for a "WarioWare Inc."-style micro-game system.
If you have Pico-8 installed, you can download the current API / project and microgames from here: picoware-inc_2015-11-19_2.zip
You're all set to play and/or make your own microgames, microgame loaders, etc. Have fun!
Starter pack microgame list:
- Jelpi by Zep
- ennuigi by joshmillard
- Simon Says by Connorses
- pick the nose booger by Connorses
- Tech Exercise by Connorses based on Graphics Exercise by Mason
- Puzzlecave - Raiders Of The Lost Potato by hackefuffel
- Endless Train by le_gars
Currently missing features:
- "Skill" ramping. The microgames never get harder, only faster.
- The interface is entirely barebones right now. It could use some art assets, fuller music, etc.
If you need help, you can contact me as JTE on IRC or catgirl on Slack, I'd be happy to work with you if you have any problems or improvements or just want to slip a new microgame cart or two into the next release package.
3D week? I think we're skipping a big technological step going straight to filled and dithered polygons...
I made a triangle out of lasers, I guess.
Zep likes foxes
Pico Jr. edition
With Zep's RLE compression thingy you can now store an absurd amount of graphical data. This means short FMVs are technically possible, if unwieldy.
I don't know what to use it for besides converting porn GIFs to Pico-8's palette and playing them over an energetic chiptune backbeat, though?
Here's a fun little project. By "fun" I mean "nightmarish" and by "little" I mean "countless hours of headaches".
Let's network a Pico-8 cart.
But the BEST networking would involve allowing the local game to run a few frames ahead of the networked player and carefully revert and re-run those frames whenever changes in input are received, so that the game still runs full speed and remains synchronized with just a little bit of reality-bending when there's latency. This requires a deep, deep control over the entire game state, and the ability to run the game (without rendering) much faster than it's intended to go.
That's enough rambling for now. This post is just a reminder for fun things to try whenever I'm bored next.
A partial port of Kid Radd from the classic Seveightgo Entertainment Unit (səu)
The original ROM is hard to come across on the web nowadays. They started mysteriously self-destructing sometime around 2003, and the ones that are still intact seem to have a lot of data missing... Forgive me if this replica isn't exactly how you remember it, I don't have a good reference for most of this.
- Reset Radd's "on ground" property between levels so if you're jumping at fadeout you don't immediately get stuck "landing" when the next level loads.
- Reset Radd's invulnerability frames between lives. (bug fix)
- Reset momentum after taking damage. (bug fix)
- Made health persistent across levels and saving.
- Made next powerup spawn persistent across saving.
- Re-enabled Radd's wider variety of intermission screen facial expressions and added a new one.
- Radd will have a happy face at the next stage's title card if you cleared the stage without taking damage.
- Radd will have a serious/angry face when respawning for his last life.
- New: Radd will have a surprised/scared face when clearing a stage on your last life with only 1 hit point left.
- Removed the "Sharp Painful Object Land" stage title, it turns out that was just a punchline made up for the webcomic.
- Added label rendering to gs_title (A proper "label screen" hadn't been done since alpha 11.)
- Clear enemies while exiting the stage in level clear state (bug fix)
- Added proper damage and death states for the player and enemies.
- Added death sprites for enemies
- Compacted SFX into quarter sfx units, and added a few new ones.
- New sfx player function, to manage sound channels and priorities effectively for minimal impact on the music.
- Added unique behaviors for Bogus (underground Bogey)
- Added "powerups" to heal Radd.
- Renamed most of the stages.
- Added entity-to-entity collision possibilities. (Bogey can now bump into eachother.)
- Simplified tile collision handling for most entities.
- Added the ability to charge and shoot Radd Beams (but they can't interact with enemies yet)
- Split the source code into those newfangled tab-pages.
- Added CPU counter to sprite viewer.
- Lowered music volume further to not compete with sfx.
- Minor text processing optimizations
- Added scenery for Yellow Brick Road (flowers, clouds)
- New intermission font.
- New Yellow Brick Road end screen.
- More (empty) level slots explorable.
- Implemented compression for the main player sprite bank (which was full) to also hold the intermission font. (This makes the Sprite Test screen really interesting, depending on whether you view it before or after going to a level...)
- Implemented death pit functionality (Object to object collision is still missing.)
- Added a brief "landing" pause between jumps
- Fixed up map and collision systems to accommodate maps larger than 1024 pixels wide with wraparound.
- Added simplified stage clear sequence.
- Removed menu sfx to make room for stage clear jingle. :( Removing sfx for music is a tradeoff I've been making way too much with this project...
- Re-added background scenery objects to Radical Boardwalk.
- Added a new kind of platform collision for underground.
- Added underground enemies.
- Finally got the map tiles up again, and now they actually have proper collision!
- Added another string parser for entity animation data.
- Added Radd, Bogey, and jumping physics.
- The engine rewrite finally paid off.
- Fleshed out a lot more sprite mappings, including Radd's shoot animations, projectiles, alt. enemy colors, ...
- Moved fade colormap data out of the source code into sprite #255
- Clear title screen graphics out of shared sprite memory and put active map tile data there in-game.
I'm in the middle of an engine rewrite to simplify things and compact the data and stuff.
- Added more sprites and sound effects.
- Added the actual "boss" music. (Listen to it on the sound test menu!)
- Removed Bogey landing sound effect. There's not enough space for it at the moment!
- Moved Sound Test to a new debug stuff menu if you press "right" at the title screen.
- Added a Sprite Test to go with the Sound Test.
- Game is no longer in an even slightly playable state, again. u_u; But it will come out better than before, surely!
- Added a sound test, including the currently unused tracks that are completed in the game.
- Broke/disabled the limited entity --> tile collision code, I'm still trying to figure out the best way to do this across nonlinear map segments and whatnot...
- Fixed the exceedingly minor death animation bug.
- Changed pain and death states to kill momentum instead of pausing
- Added damage immunity flashing after pain
- Death animation waits until floor impact (for future where there will be floorless rooms with an alternate death animation)
- New map segment system implemented, getting the level geometry back again and highly optimized in memory.
- New entity --> tile collision code partially implemented (but not even close to fully functional yet). Try watching the first enemy in the game for a while.
- Bug: This build broke the last part of Radd's death animation (woops)
- Added per sub-sprite flipping and palette remapping, for advanced effects and optimizations.
- Added pain / death / game over for the player.
- Still no level geometry or win condition. I'm getting there...
- Expanded jumping mechanics to allow better freedom of movement and a tiny delay before jumping.
- Lowered walking speed to make the air movement speed difference feel less conspicuous.
- Added sfx for jumping, landing, and title screen menu
- Lowered music volumes so the music doesn't totally drown out sfx...
- Added a bunch more player sprites in preparation for a fully functional game. (unused)
- Fixed music bugs relating to title screen (dissonant notes, way too fast song speed)
- Packed in a lot more sprites (unused)
- Rewrote entity animation system to handle multiple connected sprites per frame of animation. (no visual difference to the user, but it made sprite sheet optimizations possible.)
- Temporarily removed complex map geometry.
- Added "underground" song (unused)
- Synchronized enemies
- Added jumping ability.
- Added title screen, title music, and screen fades.
- Changed background rendering to a dynamic looping scene, in preparation for map crushing.
- Added non-interactive enemies.
- Changed sky color to light grey.
- Redid music (I'm getting the hang of this system now...)
Previous engine iteration (Alpha 1 to 11)
It's about dying repeatedly in a bottomless pit until you figure out how to escape.
There are two ways to win, and hitting the floor of the pits are an instant game over. (Feel free to use the menu's restart room option if you reach such a screen, though.) Yeah, I know this adventure is short and simple (it doesn't even need powerups, I just threw one health pack in there to be nice), and my artistic skills are still rather lacking, but I hope it shows you some new and unexpected tricks and decent gameplay all the same.
I would totally force an orthogonal perspective on most of the rooms in this if I could.
Please. Make all your event triggers more interesting with invisible sushi instead of just using the "close" trigger type.