Log In  

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

Cart #charlieold-0 | 2025-07-29 | Code ▽ | Embed ▽ | No License

Cart #charlie4-3 | 2019-04-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Charlie is back from the research lab! Now he can lock the brain into keys and scales. He will still have to teach his neural network (music brain) how to make musical sounds.

When he starts the machine for the first time, it will make a random sound or maybe nothing at all. To hear the sound of this brain again he can press the green PLAY button in the upper left. To reward the machine for playing something sort of musical, he can press the red LEARN button. This will modify the brain and a new sound will play, usually similar to the first but not always. If the new sound is still "musical," he can press LEARN again to get more creative. To save this brain to the cartdata, he can press the gray SAVE button. To randomly reset the brain's concept of music, he can press the blue RESET button.

[ Continue Reading.. ]

8
5 comments



So this was a quick project made for mouse and keyboard functionality in future projects. Hopefully someone out there will find it useful for them as well! Below is a "Features" list which also serves as a guide that explains how it works and how to utilize it, as well as some notes about particulars. Enjoy!

Features:

Keyboard and Mouse state monitoring through the use of _keyboard() and _mouse() functions in the update step.*See below.

Currently Pressed Keyboard Key is stored in _kbk.

[box=111111]A keyboard string is stored in _kbs and sent to the "terminal," or _kbt, when return/enter is pressed. Afterwhich kbs is cleared.

[color=#ffaabb] [ Continue Reading.. ]

1
2 comments


Hey,

I'm trying to prepare a pico-8 web export that won't start up the game until the user has pressed a button. This is useful for determining whether to display a touch interface or a desktop interface based on the type of event we get.

My current solution is to dynamically add the game script tag to the document after the user clicks. This is working on my Android device but it seems to have issues on my friend's iPhone - there is no sound! I believe the problem is that the audio is taking too long to start after the button is pressed, so the iPhone browser believes the page is trying to serve audio that wasn't initiated by the user, and blocks it.

The ideal solution would be to add the script tag to the HTML document without any fancy async script loading, so the game parses and prepares immediately, but to just defer the part where the cart actually runs until I emit some kind of event to say "ok, you can play the cart now." I was having trouble finding a way to do this. Is there any documented (or undocumented) method I may have missed?

I noticed the Module object can use an array of "preRun" callbacks but there doesn't seem to be any obvious way to defer execution.

1
4 comments


Cart #51245 | 2018-04-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

Super simple solar system. Left/right to adjust time, up/down to adjust zoom.

This is a port of an orrery I wrote in C++ back in 2003 or so. It was fun trying to cram it into the Pico-8, with its limited numeric precision.

Printing the date proved to be more of a challenge than just about anything else. I haven't tried to write the reverse function yet (year/month/day to Julian day number) so the cartridge just starts up somewhere near the beginning of the current year.

Not recommended to plan horoscopes or Mars missions with this thing, but compare it with https://ssd.jpl.nasa.gov/?ss_inner or https://ssd.jpl.nasa.gov/?ss_outer, which is where I got the orbital elements from.

Putting a Lambert solver in so you could plan Mars missions (despite what I just said) would be a fun next step.

6
5 comments


Cart #51244 | 2018-04-03 | Code ▽ | Embed ▽ | No License
9

MSX FAN 1991年2月号に掲載された、ADRESSさん作ICE-MANをPICO-8に移植してみました。

MSXは256x192ピクセル、PICO-8は128x128ということで、アレンジしました。

ステージは全9ステージ、全てクリアするとお楽しみもありますので、挑戦してみてください。

カーソルキーで移動、zで左にxで右にアイスブロックを出します。

アイスブロックは消すことが出来ません、詰んだらリトライをしてください(何もキーを押さないでいると、メニューが表示されます)。

--- Google translation ---

I tried transplanting ADRESS's ICE-MAN posted in the February 1991 issue of MSX FAN to PICO-8.

MSX was 256 × 192 pixels, PICO - 8 was 128 × 128, so I arranged it.

Since the stage has 9 stages all, if you clear it all, we also have fun, so please challenge.

Move with the cursor keys, z to the left and x to the right to issue an ice block.

Ice block can not be erased, please try retrying (if you do not press any key, the menu will be displayed).

9
6 comments


Is there any PICO-8 or Lua method or something which turns off (something similar) the game when player is lost?

6 comments


Cart #51449 | 2018-04-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
31

1-2 player beat em up based on the Nes version of Bad Dudes with a bit of Mighty Final Fight mixed in. Made in 2 weeks for the metagamejam.

V.1.3
Added hit sprites.
Added 1 music track (More to come)
Fiddled with sfx a bit
Improved Ron-Bots dmg and shot animation.
V.1.2
Fixed another 2 player bug when 1st player dies.
Fixed tag-in bug after dying.
V.1.1
Fixed continue bug where level auto clears after continuing
Fixed stuck continue msg.
Fixed Negative health bar on enemies.
Fixed 2 player bug when 1st player dies.
Fixed 2 player Ron-Bot AI bug.
Added a short invunerablitly to enemies after falling.
Added stop/go staggering to stop people running through the level.(Beta)

[ Continue Reading.. ]

31
21 comments


I am printing on coordenates > 128, and the text is adjusted with camera().
However, if I

camera(0,128)
print("text\nwith\nlines",0,135)

But if I do the following, the text gets a scroll automatically, and you can only see the last line.

camera(0,128)
cursor(0,135)
print("text\nwith\nlines")

Is this a bug, or is this expected? It's rather annoying and not quite what I would have expected.

2 comments


Cart #51217 | 2018-04-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

So this is mostly for those of you who are thinking about ChessJam and wondering if the Pico8 is tough enough for the job.

The answer is clearly "Yes!" (1). Here is my implementation of a Sid Sackson classic board game Lines of Action. OF interest is that I'm using Negamax, bit boards and the 0x4300 user memory for the storing thereof.

There is unfortunately some kind of bug hiding in my (horrible, horrible) code that means the smart AI occasionally glitches the game state. I did mostly write this late at night during a period I wasn't sleeping well. I am very hapy with the code about the menus though.

(1) People have managed to fit (most of chess) into a ZX81 (that's a whole 1K of ram they were working with). http://users.ox.ac.uk/~uzdm0006/scans/1kchess/

0 comments


Cart #51208 | 2018-04-02 | Code ▽ | Embed ▽ | No License
3

This game was made in a game jam ran during a retrogaming event.
This year the theme was maze, a boss and the Odyssey.

My game is far from being finished, I didn't worked really long on it (4-5 hours maximum) and mostly only the rendering is done (and may still need some tweaks)

When playing the X button allow to display a debug view of the maze, which is for now, not generated randomly. I hope to update it at a later time to add all of what I wanted to include in it!

The final game should include some RPG elements, HP, EXP points, attack, treasure to find and grab, different levels and in the end the big boss that you have to kill to be able to escape the maze.

The polyfill function is from scgrn ( see https://www.lexaloffle.com/bbs/?tid=28312 ) modified to not directly write to memory to support the fill pattern.
If anyone have a better fillpoly function, one that can do even better dithering than using the fillp I will probably switch to it to have smoother gradients.

3
5 comments


Cart #51429 | 2018-04-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

NEST, my first ever PICO-8 project is finished!

Now with better particle effects, two modes for more accessible controls and high-score saving!

At first, this was just a typical "make and throw away" first project, but while making it, it really evolved into a much better experience. I hope some of you will still enjoy it for a couple minutes even though it is far from perfect!

And if you like what you see, consider dropping a buck or two on the game's itch.io page:
https://doczi-dominik.itch.io/nest

Update v1.2

  • 4-way control scheme
  • Shielded enemies - Can only be defeated from one side
  • Overheat - Cannot spam dash now
  • Difficulty adjustments to timer and hitboxes
6
10 comments


Cart #51445 | 2018-04-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Nilbog is goblin spelled backwards, and this might be the worst video game ever made.

Can you defeat Mordred and unlock the treasure?

New in 0.75:

  • Added Mordred as final Boss
  • Switched Instructions to Expect a Keyboard Rather than Game Pag

New in 0.7:

  • Combat has been rewritten to make it easier for enemies to behave differently.
  • Slight changes have been made to text on multiple screens.
  • Assassins now cloak themselves as they approach their attack.
1
2 comments


I want to leave custom space between two lines of text.
I wanted to do something similar to

cursor(x,y)
print("first line")
cursor(current_x(), current_y()+2)
print("second line")

for this, I tried reading the cursor position with peak

function get_cursor()
  local x = peek(0x5f26)
  local y = peek(0x5f27)
  return x,y
end

But with this, you only get the least significant byte of each coordinate, and when the x is negative or > 255, I get problems.

Is there an easy way to solve this?

Thanks!

4 comments


Cart #51278 | 2018-04-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

Controls: arrow keys to move, Z to jump to the other open space. Mouse also works.

This is a sliding block puzzle.
The object is to get the green 2x2 sheep block from the top left to the bottom right.

The design of the game is not mine. A friend had it in their house, and did not know its origins. Presumably the puzzle has a solution, but I could not find it, so I wished to make a version I could play with.

If you do solve it, let me know!

(I finally completed it the next day. Confirmed to be solvable.)

This puzzle was originally patented in 1928 by J.M. Schneider.
Information and patent links at Rob's Puzzle Page listed under C56 / C57.
http://robspuzzlepage.com/sliding.htm#rect-pcs

5
3 comments


Cart #51146 | 2018-04-01 | Code ▽ | Embed ▽ | No License

My first Pico8 complete game and my first contact with LUA! Thanks to PICO-ZINE and the answers of my post:

Forum link

I'm in love with Pico8 haha
Enjoy!

OBS: Press X to restart the game.

0 comments


Hi Zep, or whoever is reading this!

I'm playing around with Pico-8 and found a few things with the numbers that I wasn't expecting.

The lowest number in pico-8 is: 0x8000.0000 or -32768.
The highest number in pico-8 is 0x7FFF.FFFF or 32767.999 or about 32768

Keeping that in mind, doing this:

printh(abs(0x8000.0000) == 0x8000.0000)

will print out true, the same number! Which is a negative number (-32768). I wouldn't think that abs should ever give you a negative number. I would expect the above code to print out 0x7fff.ffff!

And the other really weird thing is that these are all true statements:

printh(1/0x0000.0000 == 0x7fff.ffff) -- understandable, this is in the manual.
printh(1/0x0000.0001 == 0x0000.0000) -- huh? i would expect this to be 0x7fff.ffff also
printh(1/0x0000.0002 == 0x8000.0000) -- now it is a negative number!!! this should also be 0x7fff.ffff
printh(1/0x0000.0003 == 0x5555.5555) -- these two are fine and make sense. :)
printh(1/0x0000.0004 == 0x4000.0000)
printh(1/0x7fff.ffff == 0x0000.0002) -- and this one actually makes sense too. though of course it isn't transitive or whatever.

[ Continue Reading.. ]

2
5 comments


Hello it's me again with the stupid questions! :P
I was following this past week bridgs' great workshop on pico8, and learned a whole lot about how to make tables and other tidy things on pico8, but I do confess I got a bit lost with it and now I am facing trouble. I'm not getting used (yet) to the more lax way of asigning vaiablesa nd creating vectors/tables.

Anyway, I have made this element:

object = {
	width=2,
	y=60,
	color=3,
	time=0,
	speed=1,
	velocity=2,
	move=function(self)
	        self.time+=0.01
		self.velocity=sin(self.time)
		self.y+=(self.velocity*self.speed)
	end,
}

This works, but only if I want to make one object, I want to make many, however. THis is what I was doing and is wrong (takes object propeties and draws a rectangle with thm):

function draw_objects()
	local i
	objects={object,object,object}
	for i=0,2 do
		rectfill(0,objects[i].y,50,objects[i].y+objects[i].width,objects[i].color)
		objects:move()
	end
end

[ Continue Reading.. ]

22 comments


Cart #51123 | 2018-04-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Hello! Thank you for checking out Schrödie, my first ever game!
It's a little arcade game concept that I hope you enjoy.
I'm going to do my best impression of an 80's game ad copywriter now. - Kevin

SCHRÖDIE
You can't spell Schrödie...without DIE!

Help Schrödie the cat dodge the poison bubbles in two possible alternate realities! You'll need a keen eye and cat-like reflexes to escape theoretical danger. While inside the box, Schrödie is in a constant state of being both dead and alive...But which will become a reality once you open the box?

Available now for the PICO-8!

CONTROLS:
MOVE: Left and Right
JUMP: Up, Z, or X
FAST-FALL: Down (while in midair)

8
3 comments


How do I fire the cartridge? I made a game I wrote how to send it to someone? help. when I send as a .png file and open in w10 it shows me a simple .png file what am I doing wrong?

2 comments


Cart #51076 | 2018-03-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

i set up traffic studies to pay the bills. its a mildly strenuous job.
as often happens i was out on the road, rather unrested, and hungry waiting for a good opportunity to take lunch. my mind was wandering.
i recalled a meme. four panels in sequence wherein a grim-looking bart simpson says 'im dying.' krumping marge asks 'is it blissful?' bart replies 'it's like a dream' and marge responds 'i want to dream.'
vividly i could picture these characters, and moreso, ageless elemental spirits they represent; a tragic mortal face to face with a creature wild and eternal, chaos in her eyes as she fervently krumps.
a wave of nihilism consumed me, the urge to create unbound.
once home i painted the majority of the sprite sheet for this game.

1
1 comment




Top    Load More Posts ->