i wanna get back into gamedev sometime this year, or at least try to, and this little thing seems the perfect way to start that journey.
unfortunately i dont know how to change my username, so this accounts name will forever reflect a 12 year old pipo, one with foolish ambitions and thought they wouldnt be a girl in the future lol
this is just me yammering. i wont post much and its unlikely anyone will see this but, sometimes its nice to talk out in the void
PICROID is a procedurally generated metroidvania-inspired platformer.
Each playthrough offers a unique map, where your goal is to explore and survive as long as possible without shrinking to death.
There are no enemies or boss fights—just pure exploration and challenge.
This is a beta version, and the game is still a work in progress. Feedback and suggestions are greatly appreciated!
Controls
Changelog:
- Beta 0.7: Tweaking the shop | Minor bug fixes
- Beta 0.6: New game mechanic: coins & shop | Improved gates | Level design is slightly easier | misc bug fixes
- Alpha 0.5: Fixed health restoring minor bug
- Alpha 0.4: New levels change color, fixed a wall jump glitch
- Alpha 0.3: Fixed top collision minor bug
I made a simple ini parsing/dumping function. load_ini()
converts an ini string to a table, and dump_ini()
converts a lua table to an ini string.
This could be useful for projects that have a configuration file. Using an ini might be better for user configs since ini supports comments.
The ini format is simple. Section headings are marked with [section]
and items are stored as key=value
. Subsections are separated with a dot. Inline comments are not supported, but comments at the start of the line are.
Strings don't have to be quoted, but you should quote them.
Example:
[heading] a=1 b=2 [heading.sub] c="hello" d="world" [heading.array] 1=4 2=5 3=6 |
This will convert to:
{ heading = { a = 1, b = 2, sub = { c = "hello", d = "world" }, array = { 4, 5, 6 } } } |
With the way I wrote it, it can handle anything that can be parsed with unpod()
. This may be useful for writing some things (such as arrays) more compactly. The following is equivalent to the above example:
[heading] [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=160480#p) |
Nin Demo V1
A demo for an action-platformer I have been working on. It has about 14 levels done so far with a planned 32. Any feedback is much appreciated as I still have a lot of work to do on the game. There are level numbers in the top left corner if you have any feedback for a specific screen.
Enjoy!
This is a trash manager for Picotron that loosely follows the XDG Trash Specification. You can use it to delete and and later restore files from trash.
Full usage instructions are in the README (also available from "Help" inside the cart), but basically you can drag/drop files to move them to trash. Left click a file in trash to restore it, right click a file in trash to permanently delete it.
You can also use Trash Manager as a CLI utility.
trash [files]
to move files to trash
trash --list [search]
or trash --search [search]
to list/search trash
trash --restore [files]
trash --restore-all
to restore all files
Elevator in my raycaster FPS Dark Streets. Pushing the button simply teleports the player to an identical-looking elevator on another "floor" (somewhere else on the map), but since the player has to face the button, they cannot see the sudden change. Adding a little shake and a ding contributes to the illusion.
This Lua script is designed to copy files from a directory in /appdata/system/lib to the corresponding destination in /system/lib. The key functionality of this script allows the user to modify the system libraries (e.g., gui_ed.lua in this case) in /appdata/system/lib and have those modified versions persist even after a reboot.
Key Features:
Directory Syncing:
The script checks for files in the /appdata/system/lib directory.
It copies each file to the matching location in /system/lib based on the filenames. For example, if gui_ed.lua is modified in /appdata/system/lib, it will be copied to /system/lib/gui_ed.lua replacing the original.
Persistence of Edits:
Any changes made to files in /appdata/system/lib will persist after reboot, ensuring that the customized libraries remain intact and are used when the system restarts.
Works with Any /system Directory:
The script can be adapted to copy files from any directory within /appdata/system to the equivalent directory in /system, not just /lib. It can be used to update any files in the /system/ directories by making minor changes.
gui = create_gui() gui:attach_button{ label="Press Me", x=0,y=0,w=64,h=64, click=function(self)self.hidden=true end } function _update() gui:update_all() end function _draw() gui:draw_all() end |
Hiding a button throws an error at line 959 due to el being null. The if statement checks for dragging_el but does not check for el, which has become null due to become hidden on line 833.
I propose a check for el check on line 953 so an error is not thrown.
I understand that tap can be used instead and this avoids the issue, but wanted to mention as seems common enough implementation.
I'm running pico-8 0.2.6b under macOS 15.2 (24C101)
I have only seen this with one cart from the BBS, but it seems reproducible. I don't know if the cart is doing anything unusual but it manages to crash the pico8 process entirely.
If I load #GORDY_AND_THE_MONSTER_MOON-0 (new today in splore), get through the story intro, move a few screens up and jump down the ladder; pico-8 repeatably crashes with:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x0000000100778930 Termination Reason: Namespace SIGNAL, Code 5 Trace/BPT trap: 5 Terminating Process: exc handler [1242] Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 pico8 0x100778930 get_pitch_for_char + 104 1 pico8 0x1007781e0 pico8_print_char + 3016 2 pico8 0x100778f7c pico8_print_text + 788 [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=160412#p) |
I often want to modify the core utilities located in the /system directory, but they always get reset when the system is rebooted or shut down. This includes default apps, tooltray, utilities, and other system files that I wish I could edit and save permanently. However, I keep getting the error "Can't save changes to disk," which is quite frustrating.
Am I the only one who would appreciate a way to make these changes permanent? Is there a way to modify these files and save the changes to disk, or is it even possible? Any help would be greatly appreciated!
Picotron Launcher v3.0
Inspired by EZEN's NewCarts Viewer.
As far as I’m aware, this is the first launcher ever created for Picotron! While other luncher displays new carts uploaded to the online repository, or a fix selection of carts, this launcher focuses on local content. It scans the /appdata/bbs/
directory on your Picotron machine, lists all .p64
files, and lets you launch them instantly with a click—making it easy to access and run your locally stored projects. I like to keep it on my desktop for quick cart access. and I put all new cart I aquire from the bbs into that /appdata/bbs/ directory making it very convenient. if you have any suggestions let me know.
NOW WITH SOUNDS
One of my biggest takeaways from this project is the concrete understanding of the dangers of Feature Creep, as well as the importance of having realistic project expectations and proper planning. In software development, it’s inevitable to encounter bugs and features that need to be adjusted based on real-world scenarios. These tasks take up a significant amount of time, which is often unpredictable. Therefore, it is essential to allocate sufficient time for debugging and adjustments, instead of continuously trying to integrate new features into the program.
Moreover, the dangers of Feature Creep were vividly demonstrated in this project. In my past programming experiences, I rarely paid attention to the memory usage of the program. As a result, I often wrote code with higher readability and decoupled various modules to make them easier to modify and debug. However, this approach inevitably led to code bloat, which I didn’t consider a problem until now. Given the limited code capacity of the Pico-8 engine, I encountered memory issues during the final stages of the project and had to spend extra time trimming down my code. Fortunately, I realized the problem of Feature Creep midway through development and decided to cut half of the planned levels and monsters. Otherwise, the memory constraints would have caused even more headaches.
Gordy and the Monster Moon is a bite-sized, Halloween-themed Zelda-like about a pumpkin astronaut going on spooky adventures.
- Explore the strange and varied biomes of the Monster Moon!
- Find upgrades and unlock shortcuts to help you explore even better!
- Defend yourself from monsters with a cobweb you found on the ground.
- Ask dad for help if you get stuck!
- What is in Lander B?
When I put this game on Steam in 2023 I wanted to make it available to the Pico-8 community for free, but I didn't want everybody to be able to play it for free because then who would buy it? The compromise I came to was to make the cartridge available for download, but not upload it to the BBS.