Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General | Off-site
SHOW MORE

Comic Play Casino is a vibrant and entertaining online gaming platform that brings together the excitement of https://comicplay-casino.com/ games with the charm of comic book aesthetics. With its visually captivating interface and a wide array of games ranging from slots to table games, players are immersed in an immersive gaming experience. The platform not only offers thrilling gameplay but also incorporates elements of humor and fun, making every gaming session enjoyable. From colorful characters to lively animations, Comic Play Casino creates a dynamic atmosphere that appeals to both casual players and seasoned gamblers alike. With its user-friendly interface and exciting features, Comic Play Casino stands out as a unique and entertaining destination for those seeking a memorable gaming adventure.

P#143822 2024-03-19 10:25
SHOW MORE

Basically what asked in the title. Is it possible to define a variable name in Lua without defining a value just yet?

For example, would

local tick

work as a way to define, in a function, a local variable named "tick" as a "nil" value automatically?

Sorry for the dumb question

P#143816 2024-03-19 09:39 ( Edited 2024-03-19 09:39)
SHOW MORE


load #gridnight_wallpaper-0
// to load from inside Picotron

A scrolling purple grid wallpaper, designed to fit with the built-in Moonlight theme.
By default, the grid scrolls to the left, shifts slightly in response to mouse movement, and has a clock in the lower-left corner.

It has various settings that can be adjusted in the pod file located here after first start:

/appdata/cubee/wallpaper/gridSettings.pod

Including:

  • Start Time - How long the initial fade-in should take.
  • Boot Wait Time - How long to wait before starting to fade in, to ensure the boot splash has completed before starting.
  • Show Time - Adds a clock showing the date and time in the lower-left corner when you move the cursor there.
  • Show Time Always - If Show Time is on, this makes the clock visible at all times.
  • Scroll Speed - How fast the background scrolls horizontally. Set to negative to go the other way, 0 to disable.
  • Follow Mouse - If on, the background will shift in response to mouse movement as if you were looking around.
  • Look Smoothing - Increase to make the mouse-shifting effect smoother, decrease to make it follow more precisely. 1 to disable smoothing. This helps when the cursor leaves the window, so the background doesn't "jump" so suddenly when the cursor comes back in a different location.
  • Invert Brightness - Inverts the brightness of the grid lines, so they're bright at the intersections and dark in between.

To install, simply save the cart in the following location and choose it from System Settings:

/appdata/system/wallpapers/
P#143815 2024-03-19 09:00 ( Edited 2024-03-19 09:09)
SHOW MORE


load #amateur_3d-0
// to load from inside Picotron

Hi! I've been working on trying to get something 3D for a while now, and in my first attempt, I wrote my own matrix functions, and I didn't even realize that userdata had built in support for matrix operations!! Well fortunately picotron crashed and I had to rewrite the whole thing!! :sob:

So anyway the cartridge above is my attempt at 3D rendering. This is my second ever attempt so there are probably some inefficiencies in there; so let me know if you have ways to make it run faster!! I've got 3 models included in comments in the code (no fancy gui yet, sorry, just paste the link from the comment to the "parse_obj()" function) so you can see how it performs with different size models.

The main reason I'm posting this is because I spent a really long time figuring out how userdata stuff works and using matrix operations with them, so hopefully this could be a good reference for anyone who is planning to use them?

Welp, thanks for checking this out! Later!

P#143804 2024-03-19 05:09 ( Edited 2024-03-19 05:17)
SHOW MORE

Hello, the release thread is a bit busy and I'd like to make it a bit more visible as it's both about a possible bug and a feature the community could use for editor or more, it's a bit more interesting than just a crash, I'd say. I think I found a possible issue with wrangle and filenav.

Basically, wrangle that works with the current opened file pwf() and by when creating the wrangle object you have to pass getter/setter to store/load data from the file. Right?

Inspired by the GUI code here and there, I found out that the argument intention was mostly the thing that makes filenav acts as an open/close dialog, or supposedly. Thus, I ended up with code looking like that

    sidebar:attach_button{
        x=0, y=0,
        label="Open",
        tap = function()
            local segs = split(pwf(),"/",false)
            local path = string.sub(pwf(), 1, -#segs[#segs] - 2) -- same folder as current file
            create_process("/system/apps/filenav.p64", {path=path, intention="open_file", window_attribs={workspace = "current", autoclose=true}})        
        end
    }
    sidebar:attach_button{
        x=32, y=0,
        label="Save as",
        tap = function()
            local segs = split(pwf(),"/",false)
            local path = string.sub(pwf(), 1, -#segs[#segs] - 2) -- same folder as current file
            create_process("/system/apps/filenav.p64", {path=path, intention="save_file_as", window_attribs={workspace = "current", autoclose=true}})
        end
    }

And somehow, it works! Or almost.

I believe there's a slight issue with the open_file intention: it doesn't properly override the doubleclick event, as seen in 1/apps/filenav.p64/open.lua, @zep wrote that he didn't any find another intention that didn't needed the same exception thansave_file_as`; the default operation did the same expected result anyway by leaving the default editor to open the file thanks to that hardcoded* extension/editor association mapping.

Thus we end up with the situation where we can't just open a file from a non-system editor by doubleclicking with a custom file or file format. I found a workaround: if you type the file to open in the filename toolbar, it'll properly handle the event, pass the open_file event back to wrangle and your file will properly load!

So, here's my questions:

  • Picotron's boundaries about what's user-accesible code or not is a bit blurry, should we allowed to use wrangle?
  • Should filenav's open_file intention get the same exception than save_file_as if it was called from an external program?
  • Was the end result intented or is it a bug? Having two contradictory results from the dialog seems like a bit unexpected.

Anyway, have a nice day!

P#143779 2024-03-18 23:02 ( Edited 2024-03-18 23:03)
SHOW MORE

Cart #harmonica-0 | 2024-03-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Forgot your harmonica? No problem, use this one!
Simulates a richter-tuned harmonica (also known as blues harp or diatonic harmonica).

Controls

left/right/down/up: play notes in the current position. Two adjacent holes can be played at the same time.
O: hold down while playing a note to draw in air (instead of blowing).
X: change position.

Use the pause menu to change harmonica key and toggle note display.

P#143772 2024-03-18 22:24 ( Edited 2024-03-18 22:32)
SHOW MORE

Hello!

I've recently got into creating games with Pico 8 and having an absolute blast. I've been searching for a solution to my problem but I don't know if its just my inability to search using the correct terms or what.

I'm basically looking for the simplest way to embed the game as HTML or possibly on itch.io but to keep the leaderboard persistent for -everyone- so people could compete. Ideally using some sort of save function but as I understand it they are per system rather than global has anyone looked into this before?

Thanks!

P#143773 2024-03-18 22:20
SHOW MORE

Cart #bubblegum_spin-1 | 2024-03-18 | Code ▽ | Embed ▽ | No License
1

Hello!

I'm looking for feedback on this game.

I'd love to hear the following from you u:
--What is your final hiscore?
--How long did you play for?

Any general criticisms are also greatly appreciated.
Thanks for playing and I hope you had fun!

P#143764 2024-03-18 21:53 ( Edited 2024-03-18 21:54)
SHOW MORE

Cart #blaster_buddies_tfancs_1-0 | 2024-03-18 | Code ▽ | Embed ▽ | No License
6

Simple top-down shooter with cute characters

This is the first game I made with Pico8!

Control

​Arrow keys - Move
Z​​ or C Key - Dash
X Key - Shoot / Reload

P#143751 2024-03-18 19:57
SHOW MORE


load #r01mastodon-0
// to load from inside Picotron

Mastodon

I made a basic proof of concept mastodon client in picotron! All it does is fetch a single status, given an instance and status id.

I am using the text editor GUI widget to display the text and take your input. To select the instance and status id, simply type them on the given lines. To submit, type a y at the end of the last line.

(For example: if you wanted to fetch https://mastodon.social/@zep/112095878554051090, the instance would be mastodon.social and the status id would be 112095878554051090)

Once a post is displayed, you can go back to the menu by typing y at the end of the first line.

I made a different version of this earlier, but that version used a python server to handle the json and text formatting. This version does everything entirely within picotron.

Credits

JSON - https://gist.github.com/tylerneylon/59f4bcf316be525b30ab
Word Wrap - https://rosettacode.org/wiki/Word_wrap#Lua

P#143734 2024-03-18 17:49
SHOW MORE


load #desktop_pet-0
// to load from inside Picotron

Some little poorly-drawn cat friends!
They run around on the desktop, sleep, hop, climb the edges of the screen, and bonk their heads on the toolbar if they jump into it.

As of rev2 (BBS release), you can:

  • Give them head pats. Sometimes they will go to sleep afterward.
  • Pick them up.
  • Place them on the side of the screen.
  • Wake them up from sleep.
  • Interrupt them when they jump; to catch them or make them fall.

If you made too many or want to get rid of them, you can grab them with the mouse and press [X] to send them away.

I very much want to make them interact with other windows, but I don't know if there's a way to retrieve a list of window coordinates/dimensions at the moment. If I work something out, or you do, we can add the final piece of essential screenpet functionality! (that being, sitting on windows)


If you'd like to have it autostart when Picotron opens, save the cart file somewhere, then edit or create "/appdata/system/startup.lua" and add the line:

create_process("/carts/desktopPet.p64")

... changing the path to lead to the cart file you just saved.
This is what I've done, at least. Whether this is best practice is up in the air.

P#143729 2024-03-18 17:44 ( Edited 2024-03-18 22:19)
SHOW MORE


load #picrossotron-0
// to load from inside Picotron

This was made mostly between pico-8 and picotron concurrently (saved in a text document) over the last month. It was really just putting the finishing touches on it once picotron was released.

Puzzles 3, 44, 45, 46, & 47 were guest contributions by Taichi on Discord.

The music hangs when you turn it off with Z (I think maybe a bug in how picotron handles music(-1)), but if you exit and start again, the music will be off until you start it again with Z.

I've learned so much from so many people but I must give a special shoutout to Krystman, whose Lazy Devs tutorials on Pico-8 were invaluable to learning the language.

P#143728 2024-03-18 17:44
SHOW MORE


load #man-0
// to load from inside Picotron

Documentation at your fingertips!

This cart installs the man terminal utility for reading documentation within picotron itself.

Something not documented? man will intelligently search the Fandom Wiki! 😱

Installation

  1. Setup yotta:

    • In the terminal
    • load #yotta
    • Press Ctrl-r
    • Press x to install
  2. Install this package:
    • In the terminal
    • yotta util install #man

This will install the following files for you:

appdata
└── system
    ├── lib
    │   └── man.lua  # The `man()` function for library usage
    ├── man/         # Man files live here
    └── util
        └── man.lua  # The `man` terminal utility

Usage

In the Picotron terminal, run man.

NAME
    man -- format and display the manual pages

SYNOPSIS
    man [section] name

DESCRIPTION
    man formats and displays the manual pages. If you specify section, man only looks in that section of the manual. name is normally the name of the manual page, which is typically the name of a command, function, or file.

    See below for a description of where man looks for the manual page files.

MANUAL SECTIONS
    The standard sections of the manual include:

    1        User Commands from /appdata/system/util

    2        System Calls such as fetch

    3        Picotron Lua Library Functions

    wiki    Wiki pages from https://pico-8.fandom.com

P8SCII FORMATTING
    man understands most of p8scii formatting. The \a command to play audio is not supported.

SEARCH PATH FOR MANUAL PAGES
    man searches /appdata/system/man for local manual pages in the format <name>.<section>.

WIKI PAGES
    When section is 'wiki', or local manual pages are not found, man will return the first search result from the unofficial PICO-8 wiki: https://pico-8.fandom.com

AUTHOR
    Created by Jess Telford <[email protected]>

Contributing

The code is on GitHub, and I'd love help documenting more of the picotron system so everyone can benefit!

Please open PRs and issues with suggestions ❤️

P#143718 2024-03-18 17:08 ( Edited 2024-03-18 17:20)
SHOW MORE


load #todo-0
// to load from inside Picotron

A simple to-do list app for Picotron! Use this to help keep track of what you're working on. :)

P#143721 2024-03-18 17:04
SHOW MORE

hi hi
i made this to show my friends a demonstration of what PICO-8 can do. so i guess consider it a prototype or tech demo of sorts...
this was made for a 2 month game jam. never coded a game from scratch before, but i really enjoy using PICO! the game doesn't fill up the cart, barely using the graphics data and only 60% of the tokens, so a lot more can be done.
have fun with my cozy lil space game!
-Dinny

Cart #dinaari01-0 | 2024-03-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Controls / Mechanics

Up (hold): Gas / Maintain Speed
Left/Right (hold): Turning
Down (hold): Brake / Charge Boost
X (tap): Planet Finder / HUD
Down (hold) + X: Boost (blows up nearby obstacles)
Left/Right (tap): Build up a little speed

Bottom Map: You are the gold dot, collected planets are green. Nearby planets are red. Special planets are purple. Each map cell is 2048x2048 pixels. Map wraps in both directions. Layout is randomized on cart load and persists through death with your collectibles and upgrades
Health: Collecting anything restores health. Jars increase max health (although a bug leaves the max health uncapped) High speed collisions are always fatal.
Win: Collect 8 green slimes. There's way more than 8 scattered around the world, so don't worry about missing stuff.

Credit

TheRoboZ's sprite rotation
https://www.lexaloffle.com/bbs/?tid=38548

JadeLombax's infinite scrolling (modified it to work in 2 directions)
see comment in this thread
https://www.lexaloffle.com/bbs/?tid=42875

P#143709 2024-03-18 16:40
SHOW MORE


load #dreams_wallpaper-0
// to load from inside Picotron

Here's a little wallpaper I made for my new Picotron system. There is a bit of irony to it, which I like.
This is intended to be used with the "moonlight" theme.

P#143713 2024-03-18 16:06
SHOW MORE

Cart #froggo_-0 | 2024-03-18 | Code ▽ | Embed ▽ | No License
8

Froggo - made in a week very shortly after I discovered the wonderful Pico8!

It's a remake of the arcade game frogger, manoeuvre the frogs to cross the road and river to score points, get all five frogs across securely to complete a level. The levels increase in difficulty as you progress. See how high a score you can get.

P#143708 2024-03-18 15:20 ( Edited 2024-03-18 15:21)
SHOW MORE

this is a new revision of top down engine with more effective dashing and a screen lock
z to dash in any direction that you previously pressed
arrow keys for movement and hope you enjoy!

P#143702 2024-03-18 14:53
SHOW MORE


load #picowings-1
// to load from inside Picotron

Altough I was born a little too early to call this a "childhood" game I can still appreciate it's relevance of this game as a good first game for any beginner programmer. Enjoy!

Controls:
Flap with Mouse or Up

I'd love feedback on the code if anybody is willing :)

UPDATE:

  • incorporated @Cutievirus feedback, it feels way better now. Thanks! (fun sidenote: All I had to do was shift "-" right once.
  • made it playable with the up button-making this a single button game. Thanks for the feedback, @ahrotahn
P#143696 2024-03-18 14:06 ( Edited 2024-03-19 07:50)
SHOW MORE

Cart #miberorubu-0 | 2024-03-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Introduction

Hi all, this is my first game uploaded into lexaloffle, hope you enjoyed playing it as much as i enjoyed making it.

Gameplay

This game works a little like yahtzee and roguelite combined into one.
Press arrow keys to move around and o key to accept...

Features

  • Progression
  • Synergies
  • Yahtzee
  • Artifacts
  • Hero Roster
  • Curses
  • Achievements
  • Secrets
  • Varying difficulties
  • Frustration
    and many more...

Credits

Just me...

Bugs

I'm pretty sure i tested most of the features.. but if there are bugs just drop a comment and i'll fix it.

P#143693 2024-03-18 13:42 ( Edited 2024-03-18 13:43)
View Older Posts
Follow Lexaloffle:          
Generated 2024-03-19 10:53:47 | 0.143s | Q:81