Log In  

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

Cart #walksims_xb_0-4 | 2023-08-17 | Code ▽ | Embed ▽ | No License
1

Act as Jimmy the slime and get to the finish line in the fence maze!
How fast can you get?

Controls

Arrows: move
Z or 🅾️: change tab
X or ❎: restart in game (upon win)

Changes

  • Camera and a larger map
  • Fences!
  • Winning
  • A Minute-Second time system
  • Upper tab hides when Jimmy is at the top row

Expected Updates

  • Apply acceleration in movement system
  • Dashing
  • Randomized layout(?)
  • Animated background

-thePixelXb_,2023/8/17

History

2023/8/16 v0.1


Cart #walksims_xb_0-1 | 2023-08-16 | Code ▽ | Embed ▽ | No License
1

Act as Jimmy the slime and explore (a bit) in the 128x128 box world!

Controls

Arrows: move
Z or 🅾️: change tab

Changes

  • Better collision system
  • An upper tab
  • A (crappy) background
  • Simple player animation
  • Basic sound effects

Notes

After researching deeper into pico-8(and learning from related posts), Walksims has updated to v0.1.

Welcome for your feedbacks and suggestions!

-thePixelXb_

[ Continue Reading.. ]

1
0 comments


Hi Zep! :)

I'm not sure if this is by design, but it seems printh() resolves paths differently than cstore(), reload(), etc; where printh() does path resolution relative to root_path, while the other funcs resolve paths relative to the running cart.

For example, given the directory structure:

project_dir/
|_dist/
  |_foo.p8
  |_log.p8l
|_utils/
  |_bar.p8

and launching with:

project_dir $ pico8 -root_path ./ ./utils/bar.p8

project_dir/utils/bar.p8:

cstore(0, 0, 0x4300, "./dist/foo.p8") --doesn't write to foo.p8
cstore(0, 0, 0x4300, "../dist/foo.p8") --writes to foo.p8

printh("hello world!", "./dist/log") --writes to log.p8l
printh("hello world!", "../dist/log") --bad log error

I'm not sure which way I think all the funcs should behave, but I'm inclined to say printh() should resolve paths relative to the running cart like the other funcs, because it would probably be less surprises for the user that way.

[ Continue Reading.. ]

2
0 comments


Cart #islecraft-5 | 2023-08-12 | Code ▽ | Embed ▽ | No License
44

Isle Craft


You've awaken on a mysterious island in the middle of nowhere. Craft and explore as you create a home in this strange place!

Press down in the inventory to drop items

v1.0.1 Early Access
Developed by CannonWuff (me)
This is an island survival game inspired by Don't Starve, Forager and Islander
I've recently rewritten the entire project from the ground up and it now runs faster and with less issues.

Demo:

  • Please report any bugs you find
  • Saving does not work yet
  • Trashcans do not work yet
  • Fishing rod does not work yet

Roadmap (LOVE2D Port):

[ Continue Reading.. ]

44
19 comments


Cart #lokity-0 | 2023-08-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


This is a short platformer for the LOWREZJAM 2023
You play as a kitty, your owner is moving, but you want to quickly get your toy mouse Paul from the other side of the house, while the ghosts that are moving in help you to save him.

Instructions for menu:

right arrow - toggle tutorial

left arrow - toggle speedrun mode

up arrow - toggle assist mode

c - reset save file (if you do not save, you will be able to use your previous save file)

a - change controls (from player 1 to player 2 and vice versa)

v / x - start game

1
0 comments


Cart #reflextest-0 | 2023-08-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

I thought the PICO-8 community needed a reaction time test. For this I came up with a reflex test inspired by humanbenchmark.com

HOW TO USE

You can use the whole program just by pressing the "O" key. When you pass the main menu and start the test, you wait on the red screen for a random length of time. At the end of this period, when the screen turns green, you must press the "O" key as fast as possible. If you press the key early, you will have to start over with the current step. At the end of each step, you can see your current reaction time and when this process is repeated 5 times, the program calculates your average reaction time.

CREATING A DATABASE

The program also makes a comment on how fast or slow you are as a result, based on your average reaction time. This comment is a classification system based on the results of me and a few volunteers for now.

The next thing I want to do about this is to set up a database of the average reaction times of the PICO-8 community playing this game and put it on some sort of leaderboard. If you want to help, you can write your average reaction time in the comments until the next update!

[ Continue Reading.. ]

7
6 comments




Cart #grow-1 | 2023-08-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

GROW

Simple Democart i made.

I came across this idea when working on my other game (info on my twitter :) ), and decided to horribly code unglue it from that game and edit it into a little pico-8 democart! I tried to keep it similar to p8's builtin demos, but i couldn't help myself from adding little sounds and stuff. (Also if you want it @zep , its yours :) ) feel free to yoink code from this cart if you feel like it! i commented out everything that needs it so that even beginners can make sense of whats going on under the floorboards. er- what makes the-- never mind. i also left some map spaces open if you want to make your own levels!

Thank you all from the pico-8 community for not yelling about my awful code! i really appreciate all the support from my other projects and im glad im apart of this little community.

[ Continue Reading.. ]

7
0 comments


Cart #toomuchland-5 | 2023-08-11 | Code ▽ | Embed ▽ | No License
3

A 60 second game.

What do you need?

3
1 comment


WIP game for Lowrezjam 2023

Cart #fistmusclegod-2 | 2023-08-10 | Code ▽ | Embed ▽ | No License

0 comments


Cart #knutil_dbg-1 | 2023-08-10 | Code ▽ | Embed ▽ | No License
1

Feature Overview

DBG() Displays any timing value in real time.

  • Executed with arguments, it stacks values for display.
  • You need to specify 'd?' at the timing you want to display.
  • When the stacked value display is complete, it is reset.
  • This function consumes 71 Token.
function _update()
 dbg('Debug Test!',time())
end

function _draw()
 dbg('d?') -- 'Debug Test! [time value]'
end

This function will be included in the next version(0.14.0) of KNUTIL library.
If you want to stop processing and investigate detailed values, consider DMP().

release note

[ Continue Reading.. ]

1
0 comments


I don't know what happened here. Pico-8 randomly crashed while making a game inside Voxatron. I will provide the Pico-8 log.txt here, but there doesn't seem to be anything useful. If this helps, the Pico-8 window was mostly inactive as I was more focused on fixing bugs in the game itself.

https://drive.google.com/file/d/1bSqA4TJfT0nd9yH3vvvyRLiR48wJdq5p/view?usp=sharing (Only @zep can access this.)

5 comments


Small cart that features simple encryption/decryption methods.

Cart #encryption-0 | 2023-08-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1



Scytale is kinda broken, sorry!

1
0 comments


Cart #cat_coma-0 | 2023-08-09 | Code ▽ | Embed ▽ | No License
3


A game me and my friend made in 1 hour for laughs.

  • Comb this kitty and hear him Purr.
  • Shake off your comb if it gets too hairy!
  • Play as long as you like. He generates infinite fur c:
3
1 comment


Cart #knutil_amid-1 | 2023-08-09 | Code ▽ | Embed ▽ | No License
2

Feature Overview

AMID() Returns the median of a given positive and negative number.

  • It is used in controlling the camera and parameters that can swing either + or -.
  • This function consumes 10 Token.
x,y=0,0
w,h=16,8 -- range of movement(*2+1)
while 1 do
	cls(12)
	camera(-64,-64)

	rectfill(w,h,-w,-h,0)

	?'⬆️⬇️⬅️➡️ key to move',-60,-60

	x+=tonum(btn(1))-tonum(btn(0))
	x=amid(w,x)

	y+=tonum(btn(3))-tonum(btn(2))
	y=amid(h,y)

	pset(x,y,8)
	?x..' '..y,-w,h+1,7
	flip()
end

This function will be included in the next version(0.14.0) of KNUTIL library.
If you want to determine that two values are within range, consider INRNG().

[ Continue Reading.. ]

2
0 comments


Cart #crategirl-0 | 2023-08-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


Push crates into water to walk across them.
Have fun ✌️

5
2 comments


Cart #knutil_htd-0 | 2023-08-08 | Code ▽ | Embed ▽ | No License

Feature Overview

HTD() Split a continuous string of hexadecimal numbers into a table.

  • the number of supported delimited bits is 4,8,12,16 bits (1~4 nibbles).
  • characters that cannot be converted to numbers are ignored.
    • the result of the api's tonum('0x'..v) of the api.
  • depending on the delimiter, a missing last character will result in a lower digit by the number of missing characters.
  • This function consumes 30 Token.
local a=htd('12a30f',1) -- a={1,2,10,3,0,15}
local b=htd('12a30f',3) -- b={297,783}

Perhaps consider BUNPACK() if you want to separate NUMBER every few bits.

[ Continue Reading.. ]

2 comments


Cart #kudojowipa-0 | 2023-08-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

I'm new to PICO-8 here folks but absolutely hooked! I'm having a problem with my player shaking during movement as well as getting caught on my flagged sprites that the player collides with. I know some basics and have compiled this code by watching tutorials and scanning forums for code snippets but I think I am mixing some things that don't play well. I am really going for a smooth player movement vibe so I just added some acceleration rather than an abrupt "p.x+=1" movement style. It doesn't appear to show in my GIF but the player shakes violently during gameplay. Any ideas as to what could be causing this would be greatly appreciated!

4
5 comments


Cart #zofohewebe-1 | 2023-08-07 | Code ▽ | Embed ▽ | No License
1

1
1 comment


ToriEngine - ECS Metroidvania Engine

Cart #toriengine-0 | 2023-08-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

I'm building an Entity-Component-System engine-thing to make platforming metroidvania games like Cave Story on Pico-8. I was initially building it for a Jam game, Tori Tower, but the engine fell out of scope x.x

I have run into some issues as I was building the code, and I'd really appreciate if anyone would like to help me here and there ^^

I'll start by explaining how the engine works, so it all becomes easier to digest later:

Architecture

An ECS (Entity-Component-System) is an architecture for games in which the World State is populated by Entities, which are simply containers (tables) who store values. These values are called Components, and each entity has its own set of components, which its own values assigned.

Entities hold no functions. The logic is handled by Systems, which are functions that make changes in the World State every frame. A system does so by filtering out the entities in the world who have components relevant to the system, and executes the function upon each entity selected.

Example: Moving system
A moving system moves every entity that is movable each frame.

So, the system _move will filter out the world table, so that it only selects the entities who have the move and pos component. Those components look a bit like this:

entity_that_moves={

pos = {x=30,y=64} --position component

move = {vel_x=1,vel_y=0,max_vel_x=3,max_vel_y=2,acc_x=1, acc_y=3, friction=0.8} --movement component
}

Filtering out these systems, it'll run the logic for movement:

function(ent)
	ent.move.vel_x=mid(-ent.move.max_vel_x,ent.move.vel_x+ent.move.acc_x,ent.move.max_vel_x)
	ent.move.vel_y= --yadda yadda yadda you get the point
end

With that said, I'll explain how my engine is working.

The Core

The core is simple and compact, and credit goes to @selfsame for creating the system, and @alexr for building upon it:
https://www.lexaloffle.com/bbs/?tid=30039

-- basic
function _has(e, ks)
  for n in all(ks) do
    if e[n]==nil then

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=132836#p)
4
0 comments


Cart #knutil_ecpalt-0 | 2023-08-07 | Code ▽ | Embed ▽ | No License

Feature Overview

ECPALT() set transparency from palette table.

  • Transparency is reset at each function execution.
  • If the value of the "color id key" in the palette table is 0, the palette becomes transparent.
  • The palette that was made black by MKPAL() can be used as transparent as it is.
  • The format is redundant due to the specification to match MKPAL().
  • This function consumes 20 Token.
-- Make 6, 7, and 13 transparent.

ecpalt({[6]=0,[7]=0,[13]=0})

spr(1,16,32,2,2)

This function will be included in the next version(0.14.0) of KNUTIL library.

release note

[ Continue Reading.. ]

0 comments




Top    Load More Posts ->