Welcome To BulletHeck
Welcome To BulletHeck is a small Rougelike game focused on randomized items and conserving energy. Energy is consumed by both shooting (x) and sprinting (z) and running out will cause the player to slow down for a short time. New guns and items can be discovered as you progress as well as stat upgrades that can be bought from shops. The only objective is to reach floor 10 and fight the boss.
Weapons
Weapons can be found in chests scattered around the map. Each gun has perks and disadvantages so there isn't really a best option. Each run you could be given different guns so try and experiment!
Picotron always registers keyboard as player 0, and gamepad as player 1.
Even when I boot picotron with the gamepad already plugged in, it gets assigned as if it were a second player (player 1), instead of mirroring the input of the first player (player 0).
Is that intended?
To work around this, I've been using this to check for both players when handling my input checks:
if btnp(0, 0) or btnp(0, 1) then -- do whatever I need end |
I'm trying to make a simple text-adventure game within the terminal (using the arrow keys as input), but the print() functions for the various options aren't kept permanently on screen.
What am I doing wrong here?
cls(0) -- left = "80" -- up = "82" -- right = "79" -- down = "81" print("Press a key:") for kp = 79,81 do if key(80) and key(kp) then print("left") elseif key(81) and key(kp) then print("center") elseif key(79) and key(kp) then print("right") end end |
EVERY WEEK FOR THE MONTH OF MAY I WILL BE CHOOSING A WINNER WITH
THE HIGHEST SCORE SUMBITED EVERY FRIDAY
PERSON WITH THE HIGHEST SCORE WINS A FREE SHIRT FROM LNLYBRAND.COM
SEND A SCREEN SHOT OF YOUR SCORE TO
[email protected]
YOU WILL BE EMAILED A CODE THAT CAN BE USED AT CHECK OUT
FIRST WINNNER WILL BE PICKED MAY 3RD
MADE THIS IN 2 HOURS. NOT PERFECT
PROBLEM>>>
I purchased Pico8 for Windows and Raspberry Pi. I am having trouble getting my Powkiddy Q36 mini to run the Raspberry Pi version of Pico8.
WHAT I'VE TRIED>>>
It shows up in the Gmenu2x Launcher but just returns a 'can't execute this file' error. Any help is appreciated.
Thank you for your time and have a great day!
This is my first Picotron cart that is not a modification of others'.
This cart plays my cover of Clocks, originally by Coldplay. It also draws media player-like static graphics. Song cover was made using instrument pack made by @abledbody.
I made it as easy to use and as performant as I could. You certainly won't be getting the performance boost normally associated with an ECS, since that particular optimization doesn't exist in picotron, but you'll still get the architecture.
Here's a demo which showcases its use.
You can find the latest version and the documentation on github.
https://github.com/abledbody/picotron-ECS-framework/releases/
https://github.com/abledbody/picotron-ECS-framework/blob/main/README.md
a prototype for a Rain World inspired procedurally animated ecosystem
explore the ecosystem ive made as a spirit that can possess (X) and unpossess (X + Z held) creatures to control them
CONTROLS
- X | spirit - possess | spider - swipe (pick up objects/attack) | fly - attach/detach
- Z | spider - drop held object
- Z (held) | spider - spin web (use X to place ends of the web)
- X + Z (held) | spirit - unpossess
WARNING - This takes a ~10s to render so please be patient :P
A naive approach to rendering the Mandelbrot set.
I made this because I wanted to get a better understanding of the maths behind it, so I focused on making the code readable, not fast.
You can customise the colour by changing the parameters of the 'Gradient' function at the top of _init.
You could use this as a screensaver if you really wanted, but I wouldn't recommend it due to how long it takes to load...
Hello! This is my first post here :)
I've played around with Picotron in the past week and have some suggestions and ideas that I'll throw here:
- Userdata Views - I can make a whole post about this alone, but basically I'd really like userdata to work like numpy, based around views. This is a generalization of slices (also in 2d), casting to different data types, reversing of userdata, looking at every other value, and much more. This allows code to be a lot more generic and easier to understand, and by having it be builtin to the way userdata works it ensures the obvious and clean code is cheaper in terms of cpu time.
- Mixed Types Userdata Operations - For example, matrix multiplication currently only works on two f64 userdata, and I came up with a cool usecase for
f64 * u8 -> u8
matrix multiplication to efficiently do base64 encoding:I can't think of an intuitive default for a result type or good way to let the user choose it...
Important:
This game is very fast and contains fullscreen flashing effects. Flashes can be disabled by turning on the "reduce flash" option in the pause menu (-/enter).
The only way out
is through...
Blast your path to freedom and high scores measured in lightyears! Inspired by classic F-Zero games and Pico-8 bangers like BAS.
Features:
- Incredible speed!
- An evolving wormhole generated by multiple cross-modulating oscillators.
- Probably more control schemes than are necessary.
- The most metal soundtrack I could squeeze out of Pico-8. π€
Hello everyone, how are you doing? I'm trying to do something here and if you guys could help me somehow it'd be nice, I'm already grateful for your attention.
The thing is I was able to achieve the "rotation around a point" for Sprites ( in this case a circle ), but the issue is that I want to have multiple objects rotating around a point while starting at different "steps" of the rotation itself ( I'm attaching a image to explain it in more detail).
The code I'm using is the following:
MAIN.LUA
--sincos math timer=0 scr={ w=128, h=128 } opt={ spd=.5 } pix={ c=12, x=0, y=0 } cir={ timer=0, a=false, spd=.5, init=3, o=20, c=12, x=0, y=0, r=6 } function _init() cir.x=scr.w/2 cir.y=scr.h/2 pix.x=scr.w/2 pix.y=scr.h/2 end function _draw() cls(1) pset(pix.x,pix.y,pix.c) print("speed "..opt.spd) for entry in all(circles) do circ(entry.x,entry.y,entry.r,entry.c) end end function _update60() update_keys() for entry in all(circles) do entry.timer+= entry.spd/60 entry.x= pix.x+cos(entry.timer)*entry.o entry.y= pix.y-sin(entry.timer)*entry.o end if(keys.down) then opt.spd-=.1 elseif(keys.up) then opt.spd+=.1 end if(keys.right) then pix.x+=1 end if(keys.left) then pix.x-=1 end if(keys.activate) then make_circle(pix.x,pix.y,opt.spd,15,12) end if(keys.delete) then circles={} end end -- methods -- -- make_circle(x,y,s,o,c) |
UTILS.LUA
--utils circles={} function make_circle(x,y,s,o,c) local obj={ timer=0, a=false, spd=s, o=o, c=c, x=x, y=y, r=6 } add(circles,obj) end function update_keys() keys={ activate=btnp(π ΎοΈ), delete=btnp(β), right=btn(1), down=btnp(3), left=btn(0), up=btnp(2), } end |
Thanks in advance for any help and have a good day!
SpritePaper
A general tool to use sprites a Picotron wallpapers
to begin, simply place the cart at
/appdata/system/wallpapers/
and select it as the chosen wallpaper from the Picotron settings.a settings file will be automatically generated at
/appdata/sprite_bg/settings.pod
there is also a readme file inside the cartridge which goes a bit further in depth on what all the settings do