Log In  

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

I made definition files so that LSP can support pico8/picotron's library functions and special syntax, so that pico8/picotron programs can be written in external editors such as VSCode while getting the help of various modern features.

How to

  1. Install and enable sumneko/Lua extensions in VSCode Marketplace
  1. Download pico-api

  2. New a folder .vscode in your workspace, and put the file setting.json into it
  1. Change the field Lua.workspace.library in .vscode/settings.json to the path to the folder picotron(or folder pico8, depending on the type of your project)
  1. New a cartridge and use this snippet at the top of its code:
-- picotron
cd("/myproj")
include("main.lua")

-- pico8

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=131319#p)
6
7 comments


Cart #keys-2 | 2024-10-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
2 comments


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

You are trapped alone in a forest, and must find a source of warmth...
Oh, and you're also blind.

Directions

- So... what do I do again?
Use the arrow keys to move. Please avoid running into walls.

- Wait! But I can't see the walls!
Use X + an arrow key to check in a particular direction for walls.

- Okay, but where am I going?
Press Z to check the temperature.

  • "Warmer" means you're getting closer.
  • "Colder" means you're getting further.
  • "..." means that it's the same distance away as the last time you checked, or that you haven't moved since last checking.

- Closer to what?
The exit, which will allow you to select a power-up, then take you to the next level.

- Pfft, this is going to be easy.
Keep an eye on the meter towards the bottom. When it runs out, you freeze to death.

- oh. . .

Tips

Tiles are "remembered" (become visible) as you traverse the level (or check things or run into stuff). However, they also fade from memory over time.

As you get closer to the exit, "embers" will become visible to help guide you.

Remember to eat some stew between levels, whenever possible. You might not last too long if you don't...

And finally

I had this weird idea in my head for a while, of some sort of dungeon crawler where the player would only be able to see tiles that they had visited recently. So I decided to create it. It took me a little under a week to finish this, though it isn't really a dungeon crawler anymore.

This is my first complete PICO-8 game. Hopefully it's fun. Enjoy!
--J. M. Potionwiz

6
1 comment


Cart #fullsquares-0 | 2024-10-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
0 comments


Yeah... I probably should have put this in it's own post.
Anyways here ya go!;

Thank you for this list!
Also, above is a Image of a horror game Idea i have. Do you wanna see this in a game? (Summary in top right)

1 comment


Hi everyone!
Sorry I haven't posted(On the topic of mirror) in a while.

Anyways heres LV3:
As Usual lemme know if it's impossible.

Cart #tizofuwawi-0 | 2024-10-24 | Code ▽ | Embed ▽ | No License

I have also added Debug exits to Lvl 1 and 2 for ur convenience.
Oh, Btw All other updates will be posted here from now on.

0 comments


Once Upon a late night dreary, I logged in weak and weary, Over many a quaint of forgotten Splore...
I searched up "Horror" and it said "Nevermore"

Old poetry aside, Anyone know any Pico-8 horror games? Seeing as it's Halloween and I've come up short, and HALLOWEEN of all times. If any have good releases, please post them here for the next thrill seeker like me.

I'll start:

https://arkicade.itch.io/cheshire-in-a-chatroom

2
8 comments


Cart #zanisohru-2 | 2024-11-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9


v1.1

Here is a Text system that I've been working on! Any type of feedback or criticism is welcome!

~~ PROS ~~

  • Dynamic Name Tab
  • Simply Formatted
  • Light Weight

~~ CONS ~~

  • Manually add a new line using '\n'

~~ UPDATE CHANGELOG ~~
1.1 - Dynamic name now works with special icons (Thanks @RealShadowCaster)
1.0 - Initial release

9
7 comments


Cart #steelhunter_tactics-0 | 2024-10-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Speed, skill, luck...high scores

This is a high score companion cart to Steel Hunter. Navigate the minefield to collect as many pickups as you can within 2-minutes, or see how fast you can complete levels as they get more challenging.

  • 2 modes of play
  • 3 difficulty settings
  • High score tables

Controls

Arrows / D-Pad = Move submarine

Gamepad recommended. Controller mappings may vary.

Modes of play

  • Challenge mode - You get 2 minutes to collect as many pickups as you can. You get bonus points for lasting the entire time and for each extra sub you have.

  • Survival mode - Collect all the pickups as quickly as possible to advance to the next level. Bonus points are relative to speed.

Difficulty settings

  • Easy: Screen wrapping. No oxygen meter. Only grid minefield.
  • Normal: Screen wrapping. Oxygen meter. Grid and maze minefields.
  • Hard: No wrapping. Oxygen meter. Only maze minefields.

Collect high scores

High score tables for each mode and each difficulty. Challenge yourself or challenge your friends to get your name etched into history.


Behind the game

I found myself treating the first level of Steel Hunter as a speed challenge, not unlike the original "Sea Chase" game I used for inspiration. That along with some suggestions from the community brings you Steel Hunter: Evasion Tactics!

For more sea battles and a boss fight,

[ Continue Reading.. ]

8
1 comment


Cart #exinput_bc-3 | 2024-10-23 | Code ▽ | Embed ▽ | No License
1

Feature Overview

Buttons input

getbtns() updates the extended button(key) input state.

  • This must be done in the _update() function.
  • Required poke(0x5f2d,1)
  • button values:
    • btrg: returns true only for frames where a key was entered.
    • butrg: returns true only for frames where a key was released.
    • btns: returns true whenever the key is pressed.
    • btnc: returns the count while the key is held.[number]
    • _key: typed characters.[string]
    • _ent: enter key typed.
    • _del: delete/backspace key typed.
  • modifier keys values:
    • _ctr: ctrl/command key pressed.
    • _alt: alt/opt key pressed.
    • _sft: shift(left) key pressed.

[ Continue Reading.. ]

1
0 comments


Cart #stickypendulum-0 | 2024-10-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment



I'd like to make some associative tables e.g. table={x=7,y=90,z=40}
but I want to save tokens by using a string because I'm going to have a lot of them, and make a function that returns a table based on whatever is in the string.

So something like:

string1="x=7,y=90,z=40"
string2="empty=100, dinner=casserole, transport=horse, weight=150"

table1=assoc_table(string1)
table2=assoc_table(string2)

?table1.z          -- 40
?table2.transport  -- horse

how do I go about this? split wont work. what does my function assoc_table(str) look like?

1
3 comments


Hey! I need help with my first platformer game, goddess of the wind.

The collision isn't working as I hoped, and the reason is either im doing it completely wrong, or the collision box is too small.

Heres the code for the collision:

if btn(0) then
p.dx-=.2
end
if btn(1) then
p.dx+=.2
end

if p.dx<0 and not fget(mget((p.x-1)\8,(p.y+3)\8),0) or p.dx<0
and not fget(mget((p.x-1)\8,(p.y+4)\8),0) or p.dx>0
and not fget(mget((p.x+8)\8,(p.y+3)\8),0) or p.dx>0
and not fget(mget((p.x+8)\8,(p.y+4)\8),0) then
p.x+=p.dx
end
if p.dy<0 and not fget(mget((p.x+3)\8,(p.y)\8),0) or p.dy<0
and not fget(mget((p.x+4)\8,(p.y)\8),0) or p.dy>0
and not fget(mget((p.x+3)\8,(p.y+9)\8),0) or p.dy>0
and not fget(mget((p.x+4)\8,(p.y+9)\8),0) then
p.y+=p.dy
end

If you have any ideas or better ways to write the code, please tell me. Thanks!

4 comments


Hello everyone.

As I strive to become better at programming, theres one thing that is annoyingly very recurrent in my code which are counters.

I have counters for playing a sound effect only when changing scene, or when a collision first happens.

I have counters to manage the speed of swapping animation frames

I also have counters just to tell the passage of time or trigger elements or behaviours after a while.

My general approach is: Create a global time variable with the name for the thing it's timing

animationcounter = 0

Then on update or draw I have some sort of

if animationcounter <= 20 then
   sp +=1
   animationcounter = 0
else
   animationcounter +=1
end

Is there a better way to do this that can be used for all counters necessary? With a function? or maybe an object where we instantiate counters or something?

1
7 comments


Cart #ghostvania1-8 | 2024-11-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

Controls :

O : Jump
O + UP : Throw subweapons (Requires hearts and you can throw multiple if upgraded)
X : Whip attack (Longer if you pickup the green upgrade)

Hello everyone ! Here is my latest game called Ghostvania, which is obviously an hommage to the Castlevania series but most specifically the first entry on the NES. I wanted to make it feel as close as possible as the first castlevania in the way it plays (difficulty, continues, lives, jumping, attacking, game loops, bosses).

So the story is you are a ghost and you are traversing the world of death. For that you need to go through portals but the problem is those portals are protected by creatures known as "Passage Demons". So embark on this adventure to help the ghost find it's way!

Have fun! Let me know if it's too hard or unfair, I would like to tune the difficulty. I tried my best to balance it.

And thanks for playing,

Au plaisir!

9
6 comments


Cart #one_hundred_pico_8_pixie_dots-3 | 2024-10-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

As many around here I've found the four, current, issues of the PICO-8 fanzine beyond inspiring, so I designed my first semi-serious project to celebrate inventiveness of everyone involved in the platform.

P.S. If you've just discovered the series maybe don't look at #2 too intently :)

When you do, give all props to johanvinet, a true pixel art wiz.


The premise of a jigsaw puzzle is deceptively simple:

  1. take a fully formed picture

  2. scramble the pieces to make an undistinguishable mess

[ Continue Reading.. ]

4
4 comments




Hey again!

I've recently assembled the raspberry pi powered pico8 game console that I have been showing off, and I'm proud to show that it is fully capable of running splore now! We still have quite a lot of tweaks to make before launch, but it's great to see it coming together. Now if you would excuse me as I go spend a couple of hours playing games...

I can't embed videos here, so checkout the reddit post for an actual gameplay video :))

2
5 comments


Cart #platformixel_maker_p8-1 | 2024-10-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


A quick phased platform editor, play challenges from other players and create your own maps to share.

Made for Pico8 as a prototype to develop my future games.

Shortcuts:
Left mouse button: Draw tile

Right mouse button: Clear tile

G: God mode.

I: Editor palette.

C: Character selector.

I: Activate manual(mouse) menu.

B: Save map.

M: Open/Close Minimap.

M+B (In that order): Clear map.

A, W, D, S: Movement keys.

Spacebar: Jump.

1,2,3,4,5,6,7,8,9,j,k,l: Tile editor selector.

Navigate through menu: Click on the gear, and select your menu or click on the gear again to close the menu.
Within menu, if you Left mouse button the cartridge option, it will save, if you Right mouse button, it will clear them map (reversible through Ctrl + R)

[ Continue Reading.. ]

5
1 comment




Top    Load More Posts ->