Log In  

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

Cart #ceaseless1-0 | 2024-03-22 | Code ▽ | Embed ▽ | No License
7

The blocks will fall forever. Run, wall-jump and climb as high as you can before you're crushed or trapped! Unlock more levels by reaching certain heights, and collect coins to unlock hats! Later levels introduce greater challenges and new block behaviors where you will need to develop unique strategies to succeed.

Try the first three levels to master your tower climbing in the free version!

Purchase and download the full version at itch.io!

The full version has 9 more levels and 16 more hats to unlock.

CONTROLS:

Keyboard:

  • arrow keys to run, climb, and change levels in the title menu
  • the 'Z' key to jump or start a level from the menu

[ Continue Reading.. ]

7
1 comment


Cart #murder_drones_virtual_training-3 | 2024-03-25 | Code ▽ | Embed ▽ | No License
17

This is a hard action-platformer fangame based on the Murder Drones indie animated series by GLITCH.

You play as a new disassembly drone that has to complete his training in a virtual environment.

Controls

  • Arrow keys to move.
  • [X] to flutter.
  • [C] to shoot and detonate rockets (when available).
  • [↓] to perform a dive maneuver.
  • [Enter] for additional options.

Credits

  • Autopawn (Discord: autopawn)
  • Remi Mixer (Discord: remimixer)
  • Crjönch (Discord: crjonch, Twitter: @Slimyappraisal)
  • Miszuk (Discord: miszukuwu)

[ Continue Reading.. ]

17
7 comments


Hi, I was experimenting with a way of making a multiplayer game on Pico-8 (on different cartriges to have more screen space).
So I was looking for a way to communicate from the cart to the host OS, I know it's possible to inject and retreive data on the web exports with javascript but I'm trying to find a way to do it localy .

I have tried that code:

cls()
i_channel=0x804
o_channel=0x805
input=''
output=''

function _update()
	local nb=0
	repeat
		nb=serial(i_channel,0x8000,0x1000)
		for i=0,nb do
			input..=chr(peek(0x8000+i))
		end
	until nb==0

	if (btnp(⬅️)) output..='⬅️' stdout('left ')
	if (btnp(➡️)) output..='➡️'	stdout('right ')
	if (btnp(⬆️)) output..='⬆️'	stdout('up ')
	if (btnp(⬇️)) output..='⬇️'	stdout('down ')
	if (btnp(🅾️)) output..='🅾️'	stdout('𝘰 ')
	if (btnp(❎)) output..='❎'	stdout('𝘹 ')
end

function _draw()
	print('\^rf'..output,2,2,7)
	print('\^rw'..input,66,2,13)
end

function stdout(str)
	for i,c in pairs(split(str,'')) do
		poke(0x9000+i-1,ord(c))
	end
	serial(o_channel,0x9000,#str) 
end

it uses the stdin and stdout of the cart to read and write into files when called like this:
> pico8 < input_file.txt > output_file.txt -run mycart.p8
The problem I ran into is that I can't use the same file for the input and output.

My best attempt was to use a pipeline to redirect the stdout of a cart to the stdin of another one like this:
> pico8 -run mycart.p8 | pico8 -run mycart.p8
The problem here is that a strange thing is happening, the first cart boots and works fine but the second one freezes until the first one is shutdown. Then it works as intended, I get the output from the first cart. But I am not able to make the to instances of the cart run at the same time and communicate.

Any idea how to pull it of ?

1
8 comments


If you use the command line to set the value of a variable and then attempt to select a pause menu option where menuitem's callback function returns true (that is, an option that's supposed to keep the menu open after selecting), the game crashes with the message "attempt to call upvalue '_superyield' (a nil value)"

1
0 comments


Cart #cmtn-0 | 2024-03-23 | Code ▽ | Embed ▽ | No License
6

This is a retexturing of Captain Neat-O in the Time Nexus by @paranoidcactus, done by my little brother. He wanted to show it off. Get to the final boss to see who it is! :)

6
1 comment


A tool to help with print debugging based on the Python package IceCream. There's already a Lua version of IceCream but it won't work with Pico-8/Picotron as far as I know. I've called it db for debug rather than ic but it's very similar in concept.

You can download the code here or copy/paste below:

db.lua [hidden]

----------------------------------------------------------------------------
-- print debugging based on IceCream for python
-- pico-8 lua version by jason delaat
do
   local ignore = {}
   local lookup = _ENV
   for k,_ in pairs(_ENV) do
      ignore[k] = true
   end
   local function format_arg(value, env)
      for k,v in pairs(lookup) do
         if v == value and not ignore[k] then
            return 'db: '..k..'='..tostr(v)
         end
      end
      return 'db: '..tostr(value)
   end

   local db_meta = {
      __call=function(self, value, log)
         if db.display and log then
            print(log)
         elseif db.display then
            print(format_arg(value))
         end
         return value
      end
   }
   db = {
      display = true,
      local_env = function(t)
         lookup = setmetatable(t or {}, {__index=_ENV})
         return lookup
      end,
      reset_env = function()
         lookup = _ENV
      end,
      wrap = function(f)
         local fn = sub(split(format_arg(f), '=')[1], 5)
         _ENV[fn] = function(...)
            local log = 'db: '..fn..'('
            local result = f(...)
            for a in all({...}) do
               log ..= tostr(a)..','
            end
            log = sub(log, 1, -2)
            log ..= ') --> '..tostr(result)
            return result, log
         end
      end
   }
   setmetatable(db, db_meta)
end
----------------------------------------------------------------------------

\

[ Continue Reading.. ]

1
0 comments


I get occasional crashes when using the new feature to remap the spritesheet to the extended memory. Can't reproduce reliably. But documented in this video at 15:38. No error message. Just a clean crash to the desktop. Using Windows 11 Pro.

6
1 comment


In version 0.2.6B merge_joysticks 2 doesn't work as described.

Expected behavior: Gamepad 0 and 1 would control one player (P0)

Actual behavior: Gamepad 0 controls two players (P0 and P1)

Documented in this video at timecode 32:11

4
0 comments


Cart #easygems-0 | 2024-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

just doing this post for splore bc i forgot to do it right lol
(that's how you can tell im new here)

2
2 comments


Hello everyone!
I bought PICO-8 some time ago but only recently decided to actually learn it.

One (of many) thing that got me a little confused is the order and speed execution.

The code below shows the text on screen:

function _update()
	cls()
	print("hello",64,64,11)
end

However, if I change the code as bellow, the text does not show anymore:

function _update()
	print("hello",64,64,11)
	cls()
end

What I got from this is: on the second code, since the last command being processed is the cls(), then the screen ends up 'blank'.

But what makes me confused is that I thought since pico-8 runs on an endless loop the cls() and print() will always be called one after another, so I don't understand why in one order the print() is the 'final' and in the other, the cls() is.

Can anyone help me understand this better?
I couldn't find anything that explained this behavior (maube because it's too basic, but since I'm new to this it doesn't make sense to me).

2 comments


Cart #picketpuzzle-10 | 2024-03-24 | Code ▽ | Embed ▽ | No License
35

Picket Puzzle

Trailer

The picket line swells as factory after factory walk out on strike. For the exploited and the oppressed of the world, this is the moment -- but time is short. The arms of the state are mobilizing to halt your advance. Can you lead the workers to victory?

As strike captain, you must learn how to overcome obstacles, deal with police blockades, seize government buildings, and win the army over to your side. Brute force will not work here, instead you must think clearly and creatively to succeed.

Once you've started on the road of revolution, there's no turning back!

Gameplay

Unique snake+sokoban puzzler with lots of clever mechanics in the mix:

  • Factories add workers to the picket line
  • Soldiers can be won over to your side, but only when surrounded
  • Police block your path unless you have enough workers to push them back
  • Radio Towers take control of the enemy troops - for just one step
  • ... and more!
  • 40 levels that challenge your creative puzzle solving skills.
  • Forgiving design: turn-based gameplay, play levels in any order, infinite undo.

Stuck or confused? Here's a manual explaining all the mechanics: https://docs.google.com/document/d/1-xpxwokgk4aULF7_pv95NIb4ZjaCMkbPgcJhC0xAQh8

35
8 comments


I've spent two hours fixing a nasty bug. The image above is essentially the bug I was trying to fix, except all the steps were spread in three functions, and took a good minute of playing on average before everything aligned just right (or just wrong depending on how you look at it) for it to seemingly randomly occur.
Can you figure out why t[2] is not 8 in the end ?

Hint : Lua arrays and # operator are cursed.

Ideally, I'd like the game to crash at t[i]=8 if possible. Anyone knows if you can add some sanity checks to all array accesses ?

1
6 comments


Cart #goat-2 | 2024-03-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
37

Goat is a curious, little goat (shocking) who lives peacefully in the mountains. One day, she had an accident and ended up landing on the top of a haunted tower. A tower that would try to kill her with all its means...

Help Goat to survive by charging rocks and trees and dodging dangerous spiky trees and fire balls. Watch out for Goat's stamina level (pink top bar) as she runs out of energy quickly. Recharge her batteries by picking up stamina balls. Use super power when you're in trouble or running out of energy.

Can you get to the end and save Goat?

Controls

  • Arrow keys: move & charge objects

[ Continue Reading.. ]

37
7 comments


Hi all,

I've been working on a release of a paid pico-8 cart, but I will be releasing a demo version as well. This may be out of the ordinary, I know, but lets pretend it's a good idea for a moment.

So, with the demo being playable in the browser once it's public on itch.io and here, it feels awkward to not have a straight-forward way to provide a mobile full-version as well.

I'm worried this would be a bit complicated for most users, but... my best idea is to suggest the use of a 'Simple HTTP Server' app to host the index.html and js file locally. I found this app worked great and was relatively simple to use: https://play.google.com/store/apps/details?id=com.phlox.simpleserver

With this app (and its default settings) you copy the index.html and JS file into the directory specified in the app, hit the start button, and then use you web browser to navigate to 127.0.0.1:8080.

I have no idea if there's something similar available for an iPhone.

I hear there are PICO-8 cart player apps available too, but I didn't spot one after a brief search on the play store. Is there something simple available out there I can suggest as well?

[ Continue Reading.. ]

0 comments


Here's a couple of tweetcarts I've made. Nothing too crazy (compared to the other insane tweetcarts I've seen here).

Cart #spiraltweet-0 | 2024-03-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6


I was messing around with spirals and found some interesting patterns. Every once in a while, the arms of the spiral align and they even count down (6 arms, then 5 arms, then 4...). If you enable line mode, it creates shapes with the corresponding amount of sides (hexagon, pentagon...)

X to toggle line mode
C to stop spinning
Up/Down to speed up and slow down
Right/Left to step forward or back (most useful when it's fully stopped)

Cart #flappytweet-0 | 2024-03-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

[ Continue Reading.. ]

6
1 comment


Cart #pico8gol-0 | 2024-03-21 | Code ▽ | Embed ▽ | No License
1

It's Conway's Game of Life in PICO-8! The game board is randomized (you cannot set pixels for now) but you can try different tile sizes and speeds (the "speed" is the number of frames before refreshes...). There are some performance issues at full scale. Enjoy!

1
2 comments


it gives syntax error near function
syntax error
attemt to call a string value

Cart #diheyekh-0 | 2024-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

1 comment


Cart #tohanejoja-0 | 2024-03-20 | Code ▽ | Embed ▽ | No License

0 comments


function _draw()
  cls()
  print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") -- 19 newlines
end

costs 0.1 cpu according to ctrl-p.
however,

function _draw()
  cls()
  print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") -- 20 newlines
end

costs 0.47 cpu. Each additional newline after that adds around 0.46 cpu usage. This happens with seperate print calls as well. Supplying coordinates to the print call will prevent the cpu from spiking. Note that the 20th newline is when print will scroll the first line off the screen.

1
4 comments


Cart #overlyeasyrunnr-1 | 2024-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

  • is this game a runner? YES
  • is it easy? YES
  • is it a good game? NO
  • IS OVERLY EVEN A WORD!?!?!? NO!

idk this is literally my first game and I didn't really use any instructions.
enjoy (kinda)

2
7 comments




Top    Load More Posts ->