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

[Under spam review]

P#88608 2021-03-06 06:59 ( Edited 2021-03-06 07:01)

[Under spam review]

P#88606 2021-03-06 05:01

Cart #mekasehusi-2 | 2021-03-05 | Code ▽ | Embed ▽ | No License

here is a little cartridge demonstrating the reflection of light ray on a mirror.
i'm new to pico-8, and i love it.

P#88594 2021-03-05 19:25 ( Edited 2021-03-05 21:39)

Cart #nocliplost-1 | 2021-03-05 | Code ▽ | Embed ▽ | No License

Finally, track four! This is a short one.
It sounds like something from a trailer so there's one use idea!

If you want to translate the symbols, the language is Korean(I'm not Korean but it looks cool so...). Of course, if you already knew Korean, you would know that it was in Korean and you would understand the Korean since you already knew Korean. Y e a h . Anyways, enjoy!

P#88588 2021-03-05 17:57 ( Edited 2021-03-05 18:45)

I'd like to learn from some of the carts here in this forum by loading them into Designer. Is that possible?

P#88579 2021-03-05 13:54 ( Edited 2021-03-06 00:56)

Cart #pihihipihi-0 | 2021-03-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#88567 2021-03-05 07:14 ( Edited 2021-03-05 07:14)

Cart #doors_and_keys-1 | 2021-03-05 | Embed ▽ | License: CC4-BY-NC-SA

There are two examples of keys that you pick up.

Multiple keys at same room and multiple keys at different rooms.

Please let me know if you have questions.

Hope that helps

/DM

P#88564 2021-03-05 04:42

Cart #starjump-0 | 2021-03-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
11

You are a star that jumps (video gaming).

Soundtrack: youtube.com/watch?v=qi2jSi0W4JM

Move: arrows or ESDF
Jump: Z/X/N/M

Addition options in menu (P/Enter):

  • Adjust wobble intensity
  • Show timer
  • Skip screen
  • Reset progress

Big thanks to friends and twitter pals for the testing, support and feedback <3

P#88554 2021-03-04 23:33

Cart #tetris-1 | 2021-03-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Hey guys,

This was slightly based on the NES version.
I wanted to start learning Pico-8 and found motivation in the fact that my fiancee loves Tetris, so yeah, another Tetris game was made ^^

I don't know if I'll be able to make sound effects for it because I lack the knowledge, but who knows, maybe sometime in the future?

Anyway, if someone plays it, I hope you have a good time.

P#88551 2021-03-04 22:06

Cart #toki_pona_dictionary-0 | 2021-03-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Toki Pona Dictionary

I've seen a lot of posts detailing trying to add dictionary support to Pico-8. Those efforts are really impressive, but it made me realize that a dictionary would be much more manageable if the language weren't English. Thus, the Toki Pona dictionary was born. With only 120 official words, you could easily fit that amount of data into a Pico-8 cartridge. Press the up and down arrows to scroll the screen up and down.

Features:

  • All 120 Toki Pona words with their definitions
  • Each word is accompanied by its hieroglyphic
  • Press left or right to quickly scroll by letter

This project took me a short amount of time, so its focus is functionality. Let me know what you think :)

P#88550 2021-03-04 21:54 ( Edited 2021-03-05 02:44)

Is it possible to print things to the console?
Also, how do you reference objects in a script?

P#88522 2021-03-04 10:17

Boy has it been a full year since the last version, boy time sure does fly. I plan to add smaller graphical updates for now but in the near future I plan on revamping the old code and add more settings and customization, hopefully. For now v1.1 has a auto pick option in the settings under the "random colors" option for single player.

Cart #gujapitase-1 | 2021-03-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#88507 2021-03-04 02:19

Cart #random_doors_generator-8 | 2021-03-05 | Embed ▽ | License: CC4-BY-NC-SA

Student asked about how to make random doors spawn in a room.
I used emitter to emit inventory items and then have doors check for inventory item id.

I added a bit of a gameplay so it makes more sense and works as a game a bit better.

Will try to record tutorial later.

P#88498 2021-03-04 00:14 ( Edited 2021-03-05 06:19)

Pico-8 is a great tool, and for many reasons. The main reason I believe Pico-8 is so awesome is because of its restrictions. Limited palette and resolution inspires creativity, limited memory and computational power inspires optimization, and limited data values inspires frustration.

Yes, frustration. What I'm talking about is the 16.16 fixed point that only allows number values to go up to 32,767. I've only just started using Pico-8 but this is such an infuriating detail to me, which is why I've made this post in favor of allocating just a little more space for numbers. Something like 48.16 fixed point instead, or even 32.16 or 24.16 if possible (I'm not too knowledgeable on binary storage).

Yes, I know, there are several solutions to this problem. I've researched many and even came up with one of my own, but when you're just trying to throw together a game that for whatever reason requires values higher than 32,767, it's a total pain! On a recent game (where I first encountered the number limitations), I found myself spending more time fixing and optimizing this problem then I did working on the gameplay. That said, I'm not very good at math, but I still believe that it should be easier than this.

Anyways, that's my rant, I would love to hear other people's opinions.

P#88484 2021-03-03 21:30 ( Edited 2021-03-03 21:32)

Hi everyone.

Playing around with the new mouse control feature of PICO8 I got the idea of a "1869" style game.

Remember "1869" on Amiga? It's a trading game. You ship around and buy and sell goods.

This is a very early stage but somehow I got stuck on my way using tables.

Perhaps someone can give me a clue?

Cart #anno1869-0 | 2021-03-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

P#88482 2021-03-03 20:57

Cart #gridsofthermometers-1 | 2021-03-04 | Code ▽ | Embed ▽ | No License
13

A pico-8 version of a puzzle game I made a few years ago on mobile.

Have fun!

P#88460 2021-03-03 18:55 ( Edited 2021-03-04 08:11)

Cart #mkol103p8wp-0 | 2021-03-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Pico-8 Word Processor

As someone extremely fond of retroactively useless technology, I thought I'd take the time to make an instantly obsolete piece of software. This is the Pico-8 Word Processor, the text editor you never knew you needed (because you don't).

In seriousness, I think this project would work well to keep away distractions when writing. It strips writing down to the bare essentials, almost like writing on a typewriter. No superfluous fluff here; only the written word.

This is my first Pico-8 published project, so let me know what you think or if you can think of any additions. In the future, I'd love to create a version compatible with non-keyboarded hardware (see below) and to include more calming classical music (like clair de lune)

Features:

  • 27 characters per line, 13 lines per screen; all in a stylish, yet readable font
  • Supports both uppercase and lowercase letters
  • Day/Night modes, included BGM, and toggleable key clicking noises to make the experience just that slight touch nicer
  • When finished, export your text to a .txt file for further editing

Credits:

  • daniel linssen for the font (m3x6) and @merwok for converting it to Pico-8
  • @RobbyDuguay for the BGM
  • @Gruber for the key clicking sound from their sfx pack

Virtual Keyboard

By modifying code from afburgess, I was able to make a quick mod that allows non-keyboarded hardware to run this software. In the future, I'd like to figure out a way to make typing a little quicker. Maybe I should move the keys around some more... Anyway, please give me any feedback you have!

Cart #mkol103p8wpvkv1-0 | 2021-03-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Credit to @afburgess for the base code of the virtual keyboard.

P#88455 2021-03-03 15:53 ( Edited 2021-03-03 21:40)

Cart #ndarwyi-0 | 2021-03-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#88446 2021-03-03 13:55

Cart #knutil-0 | 2021-02-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

"KNUTIL" is a library for PICO-8 that contains functions that are frequently used in the games I have created.
I've kept the functions that I eventually needed in my production.

In this cart, I show you how the scene functions work with animations.
Z key: Execute the order command.
Up/Down: Select the order command.

SCENE MANAGER controls and replaces the order in which functions are called with a small number of tokens by using consecutive string instructions.
The generated SCENE can register a global function as an ORDER.
One of the registered ORDERS is retrieved by SCENE and the process is repeated for the specified length.
When the processing is finished, it repeats the processing of the next ORDER.
This is expected to facilitate the planning of the performance.

Using SCENE

Create a SCENE ( MKSCENES )

SCENES, INDEXES = MKSCENES( { 'UPD', 'DRW', 'KEY' } )

SCENES: Contains the generated SCENEs.
INDEXES: The indexes needed to run the SCENES in the order they were generated.

Enter an ORDER into a SCENE ( CMDSCENES )

CMDSCENES([[
[SCENE NAME] [COMMAND] [FUNCTION NAME] [DURATION FRAME]
[SCENE NAME] [COMMAND] [FUNCTION NAME] [DURATION FRAME]
...
]])
  • [SCENE NAME] : Specify the name generated by MKSCENES.
  • [COMMAND] : Specify the following ORDER COMMANDS.
  • [FUNCTION NAME] : Specify the name of the global function.
  • [DURATION FRAME]: Specifies the number of frames to be sustained; if set to 0, it will not automatically terminate.

ORDER COMMANDS

ST (SET): Delete all stacked ORDERS in SCENE and set new ORDERS.

CMDSCENES[[
UPD ST MANAGE 0
]]

Clean the SCENE "UPD" and add a "FUNCTION MANAGE".

PS (PUSH): Add an ORDER to the SCENE

CMDSCENES[[
KEY PS KEYCHECK 0
]]

Add the SCENE "KEY" with "FUNCTION KEYCHECK" at the top.

US (UNSHIFT): interrupt ORDER at the beginning of a SCENE.

CMDSCENES[[
DRW US DRAWRECT 200
DRW US NIL 100
DRW US DRAWCIRC 200
]]

Scene "DRW" is executed in the ORDER of DRAWCIRC, NIL, DRAWRECT.

RM (REMOVE): remove one ORDER.

CMDSCENES[[
DRW RM
]]

Removes the first ORDER of the SCENE "DRW".

CMDSCENES[[
DRW RM DRAWRECT
]]

Deletes the DRAWRECT ORDER of SCENE "DRW", starting from the top.

CL (CLEAR): Remove all stacked ORDERS from the SCENE.

CMDSCENES[[
KEY CL
]]

Deletes all the ORDERS registered in the SCENE "KEY".

FI (FIND): Search and retrieve ORDERS from a SCENE.

RES = CMDSCENES[[
DRW FI DRAWRECT
]]

In this case, the return value RES is a table, and the ORDER "DRAWRECT" is in the first element.

Create a function for ORDERS.

FUNCTION KEYCHECK( ORDER )
    PRINT('PROCESSIONG ORDER')
END

Run each SCENE.

## In the _UPDATE() and _DRAW() functions
FOR V IN ALL(INDEXES)
    SCENES[V].TRA()
END

ORDER function

FUNCTION [FUNCTION NAME] ( ORDER )
    CLS()
    IF ORDER.FST THEN
        STOP"IT'S FIRST!"
    END
    IF ORDER.LST THEN
        STOP"IT'S LAST!"
    END
    PRINT('COUNT: '..ORDER.CNT..'/'..ORDER.DUR)
END

Properties of ORDER

FST / LST

ORDER.FST : at first execution
ORDER.LST : at the last execution.

CNT / DUR

ORDER.CNT : Execution count of the currently running ORDER.
ORDER.DUR : Count of expected end of the currently running ORDER.

PRM

It contains the value specified in the second argument of CMDSCENES.

RATE

Used to specify the end from the start, e.g. in coordinates.

ORDER.rate('[start] [end]', duration, count )

The default values for duration and count are the ones specified in CMDSCENES.

Force ORDER termination.

Do return 1
or
do ORDER.rm = 1.

Functions other than scenes

There is one in this library that I have already posted.
HTBL
VDMP

Functions not explained (I will post them some other time)


TONORM
TOHEX
TTOH
HTOT
REPLACE
EXRECT(RFMT)
TOC
JOIN
SPLIT(wrapper function)
HTD
SLICE
CAT
COMB
TBFILL
ECXY
OUTLINE
TMAP
MKPAL
ECPALT
TTABLE
INRNG
AMID
BMCH

P#59538 2021-03-03 12:49 ( Edited 2021-03-03 23:58)

PICO-8 0.2.2b 0.2.2c is now up on lexaloffle, Humble, itch.io, and for PocketCHIP.

This is a bug-fixing patch for 0.2.2 -- see that thread for a summary of recent features.

0.2.2b does have a few small features though. You can now use a .lua.png extension with the EXPORT command to get the source code (all tabs) of your cartridge printed out to an image with roughly A4 dimensions. This is intended mostly for visualisation purposes, and lines are cropped to 188 pixels (47 characters) wide. The jelpi demo source code is bigger than I imagined!

EXPORT JELPI.LUA.PNG

dots3d.p8 is much cuter

There are also some new extcmd() commands for setting screenshot output filenames, and the window title (intended for exported binaries).

I've also added a way to force the pause menu to come up, even if the cartridge is blocking it with poke() trickery. Simply hold the pause button for half a second, and the menu should come up no matter what (it's implemented at a low level). This might be useful when using SPLORE from a sofa, and a keyboard isn't available to terminate stubborn cartridges.

Full list of changes:

v0.2.2c

Fixed: ?"\ac0" starts from d#0 instead of c0 (again -- 0.2.2b was still broken)
Fixed: splore local directory navigation fails when using a relative home path set with -home
Fixed: export .lua.png only shows the first 2730 lines

v0.2.2b

Added: export foo.lua.png to get an image of the cartridge's source code
Added: Pause menu can be forced to appear by holding down pause for 300ms (even if program blocks it)
Added: extcmd("set_filename","foo") -- set the filename of the next screenshot or gif (can include %d)
Added: extcmd("set_title","foo") -- set window title (useful for exported binaries)
Added: Can toggle punyfont mode at command prompt w/ ctrl+p (useful for inspecting puny variable names!)
Changed: Default filename is /untitled.p8 instead of no filename (auto-increments to untitled_1.p8 etc.)
Changed: circ/oval that are not visible cost almost nothing, including circles that contain clipping region
Changed: filled circles/ovals that contain clipping region cost the same as the equivalent rectfill
Changed: shift+enter in code editor only auto-completes block for DO, THEN, REPEAT or FUNCTION
Fixed: ?"\ac0" starts from d#0 instead of c0
Fixed: preprocessor regression when using string at end of ..= statement: if (true) then a..="b" end
Fixed: pressing L / R in paused menu is registered by running program after closing menu
Fixed: printing text in tall mode (?"\^ttall") via commandline can chop off bottom line before scrolling
Fixed: drag-select text with cursor at bottom or top of screen scrolls too fast
Fixed: spurious stat(0) results when using yield() to exit frame instead of flip()
Fixed: line()/tline() sometimes draws pixels on opposite side of screen (0.2.2 regression)
Fixed: line()/tline() fails to draw lines that have x or y coordinates > 32767 pixels apart
Fixed: can peek() more than 8192 values in single call
Fixed: large fill circles (> radius 900) render incorrectly close to vertical center (32-bit builds, web)
Fixed: even-widthed filled ovals with midpoint < 0 is drawn off by 1
Fixed: black pixels in gif / map export not completely black
Fixed: map and spritesheet exporters do not respect current display palette and 0x5F36:0x8 (draw spr 0)
Fixed: code editor: cursor position off by one when selecting character after glyph (0.2.2 regression)
Fixed: code editor: tab names don't show up when 100% punyfont
Fixed: import spritesheet.png failing under MacOS (0.2.2 regression)
Fixed: export single sfx to .wav crashes when contains sfx instrument references

P#88442 2021-03-03 11:32 ( Edited 2021-03-04 06:40)
View Older Posts
Follow Lexaloffle:        
Generated 2021-03-06 08:37 | 0.185s | 4194k | Q:201