Log In  

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

Cart #picoweather-0 | 2024-05-02 | Embed ▽ | License: CC4-BY-NC-SA
2

Very early implementation of a weather feature in Picotron.

As Picotron's "fetch" is extremely limited, I deployed a very simple middleware on my own server (https://play.quee.org/?lat=0&long=0) to relay GPS coordinates between Picotron and Open Meteo (https://open-meteo.com).

GPS coordinates are obtained using ipapi (https://ipapi.co).

Kelvin Quee

2
1 comment


Cart #ray-0 | 2024-05-02 | Embed ▽ | License: CC4-BY-NC-SA
9

Raycasting?

Controls:

  • arrow keys to move
  • mouse to look around it will eventually reach the border, you have to center the mouse again
  • x for viewing map
  • d for more detailed stats

about

After trying to make raycasting the wrong way, I came up with this method.
I really don't know if thats the correct way of doing it. My idea was to have rays being shot from the player, when they hit a wall the stop and draw a line in the center at the screen + index of the ray, also the further away the ray went, the smaller the line will be. So that make a pretty good illusion of 3d in a 2d space. You can poke around with the values like the field of vision, amount of samples taken (rays shot), the stretch of the screen and many other.

[ Continue Reading.. ]

9
5 comments


I know there is still so, so much yet to add in Picotron, but there are quite a few features PICO-8 has that would be so nice to also have in Picotron. I imagine a non-zero percentage of these are probably already on some official/unofficial/mental roadmap that @zep keeps for Picotron. Nevertheless, I thought I'd list some here just to get them "on paper" and not floating around in my head. Feel free to contribute your own items to this list.

Keep in mind, I have zero expectation that any of these ever actually get added, let alone added soon. So if you decide to contribute to this list, keep in mind the vibe here is more "ooh, that'd be neat if Picotron did this too" rather than "why doesn't Picotron have this feature?!"

EDIT: Wow! A lot of these got added in the latest version of Picotron! (v0.1.0h) I've updated the list below to indicate what's now been added to Picotron. Thanks, @zep! 🤩

  • Having the option to show tab character indicators
  • Alt-up and alt-down jumping you one function up or down at a time

[ Continue Reading.. ]

12
5 comments


Cart #harm_anim-0 | 2024-05-01 | Embed ▽ | License: CC4-BY-NC-SA
6

This is an audio-visual representation of the harmonic series. The sine waves are in size and
frequency, integer ratios of 1,2,3,4,5,6,7,8, using bends to get as close to the exact tones as
possible. Every time the sine waves hit a peak or valley, they play the associated note in the
harmonic series and they oscillate in the same ratio.

6
0 comments


Cart #budewukadi-0 | 2024-05-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

Made by my son and me in about a week during that time I also taught him Lua.
My son is responsible on the level design that will make you suffer. (Suffer because you might reach a level in which the portal will actually kill you instead of teleport you and you will have to find another exit)
I consider the game very challanging.
There are 21 levels in this game. I was able to reach level 3 but my son has reached the end of the game countless times.

Special thanks to @matthughson for "advanced micro platformer" which we used.
Thanks Nerdy teachers for excellent tutorials.
And finally thanks Lazy devs for great tutorials.

[ Continue Reading.. ]

6
2 comments


I'm trying to figure out the alternate colors a bit so I can use them in a game. I'm not trying to get all 32 colors available at once. I'm happy with having 16 but just want to adjust which 16 I have. From what I've read, it seems like this is possible.

I put the display pal() swaps at the top of the cart which does switch out colors. And it works when drawing and with sprites. Cool.

pal(3,129,1) -- blue129
pal(5,140,1) -- blue140
pal(6,135,1) -- yellow135
pal(11,137,1) -- orange137
pal(12,132,1) -- brown132
pal(14,128,1) -- brown128

So I have a sprite that is drawn with original blue12 and then on the screen it displays as brown132 because of the swap. I get that and it's working.

But I want to be able to display that same sprite again in a different color.
How do you do a swap on a swap?

-- this sprite is draw in blue12 and displays as brown132 = expected
spr(1,12,96)

-- how do i make the same sprite display as orange137

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=147717#p)
1
9 comments


Cart #ditomareyo-0 | 2024-05-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

made this for a potential thing at furconz camp 2024, which is spies and secret agent themed

heavily modified from the demos/dots3d.p8 cart by zep

3
2 comments


The response to this has been pretty positive, so I'm throwing this demo up here on the forums.
This cart is a prototype for a point and click adventure with pre-rendered 3D graphics and a custom palette.

Cart #the_lab_grows-2 | 2024-05-01 | Embed ▽ | No License
30


Included in this cart are elgopher's require module and snowkittykira's error explorer module

30
7 comments


I have discovered a pretty frustrating bug related to header.lua, resume and menuitem()

Have a look:

It seems that trying to use a menuitem after editing ANYTHING using IMMEDIATE MODE Crashes pico-8 with the error ATTEMPT TO CALL UPVALUE "_SUPERYIELD" (A NIL VALUE).

It says its being called in FLIP(), so lets look at header.lua...

You can see _SUPERYIELD() being called if the pause menu is supposed to stay open. no problem here, right? WRONG!

All of these "special" functions, like _SUPERYIELD() Are "Jettisoned" after they have done their jobs. that means they are all set to nil, so the user isnt able to ruin the device. We can see this at the end of header.lua. Here we can see all the original functions being reset. They still work only in header.lua though, because theyve been set to local variables for use in the header only.

[ Continue Reading.. ]

1
4 comments


Cart #veggie_combo-4 | 2024-05-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

This game was made for the Minigame A Month April 2024 for theme Farming!

Gameplay:

Use your tools to manipulate the field, then harvest with as many points as you can.

⬅️⬇️⬆️➡️

❎: X

🅾️: C or Y/Z

When harvesting you move along in a straight line if you have the same veggies in that direction and stop before stepping on a different one.

Harvesting a veggie gives 1 point +1 for each previous same vegetable.

Combo and movement stops on a new vegetable in the direction, or upon turning into a new direction!

Tools

  • Shovel: Let's you swap two rows or columns with each other.
  • Pitchfork: moves row/colum left-right-up-down
  • Bomb: Upon stepping on, it harvests all neighbouring tiles (replaces one where you move so it doesn't break cool lines)
  • Watering can: Replaces a 3x3 area with a crop randomly selected from that area (weighted by occourance)

Seeds:

After completing a stage (or on pressing Enter) you can view the seed of the current page. Note that number down and share it with a friend. In the Load Field menu you can enter the seed and race on who can achieve more points on the same map, with the same tools!
Development:

You can read the devlogs and watch the full development VODS if you are intersted in things like that!

Devlog Articles

[ Continue Reading.. ]

12
7 comments


Hello. I was playing around with pods, and I noticed that create_diff isn't defined. here's the code (I'm 99% sure I didn't do something really stupid):

local a = {"a", "b", "c"}

local b = {"a", "c", "d"}

local pa = pod(a)
print(pa)

local pb = pod(b)
print(pb)

local pd = create_diff(pa, pb)
print(pd)

@zep was the function removed? it's in https://www.lexaloffle.com/dl/docs/picotron_pod.html#POD_Diffs, but maybe that's outdated.

EDIT: Never mind, it's called create_delta!

0 comments


Cart #lemmings-1 | 2024-07-31 | Embed ▽ | No License
59

So I was curious if picotron would be capable of running the original Lemmings game as it was on Amiga, it turns out - yes!

Well, with the exception of no halfwidth pixels for the UI. But otherwise, you could make a 1:1 clone. Which I started doing, but then I thought it would be more fun if I pretended Psygnosis had time-travelled and asked me to make a picotron port. So I added extra in-between frames to the classic walk cycle for smoother animation, climbing gloves and umbrellas to indicate lemmings with permanent skills, fast forward (an invaluable feature added after the first games), and a nicer level select.

At the moment there are only a handful of levels and only one half-finished music track, I hope to work on more and have all the levels from the first four games (Lemmings, Oh No! More Lemmings, and the two holiday packs from '93 and '94), buuuuut I don't know that I'd be comfortable posting that here (or at all) - Lemmings is somebody else's IP after all. This is a fun hobby project for me, but if you want to play classic lemmings there's a few other options for you. I'm only really sharing this so that anyone that wants to see how I've done it can check the code, and also it's a way for me to call it a milestone I can step away from - I've got other projects with my own IP to finish!

[ Continue Reading.. ]

59
6 comments


Cart #steelhunter-0 | 2024-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
25

Can you take down the entire fleet?

The enemy has established a naval blockade and you're the only one that can open up supply lines. Use your mini-sub to destroy enemy ships and clear the blockade. Success will depend on a steady hand and perfect timing. But beware! There are also reported sightings of an experimental enemy sub!

  • Navigate tricky minefields
  • Tense periscope action!
  • Avoid depth charges raining from above
  • Damn the torpedoes!
  • Top secret submarine boss fight

Classic action

Controls

Arrows / D-Pad = Move submarine

[ Continue Reading.. ]

25
6 comments


Hello, I have this code that circles an object around the player position.

It works well if the player stands still, but if the player moves the trajectory of the object goes a bit wonky. it sort of stops, or looks like it wants to go in the other direction for a bit.

How can I make it smoothly rotate around the player?

    local player = self.game_context.player
    local orbit_radius = 40  -- Distance from player to orbiting projectile
    local orbit_speed = self.speed  -- Normalized speed of orbit; consider this as fraction of a circle per frame

    for p in all(self.projectiles) do
        p.angle += orbit_speed
        if (p.angle > 360) p.angle = 0
        p.x = player.x + (player.attributes.w / 2) + orbit_radius * cos(p.angle/360)
        p.y = player.y + (player.attributes.h / 2) + orbit_radius * sin(p.angle/360)
        -- Handle projectile duration and collision
        p.duration -= 1	
    end		
2 comments


Cart #todehdosu-0 | 2024-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


Cart #todehdosu-0 | 2024-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
3 comments


Cart #pleasedontpressx-1 | 2024-05-01 | Code ▽ | Embed ▽ | No License
10

10
19 comments


Cart #ccga-47 | 2024-10-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
25

CC GENETIC ALGORITHM

If runs are taking too long, Consider disabling FLIP? on page 3 of the settings (READ SETTINGS REFERENCE BELOW)

This is a mod of Celeste classic where you get to watch a genetic algorithm learn how to play Celeste classic.

Wiki page for the Genetic Algorithm

SETTINGS REFERENCE

CELESTE CLASSIC GENETIC ALGORITHM [CCGA]
MOD BY ANTIBRAIN

[SETTINGS REFERENCE]

`FPS` : Simulation FPS. The timer in the corner will not be affected. 
You do not need to set it to a normal number. framerates like 22 and 46 are just fine.

`# OF PLAYERS` : How many players to simulate at once. 
More players means it will learn faster, but too many can lag the machine.

`CYCLE LEN` : How many cycles to run before selecting iteration to reproduce and grow.

`ADDED PER C` : How many FRAMES to add after every cycle SET. [after `cycle>max_cycle`]

`FALLBACK` : Min # of frames the ai is allowed to go back from preserved solution in the event of failure.

`MAX_H YSPD` : If enabled, MAX_HEIGHT will ONLY be updated if THIS.SPD.Y==0

`COIN REWARD` : Amount of points given for collecting a coin.

`BASE MUTATE` : The base mutate chance from 0-100%, without any deaths or changes. 
The mutate chance for each instance will never go below this number.

`SFX?` : Toggles sound effects that instances can make. (dashing, jumping, etc)

`MUSIC?` : Toggles music.

`SHOW N` : Toggles whether to display each player's instance number on itself. Enable to keep track of players.

`FLIP?` : Toggles whether to call flip() every frame to update the screen. When disabled, each frame will be updated instantly after the last frame. When disabled, It does break menus and cause a LOT of flickering, so use caution.

`IMPRV FALLBK` : Number of frames to wait after last improvement to try again from improvement.

`IMPRV MOD` : Number of frames to add after improvement fallback, to avoid an infinite loop. Can be disabled.

`MTATE KEEP` : Toggles if kept frames can be mutated.

`SEED RND?` : Toggles weather to seed the rnd function. Read below for info about modifying the seed.

NOTE THAT PAGE 5 SEED SETTINGS ARE ONLY AVAILABLE IF `SEED RND?` IS ENABLED.

`S` : Shows current seed.

`INC BY .1` : Increments or decrements seed by .1.

`INC BY 1` : Increments or decrements seed by 1.

`INC BY 10` : Increments or decrements seed by 10.

`▤  PAGE X/Y  ▤` : Current page number. Left/right to view other pages.

Numbers can be changed with L/R. Booleans [TRUE/FALSE] can be changed with any button.

[ Continue Reading.. ]

25
13 comments


can you launch pico-8 on a raspberry pi via batocera? if so, con you launch it via ports and not emulate it?

4 comments


Cart #tid_p8-0 | 2024-04-29 | Code ▽ | Embed ▽ | No License
1


Welcome to the dungeon,

The goal: Survive as long as you can.

Dev Notes:
It should be known that right now it’s only one level.
Mostly as a test bed before I wrap it all together with level generation.

There are bugs I am working out but the next up will be figuring out how to generate floors and so on.

Thanks for checking it out <3

1
2 comments


Cart #man3d-0 | 2024-04-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

hello

This is my absolute first attempt at making anything 3d or 3d looking.

I want to learn the math behind 3d graphics in Pico 8, not the crazy ones, but the very simple ones, I am thinking of making a game kinda like in voxatron, with a static camera and a platform. I dont even want voxels, just 2d sprites. I tried using tline, and I just messed arount until it got to something.
I would be very happy if someone showed me any sources for basic Pico 8 3d, or cool things done with tline.

Thanks for checking this out :)

14
7 comments




Top    Load More Posts ->