Log In  

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

Cart #22833 | 2016-06-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
81

Have you ever felt like you don't have enough trains in your life?
Have you ever thought : "Man, I'd really go for a never-ending train ride right now"

Well look no further because endless train is here!

Complete with:
-Trains!
-Seats!
-Handles!
-Stations!
-Tunnels!
-Bumps!
-Internal monologue!
And much more!

So what are you waiting for? Hop in and take a ride in the endless train! ᶠᵒʳᵉᵛᵉʳ

Changelog :
[hidden]
1.2 (2016-06-13)

  • Fixed a bug where the tunnel wind sfx would never stop

1.1 (2015-07-27)

  • Fixed the tunnel's very low spawn probability
  • Tunnels will always give a different region
  • Actually changed the whole way tunnels work

1.0 (2015-07-15)

  • Initial release

[ Continue Reading.. ]

81
18 comments


Cart #11631 | 2015-07-16 | Code ▽ | Embed ▽ | No License
1

I've heard e-cigarettes are all the rage these days.

N to smoke.

1
1 comment


Cart #11606 | 2015-07-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
13

Seeing what kind of heavy splashy snare I can get with multiple sfx channels.
As usual, please use or adapt the music for something if you like.

13
4 comments


Cart #11604 | 2015-07-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
42

This cart demonstrates basic wall collisions, animation and actor-based world objects. I hope it's useful either as something to study for ideas, or as a starting template for a platformer or overhead map-based game. I noticed a few carts reusing stuff from Jelpi, which is great -- but Jelpi might be a little complex to get started with.

See move_actor() for the important part:

 if not solid_area(a.x + a.dx, a.y, a.w, a.h) then
  a.x += a.dx
 else   
  -- otherwise bounce
  a.dx *= -a.bounce
  sfx(2)
 end

 -- ditto for y

 if not solid_area(a.x, a.y + a.dy, a.w, a.h) then
  a.y += a.dy
 else
  a.dy *= -a.bounce
  sfx(2)
 end

The collisions work like this:

  • wall sprites are tagged with flag 1 (orange) in the sprite editor
  • solid_area() checks to see if a given rectangle in the map overlaps with any walls
  • each actor has a velocity (a.dx, a.dy)
  • in move_actor(): before moving an actor along each axis (x, then y), the new potential collision rectangle of the actor is tested against the map. Note the "+ a.dx" in the call to solid_area() to give the candidate position rather than the current one.
  • If the candidate rectangle includes a wall, then the movement along that axis is rejected (and it bounces instead).

This means that as long as actors start outside of walls, they should never end up inside a wall.

There are many minor improvements that could be made -- for example, placing the actor exactly against the wall after it collides. But I've tried to keep it simple to demonstrate only the important concepts.

Note that none of this is the 'right' way to do collisions or anything else in pico-8 -- it's just the way I happen to do it.

If you have any questions about how it works, don't be shy!

EDIT: another example -- this time also with actor collisions.
Exactly the same principle, but instead of looking for solid walls, it searches through all the actors and checks for overlapping actor collision rectangles.

[ Continue Reading.. ]

42
16 comments


Cart #11587 | 2015-07-14 | Code ▽ | Embed ▽ | No License
9

First experiment!

With which I wanted to start learning how make one sprite loop animation and one music loop. Two things I've never done in my life before ...I think...
The rest is just drawing lines. One of my favourite features of PICO-8.

The beats are HEAVILY based on Jelpi's ( or maybe some other of zep's carts... ), but I do start to understand the magic now.

Edit: I am not a very clever man. I deleted the cartridge reference u_u'
Edit2: Uploaded again.

9
5 comments


Cart #11579 | 2015-07-13 | Code ▽ | Embed ▽ | No License
10

Kitty on a mission

Avoid snakes and the bat.
Collect hearts and spinning fish bones.

My first game in PICO-8.
No music because I cant create a tune to save my life.

10
7 comments


Cart #11569 | 2015-07-11 | Code ▽ | Embed ▽ | No License
5

M / X to confirm/dance
N / Y to restart from the final screen

Inspired by game idea bot:
https://twitter.com/good_gameideas/status/61946976913843814

5
4 comments


Here's a photo of PICO-8 running on my arcade cabinet. Jelpi (with 2nd player activated) is super fun to play on it.

I re-mapped the cabinet's MAME-style inputs to what PICO-8 expects, including P1 START to Cmd-R to start/re-start the game, but I still have to manually type "LOAD JELPI" first. Is there a way to specify a cart to load via the command line? That would be ideal for the custom game picker/launcher that I have on the cabinet.

-josh

2
5 comments


Cart #11533 | 2015-07-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
28

28
9 comments


Cart #11519 | 2015-07-08 | Code ▽ | Embed ▽ | No License
3

M or X to confirm
Arrow UP / DOWN to select

Couldn't come up with a worse name.

The idea is to have a typical RPG final boss battle without anything that'd normally happen prior to that. Ironically, the placeholder for said final boss is a tiny blob. This is obviously very early, you can beat the game as it is, but what the game is right now is nothing but a demonstration of the mechanics. So, a tech demo, uh-oh.

3
1 comment


Hello fellow pico-8-ers!

I would like to create a fanzine for the pico 8 console. Ideally it be an invitation for people to learn how to code and to be able to do their first game quickly. It also could be interesting for more advance coders to see good practice or to learn how to quickly prototype with pico 8.

It will be free and will contain program listings with screenshots of sprites.

The first edition could include a tutorial about very simple games, sprite animation, music, tutorials of lua, specification of pico 8, how to think as a developer, etc...

About the distribution I have been thinking to create a pdf sharable on the pico forum and on itchio, but we could also create a print version to share it on workshops ( 2$ or 4$, price of the paper and printing). The fanzine would be printed on a photocopier (b/w), hand-folded and stapled, between 12 and 32 pages.

Would you like to be part of it?

If yes please send me the listing of your code, please comment it to make it easy to understand for the reader (beginner).

You could also write about the structure of your code and explain in depth your choice. Some screenshots of the sprite sheet would be welcome too. We could also have articles focused on game design, about the workflow, about iteration, etc.

I would like to translate the fanzine in as many languages as possible, I could do French and Spanish. All ideas are welcome.

Would be nice to have some illustrations for the cover and for some of the articles.

[ Continue Reading.. ]

25
59 comments


Cart #11511 | 2015-07-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15

A music cart. Feel free to use for anything, especially if you can think of a game that would be called Droid Boots.

There isn't yet a good way to copy music between carts, but if you save as .p8, you can paste the sfx and music data using a text editor.

15
7 comments


Will pico8 ever set foot into the scary realm of the internet?

By that of course I mean will socket support be added to pico8 so that our little games can go online at all?

I understand that socket support is more than likely being intentionally left out to keep in period with the aesthetic but can't help thinking how cool it would be if the little programs we make can go online.

The obvious problem would be with offloading processing of applications thereby turning pico8 into something it shouldn't be, but if sockets were properly limited as well, we could make some really cool stuff!

For instance, if you could simulate a low 'baud' rate or limit socket requests to once every 5 seconds with a small buffer size, or maybe even a choice between one or the other.

With this addition maybe I'd be able to write a BBS post from in-system instead of on the website. Or maybe just be able to watch my twitter feed!

3
7 comments


Cart #11490 | 2015-07-07 | Code ▽ | Embed ▽ | No License
16

Yo, got mesmerized by PICO-8 yesterday. Got into the tracker a bit, made a music cartridge.

If this ain't up to par I'll gladly remove and improve, as I don't wanna crap up this still small library of carts.

On that note: Tell me what you think!
I love this project and I'll gladly slide into the community like a cheesy slice of pizza.

16
6 comments


Cart #11462 | 2015-07-06 | Code ▽ | Embed ▽ | No License
67

Hello fellow pico-8-ers!

I was tinkering with this wonderful thing, it's magical.
My only minor curiosity so far is the palette color choices - not so much the limitations (I LOVE that part of the entire point so very much) but the specific color values that were chosen.

I'd be curious to hear:

  • info and opinions on the existing palette
  • your user experience dealing with the provided palette in practice, like the low/mid/high and shades you can make with it for example.
  • and for the devs: if it will remain fixed, or if the color values may potentially be modified in future, perhaps hardcoded into the file somehow so it's still fixed, just configurable. I understand if that's beyond the goals.

[b]Palette exploring

[ Continue Reading.. ]

67
18 comments


Cart #11461 | 2015-07-05 | Code ▽ | Embed ▽ | No License
25

A veeery old thing I did in 2013 when I didn't really know how to program yet.
I was bored in math class so I did this thingy on my calculator.

I pretty much copy-pasted the whole thing and applied a few fixes for pico8, but it's really the same old code (ewww...)
At the time, the thing blurted out a frame every 28 seconds. Needless to say I was REALLY bored.

nostalgia link to the original code
A friend of mine already adapted it for Love2D a while ago, with much better results (video).

For fun times, try doing what I first did when I wrote this code: setting elasticity above 1/2.

EDIT: oh, yeah, you can control the camera with the arrow keys and reset the cloth with x

25
8 comments


Cart #11454 | 2015-07-05 | Code ▽ | Embed ▽ | No License

Wanted to see how little I could add to the game beyond a tiny animation to indicate movement up or down. Think it came out playable at least.

Button 1 to fire/start/restart, up/down to move.

Shoot dudes!

3 comments


Cart #22937 | 2016-06-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
159


Every console needs a copy of this game!
Use Z or X to start the game.

Update 1.0.1:
Fixed bug where ghosts would get stuck.
Fixed bug where fruit would remain during the gameover sequence.
Added simulated AI bug.

Update 1.0.2:
Fixed death animation speed introduced from a runtime update. It's not perfect though since I have yet to figure out why it's even happening.

159
18 comments


Pico-8 doesn't support multiline comments anymore, eg:

print("Hello")
--[[
This is a
multiline
comment
]]
print("world!")
1 comment


Cart #11383 | 2015-06-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

This is a quick demo of cart data compression, in order to fit more gfx / maps / music / whatever on a single cart. It's not set up to be a useful tool yet, but you can adapt it if you're keen!

It comes with two functions: comp and decomp that can be used to compress a section of memory to another location, and then back again. You'd only need to include decomp() in the release version of your cart, which is around 95 tokens.

comp(source_addr, destination_addr, length) 
decomp(source_addr, destination_addr, length) 

If you'd like to try it on your own data to see what kind of compression ratios you can get, copy and paste the program into your cart and then change this line near the end:

len = comp(0x2000,0x6000,0x1000)

0x2000 is where to compress from (in this case, the map -- see pico8.txt and search for memory layout)
0x6000 where to compress to. In this case, the screen -- as a way to visualize what's going on
0x1000 the length of the data to compress. 0x1000 (4k) is the top half of the map.

So if you want to try compressing the first 16 SFXs (68 bytes each), use:

len = comp(0x3200, 0x6000, 68*16)

12
10 comments




Top    Load More Posts ->