Log In  

BBS > Community Superblog
All | Following | GIFs | Off-site

A little practice I did to get familiar with collisions and physics in PICO-8. :)

Cart #a0003-0 | 2021-04-18 | Code ▽ | Embed ▽ | No License
5

5
2 comments


Cart #impact_8-0 | 2021-04-18 | Code ▽ | Embed ▽ | No License
5


This is my attempt at translating the popular font Impact into a low-res version, covering P8SCII characters 16 to 153. All characters have a width of 5 pixels and a height of 7 pixels. A few characters also have a descender height of one pixel.

The font snippet can be copied by pressing X while playing the cartridge. The snippet can also be found in the source code, and right here:

poke(0x5600,unpack(split"6,6,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,31,31,31,31,31,0,0,31,31,31,31,31,0,0,0,31,31,27,31,31,0,0,0,27,27,4,27,27,0,0,0,27,27,0,27,27,0,0,0,27,27,27,27,27,0,0,0,8,12,14,12,8,0,0,0,4,12,28,12,4,0,0,30,6,6,6,6,0,0,0,0,0,12,12,12,12,15,0,27,14,4,31,4,31,4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,12,24,0,0,0,0,0,0,12,12,0,0,0,10,10,0,0,0,0,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,0,3,0,27,27,0,0,0,0,0,0,10,10,31,10,31,10,10,0,4,31,3,31,24,31,4,0,19,19,8,4,2,25,25,0,6,9,1,30,9,9,22,0,6,6,6,0,0,0,0,0,24,12,6,6,6,12,24,0,3,6,12,12,12,6,3,0,27,14,31,14,27,0,0,0,0,4,4,31,4,4,0,0,0,0,0,0,0,3,3,2,0,0,0,31,0,0,0,0,0,0,0,0,0,0,3,0,24,24,12,6,3,3,3,0,14,27,27,27,27,27,14,0,6,7,6,6,6,6,15,0,14,27,24,12,6,3,31,0,14,27,24,12,24,27,14,0,28,28,26,26,25,31,24,0,31,3,3,14,24,27,14,0,14,27,3,15,27,27,14,0,31,24,12,12,6,6,3,0,14,27,27,14,27,27,14,0,14,27,27,30,24,27,14,0,0,0,6,6,0,6,6,0,0,0,6,6,0,6,6,4,24,12,6,3,6,12,24,0,0,0,31,0,31,0,0,0,3,6,12,24,12,6,3,0,14,27,27,24,15,0,3,0,14,19,27,27,27,3,30,0,0,0,14,24,30,27,30,0,3,3,15,27,27,27,15,0,0,0,14,27,3,27,14,0,24,24,30,27,27,27,30,0,0,0,14,27,31,3,14,0,12,6,15,6,6,6,6,0,0,0,14,27,27,30,24,14,3,3,15,27,27,27,27,0,6,0,7,6,6,6,15,0,24,0,24,24,24,24,27,14,3,3,27,27,15,27,27,0,7,6,6,6,6,6,15,0,0,0,10,31,31,21,21,0,0,0,15,27,27,27,27,0,0,0,14,27,27,27,14,0,0,0,15,27,27,27,15,3,0,0,30,27,27,27,30,24,0,0,15,27,3,3,3,0,0,0,30,3,14,24,15,0,6,6,15,6,6,6,12,0,0,0,27,27,27,27,30,0,0,0,27,27,27,14,4,0,0,0,21,21,31,31,10,0,0,0,27,27,14,27,27,0,0,0,27,27,30,24,27,14,0,0,31,12,6,3,31,0,30,6,6,6,6,6,30,0,3,3,6,12,24,24,24,0,15,12,12,12,12,12,15,0,4,14,27,17,0,0,0,0,0,0,0,0,0,0,31,0,6,12,0,0,0,0,0,0,4,14,27,27,31,27,27,0,15,27,27,15,27,27,15,0,14,27,27,3,27,27,14,0,15,27,27,27,27,27,15,0,31,3,3,15,3,3,31,0,31,3,3,15,3,3,3,0,14,27,3,27,27,27,30,0,27,27,27,31,27,27,27,0,15,6,6,6,6,6,15,0,24,24,24,24,24,27,14,0,27,27,27,15,27,27,27,0,3,3,3,3,3,3,31,0,17,27,31,31,27,27,27,0,25,27,31,31,31,27,19,0,14,27,27,27,27,27,14,0,15,27,27,15,3,3,3,0,14,27,27,27,27,27,14,24,15,27,27,15,27,27,27,0,14,27,3,31,24,27,14,0,15,6,6,6,6,6,6,0,27,27,27,27,27,27,14,0,27,27,27,27,31,14,4,0,27,27,27,31,31,27,17,0,27,27,27,14,27,27,27,0,27,27,27,31,6,6,6,0,31,24,12,6,3,3,31,0,28,6,6,3,6,6,28,0,4,4,4,0,4,4,4,0,7,12,12,24,12,12,7,0,0,0,0,22,9,0,0,0,0,0,14,10,14,0,0,0,31,31,31,31,31,31,31,0,21,10,21,10,21,10,21,0,0,17,31,21,21,14,0,0,0,31,17,17,27,31,0,0,17,4,17,4,17,4,17,0,0,2,30,14,15,8,0,0,0,14,23,31,31,14,0,0,0,27,31,31,14,4,0,0,0,14,27,27,27,14,0,0,0,14,14,31,14,10,0,0,0,4,14,31,10,10,0,0,0,31,19,17,19,31,0,0,0,14,21,31,17,14,0,0,0,28,4,4,7,7,0,0,0,31,17,21,17,31,0,0,0,4,14,31,14,4,0,0,0,0,0,21,0,0,0,0,0,31,25,17,25,31,0,0,0,0,4,31,14,10,0,0,0,31,14,4,14,31,0,0,0,31,27,17,17,31,0,0,0,5,2,0,20,8,0,0,8,21,2,0,8,21,2,0,0,31,21,27,21,31,0,0,31,0,31,0,31,0,31,0,21,21,21,21,21,21,21,0"))

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=90764#p)
5
0 comments


Fireworks

Cart #drakeblue_fireworks-3 | 2021-11-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
17

Some fairly simple particle fireworks just for fun.
Press X to switch the screen effect on/off. For more about that see here: https://www.lexaloffle.com/bbs/?tid=41149

Every sixth of a second, 50-100 Particles are emitted at a random point on the screen with random angle/velocity determined by a tiny bit of trig. They're given colours in the top half of the PICO-8 palette (7+) and as the particles get old the colour changes according to the same mapping that the screen fade effect uses to a darker colour.
If they run out of life or become black then the particles are deleted.
There are two possible update functions for each particle - one with a wiggle :)

[ Continue Reading.. ]

17
3 comments


So I've just been thinking: wouldn't it be much more convinient to be able to "push" a new version of a cartridge to the BBS?

So I came up with three concept commands:

  • "PUSH"
  • "LOGIN"
  • "LOGOUT"

First, the login command. The syntax would be as follows:

LOGIN USERNAME PASSWORD

The screen would then be cleared and a login request would be sent to the BBS servers. If all goes well, then the login would be remembered until you logout. This would allow for things like viewing favourited cartridges and seeing them stored on other devices and on the BBS itself.

"LOGOUT" is self explanatory.

Now, the push command. It can only be used when a cartridge is loaded in memory. The syntax is as follows:

PUSH CARTID

CARTID being the normal ID, without the version(so "cart", not "cart-0" or "cart-1"). This would then execute the following steps:

  • Check if logged in

[ Continue Reading.. ]

3
1 comment


I've made a spike for cartriges to send http requests and receive their response.

The way it works is the cartrige communicates with the browser through gpio. In here I'm using 2 assumptions (I guess dangerous ones) that make it quite simple to send messages:

  1. We get synchronous interrupts from p8 -> JS when p8 writes to a GPIO.
  2. We read an analog value 0-255 in perfect accuracy.

So... yep, this code atm only works in a browser. And it might be posible that it breaks later on (specially for assumption 1, as it depends on the runtime implementation)

It's separated in two layers: The first one just abstracts over sending and receiving any message

html_messaging.lua

html_messaging={
  send_message=function(self, message)
    -- sends a `message` string to the host HTML
  end,

  add_listener=function(self, listener)
    -- adds the `listener` function to be called with receiving messages
  end,
  remove_listener=function(self, listener)

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=90761#p)
3
4 comments


Cart #dodge_em111-1 | 2022-07-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

My first game - find the key, then the door. Enemies chase you. You and enemies have momentum and simple physics, so you can dodge/juke the enemies to make it to the door. Updated for improved enemy AI. Updated again with new menu options.

0.9.5 - Improved enemy AI, and enemy attributes (speed, etc.) are randomized

0.9.7 - Improved enemy AI (again). If you beat level 15, it adds cheats to the menu: need-key-toggle, can-die-toggle and slomo-toggle

0.9.8 - Added ability to pick from one of these characters:

  • Barry - Slowest, but the most agile
  • Deon - Fastest, but the least agile
  • Devon - Between Barry and Deon for speed and agility

[ Continue Reading.. ]

3
3 comments


Hi, I'm very interested in getting pico, and I see that last year was on a sale in a bundle, so my question is.
does pico8 usually have this kind of discount? or is it something very unusual that can't happen again?

3 comments


With the excitement around the Alex Kidd remaster, I thought it would be a good time to remind people there is a DE-master of Alex Kidd right here in Pico 8 :)


4
0 comments


Cart #a0002-1 | 2021-04-17 | Code ▽ | Embed ▽ | No License
1

This is a little dodging game I worked on for about a month, and forgot to release it! :P But better late than never I guess. So here ya go!
I know this should go without saying but, DONT STEAL OTHER PEOPLES HIGHSCORES ON THE TABLE!
P.S. I am EBO on the highscore table. See if you can beat me! ;)

Controls:
Cursor Keys: Movement

Credits:
Highscore Table: lazydevs
Everything else: ME! :D

Update Log:
v1.1: Fixed bug with 32k limit
v1.0: Initial Release

1
0 comments


Cart #a0001-3 | 2021-04-26 | Code ▽ | Embed ▽ | No License
4

This is a little survival / building / crafting / resource collection game I worked on for a week or two. Hope you like it! :D

How to save your worlds:
Press Enter or P to pause the game, and use the cursor keys to select save.
that will save the map to your computer's clipboard.
Then to load a world, just copy the data to your clipboard,
pause the game, and use the cursor keys to select load!

Controls:
In Game:
Cursor Keys: Movement
Q: Menu
X: Mine
Y: Place
(You mine and place in the direction you last moved)
Menu:
Cursor Keys: Move Selection
X: Craft
Q: Exit Menu

Update Log:
v1.3
ADDED SAVING AND LOADING!!!

[ Continue Reading.. ]

4
6 comments


I was listening to Missile Command's music, and really liked it, so I decided to export it to a .wav . I selected patterns 0-19 and, in the terminal, type the command:

EXPORT MISSILECOMMAND.WAV

The result was, indeed, a .wav file, but played around a quarter of the first note of pattern 19. That's it. I'm quite annoyed since the menu music in Missile Command is very good, but that's not the point. The point is there's a bug.

1 comment


Cart #missilecommand0_8-0 | 2021-04-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
19

Controls

Trackball (or mouse) to move
A,S,D to fire bases

For a simpler game, just use X (or mouse click) to fire from the center base

Full mouse capture isn't available in the web player but I've compiled a Windows executable on itch.io:
https://pahammond.itch.io/missile-command

Missile Command: A Pure Arcade Game Demade

A think I played Missile Command once in the arcades in the 80s. I remember liking the idea but didn't have the skills ,or an abundance of loose change to improve, so I promptly gave up and moved on to something else.

Early in 2021, a late Christmas present from my wife arrived: Missile Commander by Tony Temple. It was a great read and I became mildly obsessed with Missile Command and decided to work on this Pico-8 version.

First I bought a trackball to get into the spirit or the original. Next I played the MAME version for a few days.

Researching an old game is part of the fun for me and thankfully I discovered this excellent "MISSILE COMMAND DEEP DIVE" article:
http://www.retrogamedeconstructionzone.com/2019/11/missilie-command-deep-dive.html

I'm pretty happy with the result. To me at least, it captures the spirit of the original. In a chunky 128x128 pixel sort of way anyway ;)

Enjoy.

19
5 comments


Cart #voroterrain-5 | 2021-06-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9


Another season, another terrain generator.

Below is an old version of the pipeline that was used for the generator. This has since been reworked a bit to add features.

  • Generate every possible syllable through structure "CV(n)" (Consonant, vowel, and an optional "n")
  • Pregenerate name with 2-5 syllables

  • Create n points and n/16 biome centres
  • Generate basic (polygonal) shape using voronoi
  • Apply "life" n/6.4 generations

  • Add name on screen

Tada! You've got yourself a basic map. You can also disable the "terrain" boolean to make it just generate a voronoi diagram, but that's boring and I don't need it so I leave "terrain" as True in the above cart. Feel free to play around though.

[ Continue Reading.. ]

9
7 comments


Cart #shoot2-0 | 2021-04-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment


Game Released, please see this-> post

Stage 1 and 2 of my R-Type pico-8 port, showing all game and graphic system working.
Music once again courtesy of the great @dhostin (YouryKiki) based on Masato Ishizaki's original score

What's new

Stage 2 and stage selector

Some players complained about the difficulty due to restricted play area so I made the following changes:

  • slower enemy bullets and fire rate
  • small tweaks to soem enemy placement
  • when you respawn, no enemies already onscreen

Since this is a tech demo, i left some debug options available:

  • press W to pause scrolling and become invincible
  • once invincible press S and F to scroll through the stage
  • D to show/hide collision boxes
  • Q to summon the force and change its type
  • E to change the force power

Transparent explosions!

Using PicoDraw routines for more graphic elements (weapons/UI)

[ Continue Reading.. ]

18
17 comments


Cart #console_wars_intro-0 | 2021-04-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

I decided to cover the "Console Wars" web series' intro tune, and make a little PICO-8 cartridge to go along with it. Since there's no real gameplay, I guess it's kind of like a demo, but it doesn't really stretch the PICO-8 capabilities in any noticable way or do anything impressive. Just a thing I did for fun.

2
0 comments


In 0.2.2c

poke4(dst,peek4(src,len))

takes 0% CPU. e.g.

poke4(0x6000,peek4(0x0000,2048))

to copy spritesheet to screen for free.

Can we rely on this behavior? (please)

5
1 comment


Cart #boule_de_neige-4 | 2021-11-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Hello, I did my first cartridge.
Better with controllers.

This game is a 2 player snowball fight. The 2 players are separated by a river, the game end when a player without shield is hit once, when a game finish a new game start automatically. Use ⬆️ ⬇️ ⬅️ ➡️ to move, 🅾️ to shoot. Players start with 5 ammo and gain 5 other when they pick up an ammo bonus. If a player is on a pile of snow, he can use ❎ to build a snowman, this take 0.5 second without move or shoot and the snowman's body (not head) block the way of player but he block the way of 20 snowball before breaking down. Each 3 seconds, a bonus fall along the river, hit it for gain it, there is 3 kinds of bonus:

[ Continue Reading.. ]

4
0 comments


I just found that the Shift + Enter shortcut doesn't work after the 'else' keyword. I know it was supposed to be context aware, I see it properly adds 'until' after 'repeat' which is nice, but this case seems to have been omitted in the update which makes coding slightly annoying.

I'm not sure if this is a bug or a (not so useful) feature, because it's consistent with the changelog which states that as of 0.2.2b:
> shift+enter in code editor only auto-completes block for DO, THEN, REPEAT or FUNCTION
and not ELSE. If this is intended I'll move the post to the workshop section as a feature request.

Version: 0.2.2c

3
4 comments


On my linux machine I use a window manager that swaps between tabs using win + tab number. PICO-8 treats win same as ctrl and if I have PICO on tabs 6 through 9 it makes screenshots, gifs and label images when I switch to (or sometimes from) it. In config there's an option to disable this functionality with function keys F6 through F9, but I would like it to work ONLY on function keys or just not recognise win as ctrl, though I might be the only one. Til then I'll keep PICO-8 on tab 5.

2
5 comments




Top    Load More Posts ->