Log In  

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

Cart #ruzerusunu-1 | 2021-09-30 | Code ▽ | Embed ▽ | No License

0 comments


Is it possible to request a username change? I emailed [email protected] about changing my username a few months ago and followed up a week ago, but I've gotten no response? Does anyone know another way of getting in contact with Zep?

1 comment


I wrote a script for Aseprite which takes the selected pixels (or the entire image)
and encodes it into PICO-8 GFX format, such that it can be pasted in the sprite editor or the BBS.

// i couldn't figure out how to arrange it in a cleaner layout, sorry

The script, and instructions on how to use it, can be found here: asep8 git repo

3
0 comments


Cart #orbital-0 | 2021-09-30 | Code ▽ | Embed ▽ | No License


Just finished this gravity simulator I've been using to test out some math for a bigger game! I programmed it to support more objects, but ran out of screen space and didn't feel like optimizing. Anyway, it looks cool nonetheless.

1 comment


Cart #squiddy-0 | 2021-09-28 | Code ▽ | Embed ▽ | No License
68

(click to expand)

Heeey, it's Squiddy! This is a game made in 1017 bytes for PICO-1k Jam, co-designed and pixelled by @castpixel (twitter). This is our second production as pod; you can find the first one here. Squiddy is also up on itch.

Technical Details

1024 bytes is an interesting size limit for a game; it's large enough to try for some relatively detailed game logic or visuals, but small enough that you need to execute some weird programming tricks and design pivots to get everything to fit. If you found this post because you heard that PICO-8 is a nice introduction to game programming, I apologize for the following code snippets! First up, here is the full source code for the game that includes the graphics and map data. It can be pasted into PICO-8 0.2.3 or later:

➡️=0t=8⬇️=7for x=0,3800do
➡️-=1if(➡️<1)➡️=2r=3⬇️=7-⬇️ while r>2do r=ord("○ュ?\0゜ョヤャ◝◝⁷ツん¹ュ=◝に◝+ンョャヤ○る³ユ\n <◝エ𝘤ムもにュよ◝トラ⁙⁴よ░²リムリᵇ³ト■𝘨○ワ;◝エらョ0\0pクシチ◜◝=ュoれ/ウワ◝モャいユ𝘪ゆ?=0◝cりdオトは⁷ト?⁵\0𝘴リ◆○☉6サ¹6ア?ュ◝❎。。ユユ◝ャヤ2v\0q○¹\0ワw3v\0001よ¹\0◝?𝘰v⁴ャ゜⁴ら█pタp⁵ュ?オ; <○○ヨ◝oに◝𝘰ュ?1░ろヲア◝ᵇp○\0s³ヲュひ\0|れツ◝リツ𝘰゜6ト⁴ュ?p◜◝モpᶜオん▶○◜ャ\r○𝘣◝▶トリに1◝⁷ョ_ンん゜ョょ737⬇️○ョ¹ュのら◜-エs○ユト⁴らメ\0³•~◝エろヨ/゜3\0な?𝘯ュ◝よ▮ラヨsクろ?リトンミエセろ⁵ᵇムり3オ◝𝘮rユ⁷ワ>pンᶠ゜シてン>ナレ◝𝘰⁙ュuワ◝シ◝1゛ュ4チ◝?◝◝𝘰\0゜ᵇユ◝エ◝4◀0○ ◝◝◝◝◝\0ら𝘬\0",t\8)>>t%8&3t+=2➡️+=r end
sset(x%95,x\95,⬇️)end
o=128w=256f=0r=4128🐱=cos ➡️=0
❎=64🅾️=r*2s=spr::_::t+=.03camera(❎,🅾️)map()v=0for i=0,t/2do
x=i\32y=i%32v/=2v+=sget(r%o+x/4,r\o+y/4-🐱(i/870)/2)&4mset(x,y,v)p=i%4y=i\4*5%31
if(mget(x,y+1)==4)s(0,x*8+🐱(p/4-t),y*8-p*4)
if(r%5==2and i<o)s(i&2,-t*i%w,i*i%w+🐱(i/9+t)*3)➡️-=1>>12
end
if(r==4136)s(8,92,112,5,5)
s(20,o+🐱(t/2)*9,90+r+🐱(t)*5,1.5,2)b=btn()n=b&32f=f/2+n/20k=b%4\2-b%2if(f>n)➡️+=f*k ⬇️-=f f=0
❎+=➡️ 🅾️+=⬇️ ➡️=-➡️ ⬇️=-⬇️?"ᶜe\^wfin ♥",108,60+r
if(mget(❎/4,🅾️/4)<1)➡️*=-.95⬇️=.05-⬇️*.9
r+=(❎\o+🅾️\o*o)*8❎%=o 🅾️%=o
s(16+(f&2)+k%2*32,❎*2-8,🅾️*2-8,2,2,k<0)?"⁶1⁶c"
goto _

Sprite Storage

Here's the 95x40 spritesheet (hidden for spoilers).

[ Continue Reading.. ]

68
21 comments


Test, hello!

A small game

Cart #galliumtest1-2 | 2021-09-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

0 comments


It is possible to write a string (for example for a hiscore-table) to the memory with:

poke(0x5e00,ord("hallo",1,5))

but this:

? chr(peek(0x5e00,5))

doesn't work, because chr only accept one value.

2
2 comments


I'm trying to make the line move when variable "g" increases

function _init()
  g=1
end

function _update()
  if (btn(2)) g+=1
  if (btn(3)) g-=1
end

function _draw()
  cls()
  circ(64, 64, 20, 7)
  x = 64 + cos(g()) * 20
  y = 64 + sin(g()) * 20
  line(64, 64, x, y)
  print(g)
end

If anyone has any tips for me, or a good sin() cos() tutorial, it would be a great help.

2 comments


by Meep
Cart #ccbtt-0 | 2021-09-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
55

by Meep

🎵 Music by RubyRed
🗺️ Maps by Meep, gonengazit, taco360, RubyRed, Lord SNEK, Beeb, and cominixo

A fan-game of Celeste Classic
by Maddy Thorson
and Noel Berry

[ Continue Reading.. ]

55
11 comments



This cart is a study for making a shooting game like Gradius.

Z:Shot
X:Change weapons

1
0 comments


There seems to be an odd interaction between shorthand if, an end from another loop and shorthand print. (whether the if is true or not doesn't seem to matter)

When arranged like this:

for do

if(true)end

?"⁶1⁶c"

or without the if statement:

for do

end?"⁶1⁶c"

it works fine.

But, putting the if statement, the for's end, then the shorthand print on the same line makes PICO-8 put the print statement INSIDE the for loop, so this:

for k,i in pairs(n) do

if(true)end?"⁶1⁶c"

is translated into something like this by the interpreter:

for k,i in pairs(n) do

  if true then
  end --(for's end, becomes if's end at runtime)

  print("⁶1⁶c")

end --(if's end, becomes for's end at runtime)

...with the p8scii flip()cls() being run on each loop!

[ Continue Reading.. ]

3 comments


Cart #zefnuis-1 | 2021-09-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


Press 'x' or 'c'

5
0 comments


Cart #cursedconsole-0 | 2021-09-29 | Code ▽ | Embed ▽ | No License
10

Plot

Oh mighty @zep, a quest for thee: to fix this bug in oh-two-three.
Time's very fabric has been torn, and monsters from the past reborn!
A pumpkin army's impossible roll befouls our once cozy console.

Its humbled clock refunds too much, permitting Cauldron's villain's touch.
Relentlessly they spin and taunt, they dare thee to remove their haunt.
Please help us take our console back and save us from their cycle hack!

Their jeering eyes provide the clue, all stars show what you must do.
A table's count below sixteen, as low as any number's been,
Negate it and they'll mock you more... the wellspring of this wretched flaw!

About

An entry in 1023 chars to the #pico1k jam. See

[ Continue Reading.. ]

10
2 comments


Arena Shooter

Cart #bosihewisi-1 | 2021-09-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Destroy the spawning enemies and defeat the boss at the end of each wave. This is an endless top down arena shooter. It features:

  1. Four enemy types and a boss. Each with unique attacks.
  2. Bullet lock controls (hold fire to keep shooting in current direction)
  3. Ghost control - press the other button to ghost through enemies and walls and get a speed boost. Ghosting also reloads.
  4. Defeat the boss at the end of each wave for big scores.
  5. Bottom left shows you wave, and countdown to the boss appearing.
  6. High scores.

Good luck! This started as a bit of an experiment for some control schemes for a platformer...and ended up this. It could use a bit more polish- but for this project, I'm moving on. I might come back to it one day and add a few more boss types and polish.

[ Continue Reading.. ]

3
0 comments


Cart #rainier-7 | 2021-12-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
31

A Celeste Classic mod built on Evercore 2.0.0

Thank you Masakado, FlyingPenguin223, Kamera, lark, Rav, and TheYeeter49 for playtesting and giving feedback, the Celeste Classic Discord community, and especially Sparky9d for helping with a bunch of code since I utterly suck at code

31
16 comments


Hi guys.
I have an enemy that moves towards the player.
I have the usual set up with DX, DY, X, Y. Where X and Y are the co-ordinates of enemy, DX & DY are the direction of movement.
I thought it would be good to have it set up like this:

e.dx and e.dy are the enemies dx and dy.
e.x and e.y are the enemies x and y cords.

plyr.x and plyr.y are the players co-ords...

If the plyr.x MINUS the enemy.x is a positive sign in the result, move the dx 1 or right.
If the plyr.x MINUS the enemy.x is a negative sign in the result, move the dx negative 1 or left.

If the plyr.y, minus 2 (so the enemy is slightly higher) MINUS the enemy.y is a positive sign in the result, move the dy 1 or down.
If the plyr.y, minus 2 (so the enemy is slightly higher) MINUS the enemy.y is a negative sign in the result, move the dy -1 or up.

e.dx=sgn(plyr.x-e.x)
e.dy=sgn((plyr.y-2)-e.y)

This works very well and I was pleased with myself for shortening the code.

However, my problem is (especially on the y) that if the enemy and the player are the same y value, the enemy wiggles up and down and the sign of the maths goes -1,1,-1,1,-1,1,-1 etc...

[ Continue Reading.. ]

1
4 comments


Cart #freecell1k-0 | 2021-09-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

Free Cell, in 1022 characters of code, and no sprites! twitter | itch

CONTROLS:

  • click and drag cards around
    • you cannot move stacks of cards; one at a time only!
  • stack descending cards of alternating colors in the main play area
    • any card may be placed in an empty column of the main area
  • store any card in the four "free cells" at the top left
  • make a stack of each suit A->K in the top right to win
  • reset the cart to start a new game

ONE AT A TIME?

You can only move one card at a time; if you want to move a stack of cards you have to take it apart and put it back together manually. This is different from "standard" solitaire, and it makes Free Cell particularly interesting! It also makes the implementation a bit easier to fit into the tiny code-size constraint ;)

[ Continue Reading.. ]

12
3 comments


Cart #constantcompanion-8 | 2022-09-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
27

controls:

This is a niche tool to help you save characters when writing carts that are codesize-constrained.

  • type in a number; press enter
  • then press up/down and ctrl-c/enter to copy a code
  • navigate back up (or press backspace) to start typing a new number

Example: 0x6000 can be written as 0x6000 (6 chars), 24576 (5 chars), 6^13 (4 chars) or ⌂-🐱 (3 chars!)

The tool sorts the results by character count (on twitter), so the top results are your best bet.

Update: The latest versions of pico8 have special P8SCII codes for poking which are often fewer characters than calling poke directly (even after using this tool). e.g. ?"\^!5f10249?" instead of poke(0x5f10,50,52,57,63). Consider using that instead! But this tool might still be useful sometimes, and at the very least, it's an interesting artifact.

[ Continue Reading.. ]

27
7 comments


it's my fnf mod that on my youtube channel tube 4 months of development

1
0 comments


Cart #sparkleteam-0 | 2021-09-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

This is a half-completed demake of the Sega Genesis title Shining Force. I played the game for the first time early this year, and I found myself fascinated with the turn-based battle system. My biggest annoyance with Shining Force was that characters take a movement turn on the map, then combat takes place in a battle screen for only one turn. As enjoyable as it is to see higher quality graphics of the characters and terrain on the battle screen, there's a lot of time wasted moving between the two views in larger battles. I decided to write a similar battle system, but have all combat take place on the map instead.

Here's how combat works: Characters on the map are sorted by their speed to determine turn order, then each character gets a movement and action turn. Playable characters have HP and MP bars that appear at the bottom of the screen during their turn. Depending on their class, a character may have ranged or melee attacks, as well as one or more magic spells. There are also potions hidden on the map, which characters can pick up by standing on them, and can drink as an action. There isn't a win condition implemented, but I found it fun to try and get my party to the castle in the center of the map while testing the mechanics.

[ Continue Reading.. ]

3
2 comments




Top    Load More Posts ->