Log In  
Follow
apLundell
Follow

I'm a virtual reality and game programmer, who's excited about games, technology, and retro games.

Twitter : @apLundell
Mastodon : octodon.social/ @apLundell
World Wide Web : AndyLundell.com

Recently I've been thinking about those old Gameboy color cartridges that had built-in rumble-packs.

I wanted a rumble-pack for Pico-8, and, by a happy coincidence, I had a bunch of tiny rumble-motors left over from when I was prototyping VR accessories for a former job!

So here's my first draft of PICO-8 Rumble :

Here's a video of it in action. Obviously you can't feel the rumble through a video, but I put a microphone right up against the rumbler. Actually, I think I put it too close, this video is LOUD.

https://photos.app.goo.gl/jnz5LUBMB16Ds9576

Here's how I did it.

Step Zero : If you've got a pocketCHIP, and especially if you intend to fool around with the GPIO pins, I strongly recommend putting insulating tape over the 5V and BAT pins. If you accidentally connect one of these pins to any of the other pins you could instantly fry your CHIP! They even stay active when the device is off!

Step one : I added header sockets to my PocketCHIP. This is pretty easy if you're even a little competent with a soldering iron. A 6-pin header and a 16-pin header fit nicely and cover the pins of interest. It leaves out the FEL pin, but you'll probably never need that.

Step two : The circuit.
I'm really bad at electronics, so anybody who knows about this stuff please double-check my work here.
The GPIO pins are normally high, so I've designed this circuit to rumble when the pin goes low.
The diode and capacitor are to protect the pocketCHIP from any interference or voltage spikes caused by the motor. I'm not sure if a motor this tiny needs that, but better safe than sorry.

I tested this on a breadboard and it worked great.

Step Three : The casing
I'm also pretty bad at designing objects for 3d printing. But TinkerCAD makes it easy to make something functional, even if it's a bit ugly.

The grey thing is the rumble-motor.

The idea is that you put nuts and bolts through the bolt-holes, and then tighten it onto the top of the PocketCHIP board. The slot in the top is where the wires come out to connect to the pin headers.

Step Four : Assembly
In my mind I was going to lay out all the components neatly. Turns out I didn't leave enough room for that. So I kind of just had to solder them into tangle of components.

Step Five : Programming
One problem here is that only root has access to the GPIO pins. If anyone knows how to change those permissions please tell me. Instead of starting Pico8 from the main menu, you have to start it from the terminal by typing "sudo pico8". It'll ask you for a password. If you don't know it, it's probably "chip".

Activating the rumble-motor through Pico-8 code is surprisingly simple. It was the easiest part of the project.

Here's the code. Just call that update_rumble() function once per frame. Any time RMBL_FRAME is greater than zero it will rumble for that many frames.

One trap is that I've got the rumble connected to what's labeled as "GPIO 1", but Pico-8 sees it as pin 2. :shrug:

Here's a simple test program.

I modified @guerragames's "Pinballvania" to use the rumble. It took me about 60 seconds to make the mod. I copy/pasted the update function, and added a single line to the existing "Screen shake" function, which already was triggered after every hard collision.

I really hope other people build rumblers into handheld pico-8 devices. It'd be great if we could come up with a loose standard for how rumble in Pico games works.

Here's a parts list :

And a case to put it all in. If you've got a 3d printer, you can use the case I designed, but I'll bet you could design a better one.

P#77623 2020-06-04 00:59

I've been experimenting with the GPIO pins on PocketCHIP in a Pico-8 game, but it's awkward that it only works for the root user.

Is there some way I could change the permissions of the hardware so that ordinary users can access the GPIO?

P#77089 2020-05-23 21:12

Cart #retro_brothers-0 | 2019-08-24 | Code ▽ | Embed ▽ | No License
9


Oh no! There are vermin in the pipes!
The only solution is to send in the world's best adventurer-plumber : Mar Jelpi!

Play as Jelpi and his siblings as he goes down into the sewers to clear out all the creatures living in the slimy darkness of the sewer pipes!

This one is obviously based on an old classic.

Before the NES, Nintendo games were ported to every platform you can imagine, both officially and unofficially. (This was the Mario of my youth) So I figured I'd have a go at bringing my interpretation of this old favorite to Pico-8.

  • This game supports up to four players. Just use the directional buttons to choose your character and X to lock in your choice.

  • Once in game use left and right to move, and either button to jump.

  • Stun enemies by bumping them from underneath, and then kill them by jumping on them while they're stunned.

  • The "ZAP" button will stun every creature currently touching the ground. But be careful! Zap can only be used three times before it's empty and has to regenerate.

  • Extra Life at 5,000pts, 10,000pts, and every 10,000pts thereafter.

Before the game starts, In the cart menu there's an option to switch it to Co-Op mode. In Co-op mode, all the players pull from the same pool of lives and contribute to the same high-score. That might be more fun if one player isn't as skilled as the others and keeps being left behind.

P#66930 2019-08-24 23:44

Cart #space_hangman-3 | 2019-08-22 | Code ▽ | Embed ▽ | No License
2


Space Hangman!

Use your spaceship to pop the bubbles with letters in them to spell the mystery word.

Pop the wrong bubbles and you lose health.

Green bubbles are wildcards and will always fill in a letter.

Red bubbles are hearts and will increase your health.

Controls :

  • LEFT and RIGHT to steer your ship
  • UP or O to accelerate ("z" on keyboard)
  • DOWN to brake
  • X to spin 180 quickly

This is a quick little idea I've had for a while. I think it worked out pretty good, so I'm posting it, even though it's not very elaborate.

Strategy-wise, I recommend going for vowels first, but don't kill yourself trying to get a particular letter, it'll come around again.

Please let me know about any typos or spelling errors in the word list!

Old Versions :


Cart #space_hangman-1 | 2019-08-07 | Code ▽ | Embed ▽ | No License
2

Cart #space_hangman-2 | 2019-08-08 | Code ▽ | Embed ▽ | No License
2

Changelog :


2019-08-22

  • Minor tweak to difficulty curve (helpful bubbles more likely on short words.)
  • Added 11 new categories.

2019-08-08

  • Minor removal of unused code, and added a reminder for keyboard users not familiar with Pico-8

Screenshots :

P#66447 2019-08-07 23:10 ( Edited 2019-08-22 05:32)

I love seeing work-in-progress screenshots.

The great thing about keeping these screenshots is that after the game is finished, you can tell in retrospect which screenshots were significant and interesting.

Pico-8 encourages screenshotting, with its built-in screenshot and gif capability. And the file size is minimal. ... So I figure a lot of folk probably have cool early screenshots of games that later become great games.

So let's see 'em!

P#44831 2017-10-01 18:40 ( Edited 2017-10-01 22:40)

I notice the Pico-8 font has some semi-graphical characters, but not quiite enough to make a real retro text-mode UI out of.

I'd love to see some of the old DOS box-drawing characters added to the pico font if there's space for a few more glyphs.

P#44359 2017-09-19 10:34 ( Edited 2017-09-19 18:49)

Cart #59127 | 2018-11-18 | Code ▽ | Embed ▽ | No License
18

You are Pat Blastrock, down on your luck space hero. After a particularly ill-fated adventure, you stumble into Space Tavern Station with only 500 credits to your name and a busted up escape pod. (It was a very ill-fated adventure.)
Luckily, if there's one thing Space Tavern Station has an endless supply of, besides surprisingly vile synth-ale, it's suckers. You're going take the only option you have left and gamble your way back to fame and fortune.

The poker played here at Space Tavern Station is not a fancy tournament. Here, they play tavern-style. You can leave the table at any time, but you can't go "all in". If you get raised out, you have to fold, so make sure you bring enough cash to play a grownup's game.

Some of your opponents might be desperate enough to bet the keys to their ship. Don't feel any remorse in taking that bet. It's not your problem how they're going to get home.

If you're light on cash, you can go to your inventory and sell something.

Controls :
Arrow keys and (O) to navigate menus.
(X) to go back to the main menu. (Leaving the poker table.)

Pause Menu :
Sound : On/Off
High-Viz cards - Alternate card design. Some people find it easier to see.
Reset Data : Delete all data and go back to your initial $500 and busted up escape pod.

Old Version:


1.1 :
Cart #44434 | 2017-09-22 | Code ▽ | Embed ▽ | No License
18

1.2 :
Cart #44786 | 2017-09-30 | Code ▽ | Embed ▽ | No License
18

P#43606 2017-08-25 11:53 ( Edited 2018-11-18 07:06)

The mobile player on the forum is pretty nice, but it's missing one important feature : It doesn't disable the long-press context menu.

If you hold the d-pad or a button down (as you do) it pops up a context menu, making the games frustrating.

Until this is fixed, I recommend using this bookmarklet to fix it.

javascript:(function()%7Bwindow.oncontextmenu%20%3D%20function(event)%20%7Bevent.preventDefault()%3Bevent.stopPropagation()%3Breturn%20false%3B%7D%7D)()

The forum strips out JavaScript links, so I can't link to the bookmarket, but make a new bookmark, and copy/paste that code into the URL field. Tapping on it will disable the context menu, making Pico8 a joy to play on mobile firefox.

P#43122 2017-08-08 13:07 ( Edited 2017-08-09 15:41)

I certainly don't mean to complain about free games, but maybe a gentle reminder that Pico-8 games are not just played on desktop.

Using the player 2 controls as "extra buttons" makes it very difficult to play on mobile or on PocketCHIP, or even just with controllers. The problem is compounded when you refer to the buttons by however they're bound on your system instead of their 'official' pico-8 names.

Again, I know these are just hobby games, and I haven't paid a dime for them, so I have absolutely no right to complain, but I hope people realize that they're cutting out some potential players when they tell people to press "D" or "Left Shift" or something like that

P#41236 2017-06-02 11:38 ( Edited 2017-06-02 17:18)

Cart #40083 | 2017-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

I decided that the first game I should make for this system would be an homage to the earliest game I have strong memories of playing : “Moon Mine“. Published in 1983, “Moon Mine” was available only on the TI-99/4a, Which means that nobody has ever heard of it. I had it though, and it was a blast. For years this was my favorite game.
So here’s my remake. Made from memory and by closely examining the old game manual I found in the basement.

The original classic was made by Rob F Hendren and John Phillips and I’ve always felt it didn’t get enough nostalgia love.

The instructions are in the system menu. Basically use the arrow keys to move the lasers. O to fire. X to beam down a crew-member to retrieve minerals and water samples.

P#40084 2017-04-30 20:02 ( Edited 2017-05-01 05:01)

Follow Lexaloffle:        
Generated 2020-09-21 12:37 | 0.137s | 4194k | Q:116