I was thinking, what if there was an underpowered handheld spinoff console from the makers of the PICO 8? Sure, it's not as beefy as the original console, but oh the portability!
So this is a really rough prototype: I've built up the PICO JR console as the core game loop of the cartridge, processing input into thumb movement and some really sketchily modeled instinctive controller swerving, with the bulk of the code stuck down below and the actual code for the little in-game game up top in the cart.
My gut take on the specs for this:
- 48*48 pixel four-tone greyscale graphics (so, colors 0, 5, 6, and 7 in the PICO 8 palette)
- 2 channel sound
- dpad and one button (other button could be reserved for meta-game/menu stuff)
- 1 page of sprite sheet
- standard sprite size of 6x6 pixels
- dodgy slow-refresh LCD screen (could simulate this by checking screen buffer every frame and only allowing pixels to move one shade of grey toward whatever the target is)
Right now the tiny little Jump Guy game is just implemented for the screen and palette and sound limitations by me keeping myself honest, but I think the right way to go to do this right would be to write wrapper functions for all the standard PICO 8 calls that do appropriate constraining and sanity checks on the PICO JR specs. (So e.g. pj_sfx() and pj_music() would only accept as valid channels 0 and 1, spr() would only read off the allowed sprite page and would count by 6*6 blocks, etc.)

Because every console needs a (few) Pong port(s).
This is my first Pico-8 project. I've got a lot more ideas for it, and it's not done yet.
Future Plans
- Powerups if a match goes on long enough? Honestly, not sure if this needs it.
- Music
Known Issues
- The AI is occasionally too good at the game.
- Sometimes the ball goes too fast to catch.
Changelog
v4
- Goal sound.
- AI tweaks.
- Ball speedup changes.
v3 - Made the court pretty
- Added a score display
- Made the AI a little easier by making the ball go faster over time.
v2 - Updated the splash screen.
v1

UPDATE 2017-05-16:
VEKTOR2089 is now up for early access on itch.io!
Features:
- Split screen multiplayer
- Trackmania style hotseat multiplayer
- Track editor
- 60 fps
- Multiple cars to choose from with different feels and styles
- 4 speed classes
- Maybe a story mode, we'll see!
New in 1.5.0beta:
- 8 set looping tracks, 3 laps each
- Level editor (needs some more work)
Missing some stuff from the previous version that still needs to be fixed up:
- Boosters
- Narrowing tracks
- Time attack replays
Wipeout inspired racing game!
Z to ACCEL
X to BRAKE
UP to BOOST
LEFT and RIGHT to STEER
Q for MENU
Update 1.2.0:
- Reduced token usage
- Multiple difficulty levels (Easy, Medium, Hard (original difficulty))
Update 1.1.0:
- Somewhat easier AI, might actually be possible to beat them now
- Sharper turning circle
- Nerfed boosting a bit
- Boosted normal acceleration
- Reduced ship size slightly
- Warnings about upcoming turns and narrowing
- Performance improvements
Challenge your ghost or AI racers.
now with music + sound!
5 difficulty levels
in game menu
parallax scrolling foreground

A PICO-8 conversion of my first game.
Controls:
| Up | Left | Down | Right | X / M | Y / N |
| Jump | Stop | Slide | Move Right | Restart | Debug |
It's unfinished, with level 2 just going on forever. The title text animation is blatantly stolen from the Hello World demo cart and fiddled with until it looked different enough to not just be a carbon copy.
This game is different from my usual projects in that I try to teach myself to take time and not rush things, not expect anything from the things I do and not try to make the game sound like any more than it is and post it all over the place. Basically, I want to become a game dev Buddhist, is what I'm saying.
If you wanna download the cart to look at the code yourself, feel free to. I tried to keep all the code as succinct as possible and commented it in an understandable way.
There's a bug where sometimes you can't jump anymore and have to reboot.
I'll keep working on this.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Due to the limitations of PICO-8's web player, this cartridge can only be run from the console!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
So, at the risk of incurring Zep's wrath, I've thrown together some examples of how to use the console's RAM to get around filesize limits.
This cart will draw some sprites to the screen that are loaded from spritesheet.p8 (Just save a cart with some sprites in the folder with this cart). Feel free to steal / repurpose

So, comments don't count for tokens, which is good. But, they do count for characters. This kinda provides an incentive to avoid the level of comment in code that might be useful to others in the community, which is too bad.
Any chance this could be changed to be more in line with how tokens are counted?
"IT FEELS GOOD TO BE BACK IN THIS STARFIGHTER!"
I am back, and I plan on revitalizing an old Voxatron cartridge of mine called "Starship Combat."
I just couldn't stop thinking about this universe I have made when I got back on this
community. So I plan on making it better than the version before 0.2.10!
Excuse my broken Enter structure, my long name seems to have shifted my actual post to the
right by a bit. So I have to compensate, you see.
I do not know if I am going to be making a PICO-8 spinoff of this game, I still have a lot to
learn about this fantastic new console.
Other than that, that's pretty much it. Let the cartridge speak for itself!
So, I have no idea what I'm doing yet, but this seemed like it almost sort of resembled a game, so I've decided to announce that I'm around by posting it, rather than fading away and pretending I never tried.
I might play around more with this, to learn how to do one or two more things, but probably I will start completely anew once I feel like I can actually write a game worth playing.
PICO-8 is pretty darn cool.

Spend some time with a depressed, laconic Luigi as he chain smokes and wanders through a crumbling Mushroom Kingdom, ruminating on ontology, ethics, family, identity, and the mistakes he and his brother have made.
Controls:
- left/right: walk around
- up: ruminate
- down: smoke
About the game:
This is a shot at a collection of ideas I had a few years ago, about looking critically at the universe of Super Mario Bros. in light of the total lack of explicit narrative in the original game in particular. Who are these strange men? What motivates them? By what right do they wreak the havoc they do on this strange place? What do they feel about where they are and what they're doing?
And so, this is one lens through which to look at all that, with Luigi, the second brother, the also-ran, as a complicit onlooker, wandering now through some fractured, rotting liminal place in this strange world, reflecting on it all in scattered fragments.

I thought I'd make a short log of what I'm working on at the moment and my thoughts on the lovely PICO-8. First, let me say that since I work with Love2D I like being able to use Lua. I'm working on code for pixel-perfect collisions because I can make shaped sprites and perhaps get better use of real-estate. That is, I can make more complex levels in a smaller screen space. The dream is a simple metroid-style game with items to find.
Unfortunately Pico-8's implementation currently still has a few small bugs. Actually, scratch that, there's no such thing as a small bug in a code editor when that bug could prevent a perfectly good game from compiling and running. That said, I've had fun making my little game but I think I'm going to take a break from PICO-8 and go back to my other project(s). I've been having a ball with Love2D's physics engine and I've got to get back to that. I'm not leaving PICO-8, I'm just waiting for an update.
Also, the code limit makes me sad. I really like this one PICO-8 game, Tempest, and I hope the author will figure out how to fit in everything they want, but it sounds like they're still cutting it close to the eight-thousand-something tokens. We'll see what happens soon enough.
If a nonexistent function is called in a foreach loop, the runtime error thrown returns nothing useful.
e.g.
input:
offending code on line 37:
foreach(collection, missing_function) |
output:
line 0: attempt to call local 'f' (a nil value) |
vs.
input:
offending code on line 37:
missing_function(collection) |
output:
line 37: attempt to call global 'missing_function' (a nil value) |
I made a gif that shows the problem:
The gist is that if I use the map editor on the part of memory that's shared with the spritesheet, the bucket fill command appears to work, but doesn't actually update on the sprite sheet. The results of the bucket fill don't show up in game if you use that part of the map, either, and are gone if you save and reload the cartridge.
So PICO-8 is in alpha at the moment, but it feels very much like a finished product. What are the major things that will distinguish the current alpha 0.1.1 from the 1.0 release? Nothing fundamental jumps out at me as 'missing', and superfluous features seem very much against the core design philosophy; so what's left, aside from bugfixing and polish?





11 comments



