Log In  

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

Currently doing an Adafruit PI GRRL build. So far Pico-8 is running great on the RPi 1! My plan is to include it in an emulation station menu - but I haven't found a good way to quit Pico-8 itself without a full keyboard.

My suggestion would be to simply add this to the splore menu.

3
7 comments


Cart #23606 | 2016-06-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

This is my first attempt on creating a game using PICO-8 within 24h.

The goal is simple: your character need to eat the good pills, knowing that the pill should be of the same color as the character.

  • Use Left and Right arrow keys to move the character, and Down arrow to Speed up the Pill
  • Use X and Z keys to change the character's color
  • Put you under a pill to eat it

Have fun!

2
4 comments


Cart #23614 | 2016-06-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
2 comments


Cart #23589 | 2016-06-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

4
2 comments


Cart #23752 | 2016-06-27 | Code ▽ | Embed ▽ | No License
48

EDIT: fixed bug and added title screen
old version:

Cart #23572 | 2016-06-24 | Code ▽ | Embed ▽ | No License
48

recommended soundtrack

This is a shabby prototype of a combat system.
I suppose the main influences are Ocarina of Time and Golden Sun.
Maybe the over-the-shoulder perspective is heresy on a platform like this, I was thinking it's a bit like pokemon though.
I think the most interesting feature is the way your mobility is limited. your position is locked to north/south/east/west and you can move between a near/far plane, like this:

[ Continue Reading.. ]

48
12 comments


It would be great if it was possible to draw in the sprite and map editors using only the keyboard (i.e. without requiring the use of a mouse/touchpad). With sprites being only 8x8, I find myself wanting an easy way to precisely move the cursor by one pixel at a time instead of the inherent looseness/analogueness of a mouse/touchpad.

I also think in general it might be thematically fitting for all of PICO-8's editor modes to be completely useable without requiring a mouse, to be similar to older computers for which mice were either optional peripherals or not present at all :)

3
6 comments


Cart #sosunuzuwe-0 | 2019-05-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
26

Update 2019-05-13: Use the "Enter Menu" to "load" some code examples.
Update 2017-05-14: The sonification can be switched off :-) (or rather, you need to explicitly turn it on in the X-menu).
Update 2017-05-05: Added crazily sounding sonification.
Update 2017-04-24: Made the UI a bit more clear and fixed some bugs.

TL;DR:

Hold X, pres DOWN once, release X, and watch the nerdy numbers fill your screen.

MORE INFO

Hey all, I made a very simple visual IDE for writing and running code in Urban Müller's Brainfuck programming language. https://en.wikipedia.org/wiki/Brainfuck

Top part of the screen is your code.
Bottom left is your memory.

[ Continue Reading.. ]

26
5 comments


Cart #23545 | 2016-06-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

First version done in one night.
I'm pretty surprised by what can be done with PICO-8 in so little time.

3
1 comment



Just a test of how much game I can write on a single commute. Missing: collision, attract screen, score, sound.

0 comments


Just wanted to make sure I understood how things worked before diving into it too deeply.

So I understand the idea behind the pattern editor, I've used it to make short sound clips and stuff (and then these are obviously arranged within the music editor to make different instrument tracks, etc)

From what I can tell at a surface glance though, is that the music editor only supports one song. Is that correct? I get the impression that I can set the loop start/end points to choose between different pattern sets to allow for multiple songs (eg 0-7 might be song 1, 8-16 could be song 2, etc). Additionally, I assume that I can create my own pattern arrangements on the fly by means of poke()

Anyone know for sure?

1 comment


Cart #23514 | 2016-06-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

Bezier curve drawing! Z/X to change nodes, arrows to move the node around.

5
0 comments


Is there any way to rotate or flip a sprite map?

I have a platformer room that is a sprite map but want to be able to rotate/flip the map so I can get several rooms out of a single drawn room.

My alternative is to use the map as a blueprint and then just draw the sprites myself in the loop at coordinates so I can rotate them that way, but sounds like quite a bit of effort (for me and the P8). So hoping I can manipulate the sprite map somehow.

7 comments


Hi,

The other thread about converting numbers to hex strings got me wondering if it was possible to do the same with fixed point data. (I did try searching here first but didn't find anything about this specifically)

I wrote a quick test to dump the bits out, but for floats I'm not sure where to find the fractional part. I figured it'd be in the top byte, but as the last test shows, it's not there (or my code is wrong). Is it possible to get at this data?

Thanks

function convert(value)
  local binary = ""
  for i=1,16 do
    local shift = shl(1,i-1)
    binary=abs(shr(band(shift,value),i-1))..binary
  end
  print("convert "..value.." to binary:")
  print(binary)

  local integerval = 0
  for k=1,16 do
    local str = shl(sub(binary, k, k),16-k)
    integerval += str
  end
  print("and back again: "..integerval)
  print("")
end

function _init()
  cls()
  convert(0xc0de)
  convert(12345)
  convert(3.14159)
end

[ Continue Reading.. ]

4 comments


I'm trying to make a platformer that just uses pixel colors as a way to check for the ground/walls of a level, no sprite flags. At first it seems to work, the guy (stick) moves left/right and jumps on the initial ground just fine. But then when you jump up on the platform to the right and either walk or jump off back to the left, he sinks into the ground.

by
Cart #23455 | 2016-06-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

See code below, but what I'm doing is checking the pixel immediately below the stick to see if it's a ground color and if so, stop applying the gravity. Seems simple enough...made sense to me but I'm clearly missing something.

I'm happy with the jumping action, it's nice and smooth and such but landing seems to be an issue. If anyone has suggestions for my code or just insight in general, I appreciate it. Making a platformer is new to me...I usually make shmup games :)

NOTE: Code as-is is not checking for left/right collisions, just ground for jumping.

t=0
colors={wall=7,air=0,player=8}
debug=false

--
-- player
--
positionX = 40;
positionY = 89;
velocityX = 2;
velocityY = 0;
gravity = 0.5;
onGround = false;

function _update()
    btnright=btn(1)
    btnleft=btn(0)
    btnjump=btn(4)

	--horizontal movement
    if btnleft then positionX-=velocityX end
    if btnright then positionX+=velocityX end

	if positionX>127 then positionX=127 end
	if positionX<0 then positionX=0 end

    --jump, apply velocity
    if btnjump and onGround then
        velocityY = -3.5;
        onGround = false;
    end

	--calc in gravity and add to Y
    velocityY += gravity;
    positionY += velocityY;

	--check pixel below player to see if it's a wall color
	local below=flr(positionY+1)
	if pget(positionX, below)==colors.wall then
        positionY = below-1;
        velocityY = 0;
        onGround = true;
    end

	debug=pget(positionX, below)

    t+=1
end

function _draw()
    cls()

    line(positionX,positionY, positionX,positionY-2, colors.player) --draw stick up from foot
	pset(positionX,positionY, 10) --foot

	--ground
    rectfill(0,90, 128,128, 7)
	rectfill(100,82, 128,128, 7)

    print(debug,0,120,1)
	print(positionX..", "..positionY, 90,120,2)
end

2
11 comments


Lua's standard library has a pair of handy functions called "tonumber()" and "tostring()", but they don't seem to be present with Pico8, which is unfortunate. I realized that you can get a lot more storage space by using strings, rather than sprite byte encoding, but passing it back into usable number data is challenging.

At best, I've got this so far:

function str2hex(str)

  local dd={}
  dd["0"] =  0 dd["1"] =  1
  dd["2"] =  2 dd["3"] =  3
  dd["4"] =  4 dd["5"] =  5
  dd["6"] =  6 dd["7"] =  7

  dd["8"] =  8 dd["9"] =  9
  dd["a"] = 10 dd["b"] = 11
  dd["c"] = 12 dd["d"] = 13
  dd["e"] = 14 dd["f"] = 15

  local obj={}
  for i=1,#str do
    obj[i]=dd[sub(str,i,i)]
  end

  return obj

end

[ Continue Reading.. ]

2
14 comments




I've made a simple Cellular Automata generator as my first PICO 8 cart.
You can change the generation rule by modifying the rule variable at the beginning of the code.
More details about Cellular Automata can be found here

Any comments are welcome.

2
0 comments


Working on a little demake of MinerVGA.

Currently sitting at 15 ore types, 488 tokens, and 1 sprite page used. Most of the ores are loaded via peek() at sprite data. I want to keep it to one sprite page and 0 map pages, but we'll see how much I get done.

3
5 comments


Hey guys thought I would post this here as I think the answer will help other too:)
Basically I want to make a function that approaches any number in as big chunks as possible. Like this:

Speed = approach (target number, amount to move by)
So speed = approach(0, 0.5)
If speed was 0.4 before I want it to hit 0 and not -0.1

So if speed was a higher number like 7 every frame till it hits the target 0 it would take 0.5

Really useful for making velocity and stuff feel good :)
Any help very much appreciated :)

1
13 comments


Cart #23402 | 2016-06-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

A fun little toy/demo displaying some maze algorithms.

Note the mazes generated are perfect mazes, meaning they have exactly one path from any point to any other point inside the maze. They're not so useful for making games without some adaptation.

Algorithms:

Binary tree: at each cell, decides to go either down or right. Produces a bias towards diagonal movement and obvious lines at the bottom/right.

Sidewinder: goes along a run of cells horizontally, then adds one passage downwards. Tends towards vertical movement and obvious line at the bottom.

Aldous-Broder: random walk filling in cells as they're visited. Produces a totally unbiased maze (assuming rnd() is unbiased) but can be slow at the end.

If you're interested in the topic I recommend this book (that I got the idea/algorithms from): Mazes for Programmers.

5
4 comments


Cart #23399 | 2016-06-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Fireworks simulation in less 200 tokens !

8
3 comments




Top    Load More Posts ->