Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

When compiled to HTML, it was surprisingly easy to inject data inside a PICO-8 cart.

The memory starting at 0x4300 (user data) maps to index 0x10DA1C of the heap in JavaScript. You can get and set the data easily using JavaScript (wait till the cart is loaded):

Module.getValue(0x10DA1C);
Module.setValue(0x10DA1C, 3);

Then read it or set in PICO-8 like this:

peek(0x4300)
poke(0x4300, 3)

I'm using it for a multiplayer game where I want to allow several players selection only when there is an internet connection (I haven't worked on the multiplayer communication yet though).

The user data section is 6912 bytes long, so that's a lot of data for PICO-8.
Potentially this technique can be used to do all sort of really cool things like leaderboard inside the cart, downloadable levels or players, syncing several players together (chat, collaboration games, multiplayer games...).

Caveats:

  • Not sure if the index in the heap will remain stable across releases. Is it even stable across carts? It must be decided by some internal logic in Emscripten.
  • It works only in web mode of course.
  • It works only when embedded in a particular web page.
6
11 comments


On two DELL keyboards I've tried SHIFT adds a space so entering COMMAND( ) becomes COMMAND ( ) and results in a syntax error. Anyone else experiencing this ? Thanks.

4 comments


Cart #20494 | 2016-05-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


My first attempt at coding something which resembles a video game in Pico-8 :-)

You're the driver of a semi-automatic roof repairing cart and you're undoing the damage caused by the meteorites. The roof of each house can only take so much damage before the entire house is destroyed.

Controls:
LEFT, RIGHT: Drive left and right.
UP, DOWN: Extend or retract the arm of the vehicle.
Z: Make the arm repair the roof. Make sure you're properly aligned with the roof.

Scoring:
+25 points to undo the damage caused by one meteorite strike.
Level up after 200 points scored. A randomly chosen house will grow in size upon leveling up.

Thanks for playing :)

2
3 comments


How can I version control pico-8 source code? It seems like the output is a binary (which technically can be checked in but would be difficult to diff).

How are others doing it?

3 comments


My first game with Pico-8, Pico-2048 !
I like to start a new game engine by program a classic ... yes, 2048 is now a classic ^^

They have two different concepts with "2048". I don't know which is the best and let's players decide.

First Concept
Near "Three" where tiles moving step by step. I like this version, it's more strategic and the player can do what he really want :

Cart #20607 | 2016-05-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
17

Second Concept
Near the original "2048" where tiles moving until they can't. More action, more luck ... more fun :

Cart #20600 | 2016-05-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
17

[ Continue Reading.. ]

17
10 comments


As I've been reading around game dev boards, seeing a lot about front-loading arrays (tables) with common objects when the game boots. Then just cycling through those arrays to find an unused object and update its variables...essentially just recycling the same objects over and over. I get it and I'm doing that but...

Right now for my shooter game I'm building my array of objects as-needed. So rather than seed a table with 50 bullet objects at the start, I'm adding to that array as bullets are created, then reusing slots as they get deactivated.

Both methods use recycling so that's good. My method is working fine but wondering if there are any big gains in doing the pre-load at boot over build-as-you-go. Or if it's negligible to even worry about.

4 comments


I am sure this has been brought up a few times already. I would really like to see a new version of pico-8 have a widescreen option.
120x160 would be much better, although I am not sure that is possible. Now that people love pico-8, and they want to expand it to the physical world with LCD screens, it seems time to update the aspect ratio from 4:3 to 16:9

I understand it is meant to be retro aspect of 4:3, but that also means it is not fully compatible with 99% of flat screens! I have found a few 8" screens that are 4:3 ratio, but why spend $100 on a screen, just to remove the the black bars? This creates an retro game problem of having empty screen space on each side, making the player wish their screen was a bit taller, every single time they go to play a game. If there were more pixels instead, say 120x160, then the older 4:3 ratio games could have the black bars on the side, and still be compatible with the new, widescreen version.

I feel like this is the natural evolution of what pico-8 users want: we want to use any screen without compromising our screens potential. The new rpi 3 has 2GB of ram, so maybe 120x160 would run well, or maybe the engine is at it's limitations already. I am very happy pico-8 is now catching on like wildfire! I feel that widescreen support would make it unstoppable!

What do you guys think? 120x160, 96x128, or let's be stubborn and stick with 128x128, potentially decreasing new user appeal.

2
25 comments


Time for another jam! EDIT: The theme is Chain Reaction.

EDIT2:
and... that's time! Thanks everyone who contributed a cartridge! If you submitted something with the p8jam2 tag, you can now rate other p8jam2-tagged carts at the top of the cart's thread.

P8JAM2 THREADS

If you'd like to continue working on your cartridges, feel free -- but please leave the compo version at the top of the p8jam2-tagged threads until voting finishes in one week (June 5, 24:00 PST). Good luck!

Cart #20430 | 2016-05-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
35

Same deal as last time, except with some limited theme voting:

Duration: The Jam will take place from 00:00 PST on Saturday the 21st of May 2016 and will finish at 24:00 PST on Sunday the 29th. So, it spans 2 weekends and 5 weekdays. You can spend as much or little time on your carts as you like. Tiny silly cartridges are more than welcome.

[ Continue Reading.. ]

35
24 comments


I'm trying to get a enemy ship to shoot several bullets out at once in a spread pattern. The bullets aren't being targeted at any specific object or point (not a homing missile)...I just want them to shoot out at various angles, like 180 45 and 225*

Ideally, I'd like to have a function that lets you pass in a origin x/y, an angle and speed...

--shootBullet(x, y, angle, speed)
shootBullet(25,25,45,2)

...then I could put that as part of the a larger collection of functions for my shooting routines. I just

I felt that I had some of the answer in the bullet trajectory math here, but after trying to change different variables and stuff, I just couldn't get it right. This is what I get for not going beyond Algebra I in school ;P

If anyone has a method or can share the math, I'd appreciate it. Thanks!

1
15 comments


I had an idea for a musical game for the Pico, and wanted to verify whether the idea would work within the audio limitations first. Turns out, it wouldn't - but the toy I used to verify that turned to be lots of fun and took on a life of its own, so that's a win, I guess :).

Cart #20406 | 2016-05-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
109

Z - add/erase notes | select options in the menu
X - change instrument
hold X - back to menu

Just put some notes on the grid to get a feel for it. You can save your songs to the cart itself, and I guess also share your crazy creations as cartridges here using that option:). There is also a demo song in there if you want to check out one of mine (disclaimer: not a musician by far, listen at your own risk).

Have fun! All comments, suggestions and ideas much appreciated :).

109
13 comments


I discovered Pico-8 because I ordered a PocketCHIP, so in my mind, I'm making games with a handheld in mind...but that's just me, for all I know.

How and where do you most often play Pico-8 games?

On your living room TV with controllers?
On your PC?
Just using the keyboard?
Some custom housing you've made for your Pi with joystick and buttons?
...?

Just wondering so that I might be able to do some testing with alternative devices and setups.

It seems like the Pico-8 will get to other platforms at some point so it's good to think about where people when designing your game.

4
18 comments


I just recently got Pico-8 and I'm already a huge fan. I have a few suggestion of things that could hopefully rather easily be implemented into the editors which might help some people, such as myself :)

  • The ability to scroll the map with the arrowkeys. I find it a bit cumbersome to use space and drag around the map, especially since the map window is so small if the sprites are visible at the same time.

  • Be able to switch "sprites" by right-clicking on them. This might be a little more tricky but it's a feauture I really like from Charpad (C64 map and tile-editor). If you right click on a sprite it will swap place with the currently selected sprite and "remap" them on the map. This is just for tidyness - makes it easier to move things around.

  • Make "delete"in the music editor work aswell as backspace, and make one of them step down one step like the editor does when placing notes.

  • Make delete in the sprite editor clear the currently selected sprite to the currently selected color.

  • Adding keyboard-shortcuts for the draw and fill-tools in the editor.
4
4 comments


Remember Yar's Revenge for the 2600? I do. Just getting started on this little clone. No gameplay yet, just getting the pieces in place. Let me know what you think!

Cart #20389 | 2016-05-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
2 comments


Stamp Tool  
       Click to stamp whatever is in the
       Hold LCONTROL to stamp with transparency

Whatever is in the what?! I spent too long fiddling around trying to get it to stamp something instead of acting like an eraser. Someone please hand me a clue...

1 comment


I'm working on a shmup game and have an enemy that shoots a bullet at the player. I want the bullet to keep moving towards the player's x/y even after the player has moved. So keep the object move towards a single point.

If anyone has a method or math they can share, I'd appreciate it.

I guess this type of thing is great for all sorts of purposes, not just bullets. :)

3
8 comments


Cart #20364 | 2016-05-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

A port of the original super mario bros onto the pico-8. It's still very much a work in progress and lacks key features such as items, enemy AI, and falling into a pit crashes the game. But the basic engine and collision detection is all there, so feel free to play around with it if you want.

Let me know what you think, and what areas it can be improved upon.

8
6 comments


Cart #20359 | 2016-05-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


A little fun thing I did with Zep's Hello World program. This could be amazing as an actual boot screen xD

1
0 comments


Cart #20373 | 2016-05-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

Hey everyone! This weekend, at the Toronto Game Jam, I made a small 0-player game named Nite Fite. It was my first time working in Pico-8 and I had a blast.

Since this is a 0-player game, you don't actually have any controls. The fighters go automatically, and when they die, they pull a property from the fighter that killed them, and randomize another property. This results in a kind of weird shifting metagame that's oddly captivating to watch.

I loooooved working in Pico-8 and will definitely try to put some more stuff out in the future.

Edit: the old version had a horrible invisible bug that completely compromised the inheritance system. This version should work fine now.

6
2 comments


Cart #20336 | 2016-05-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4


Mine around and make your way to mine everything!

4
1 comment


Cart #20331 | 2016-05-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

(edit: naturally the first time I uploaded this I forgot to take a screenshot. lol)

My first game! It's pretty bad! But ok for the 24 hours or so I took introducing myself to Pico-8

About ~10% or so of this I'd say is probably wholesale lifted from the first tutorial for Squashy over at Picozine, since that was my starting point to all this. Added some more objects/collisions and turned it into a game sorta thing

Features:

  • Z/X to adjust paddle speed
  • multiple return angles
  • scoring (10pts for a successful volley, 25pts for hitting the block)
  • high score tracking (saved via cartdata())
  • annoying sounds, by me
  • working game over/restart screen
  • poor logic
  • poorer comments

There's the occasional (literal) corner case where the ball doesnt interact with the block correctly, but I think I've gotten it as good as I can get it with the horrible way I logic'd it all out. I've already learned/determined a better method for bounding boxes so whatever I make next WON'T be this bad (hopefully).

Enjoy! Hopefully someone gets 20 seconds of fun out of it (or learns something from it

[ Continue Reading.. ]

2
2 comments




Top    Load More Posts ->