I like pixeled graphics and chiptune sound game.
I just released a pico-8 game on Steam!
And More Tools!
[Minimized 3D modeling tool] [ NEW ]
PELOGEN2
[PCM-5512.5Hz 6ch sound Track Sequencer] [ NEW ]
MinimemTracker
[Music scales and Play the Piano]
μ-Scale Lab
[Animation tool]
SPRANIM-KIT
English
Features
★ A cooking puzzle game featuring cute chefs!
★ Control the cooking chopsticks to line up and match three identical blocks!
★ Matched blocks turn into cooking ingredients—try to make as many matches as you can!
★ Once the cooking time is up, the dish is complete! It’s a surprise to see what you’ll make! 🎁
Controls (PC/Mouse)
- Left-click: Confirm, select, etc.
- Left-drag: Scroll screen, slide blocks, activate ✨️Special Move Block✨️(ワザブロック), etc.
- Left double-click: Activate ✨️Special Move Block✨️(ワザブロック)
- F1 Key: Screenshot
- F3 Key: Start GIF capture
.png)
リリースしました!
https://www.lexaloffle.com/bbs/?tid=158979
マッチ3ゲームを作っています。
もう一つのルールがあります。
別の投稿
https://www.lexaloffle.com/bbs/?pid=176711#p
I'm creating a match-3 game.
It can also be played with another set of rules.

This is the environment of my PC where this problem is occurring.
MacBook Air CPU: Intel OS: MacOSX Sequoia 15.7.4 Pico-8: v0.2.7 [Mac Client] |
The sensitivity deteriorates while the mouse is locked. (At this time, the load on the PC itself seems to be high.)
This problem does not occur in the browser; so far, it can only be reproduced on the client.
stat(9) is the Application's FPS. You can see a noticeable decrease in this.
stat(7) is the _draw() FPS. appears normal.
stat(1) is the total CPU usage. appears normal.
stat(2) is the Application's CPU usage. appears normal.
Recent developments.
More GIFs
https://www.lexaloffle.com/bbs/?pid=176711#p
Devlog (Public post)
https://www.fanbox.cc/manage/posts/10620374
日本語の記事はこちら
https://bitchunk.fanbox.cc/posts/11411583
Update content
https://bitchunk.itch.io/pelogen2
Common to all screens (3D model related)
-
Light sources are now previewed as objects. (Previously, they were pseudo-perspective.)
-
UV/Texture
- UV correction has been adjusted to prevent textures from spilling over.
It's still not perfect. - Fixed a texture reference bug that occurred when cell coordinates were not power multiples (1, 2, 4, 8...) in UV settings.
(Left-facing references are still a bit tricky. You'll need to get the hang of it.)
- UV correction has been adjusted to prevent textures from spilling over.
-
Adjusted the hidden area on the Z axis (areas that disappear in the foreground and background).
- The display state of the 3D model is no longer reset each time model data is loaded.
- Adjusted the scale.
- The overall reference value
- Generated 3D model object
- 3D model object in the file window
-月齢陣- (Getsurei-jin)
Color Palette
(278 chars)
camera(-64,-64)::●::f,q=circfill,t()/11cls()?'\^!5f10████♥♪●🐱\n⁴ 웃\n\n\n♥'
for i=1,11 do
i=i/11+t()/11x,y=sin(i)*52,cos(i)*52f(x,y,7,8)a=i*34%34-17f(x+sin(q)*a,y+cos(q)*a,9,0)end
for i=0,3do?'\^!5f5e'..('𝘥■"☉')[i+1]
b=i%3e,d=a*7*b,q+b*.5f(sin(d)*e,cos(d)*e,43,7)end
flip()goto ●
|
🐱<cat
Update version 2025/11/25
(299 chars)
f,r=circfill,rrectfill::🐱::cls()c=t()*3.5y=sin(-c)+55.5f(47,y,8,10)f(80,y,8)f(48,y,5,0)f(79,y,5)r(38,y-26,52,24,24)?"\^.\0\0f゛ᶜ⁸\0\0\n",60,y,13 x=cos(c/2)*2z=sin(c/2)*6?"\+fc∧\+0j\-0◜\-★◝" for i=0,1do d=x+48.5+i*19r(d+1,88-z*.5,min(z+8,8),13+z*1.5,8)r(d,z+96.5,13,(i*2-1)*x+7,3)z=-z end flip()goto 🐱 |
old ver

When playing SFX on more than two channels, it seems you can't use the same SFX-ID. (Is this because the sfx1 page doesn't have four sequencer clock channels? It's not a problem when using it as a custom instrument.)
Only the final SFX will be played.
sfx(0,0,0,16) sfx(0,1,16,16) -- Only ch1 will be played. |
It is played on two channels.
sfx(2,0,0,16) sfx(3,1,16,16) |
This cart has melody notes and noise notes entered in the first and second halves of sfx0.
sfx2-3 is a copy of the first and second halves, which is the intended behavior of the SFX playback on the second line.
[sfx]
New Feature: Texture Loop can now be set to 1-4.
Small Feature: Texture image import can now be undo'd.
Sample Code
The rendering engine for this tool has been adjusted to make it easier to handle multiple models.
Global rotation, camera coordinates, pivot coordinates. We'll refine these features as we create game models, and if we find any useful patterns, we'll share them.
_p_grot={0,0,0}
_p_gscale=3
v1=objload({1,2},{3},{4,5}) --eggplant
v1.scale={1,1,1}
v1.rot={0.18,0.02,0}
objrot(v1,nil,nil,nil,5) --hold rotated vtx
v1.orig={-8,-1.5,0}
v1.rot={0,0,0}
v2=objload({1,2},{3},{4,5}) --eggplant(reversed)
v2.scale={1,1,1}
v2.rot={0.08,0.24,0}
objrot(v2,nil,nil,nil,5) --hold rotated vtx
v2.orig={0,-6,0}
v2.rot={0,0,0}
v3=objload({1,2},{3},{4,5}) --eggplant
v3.scale={1,1,1}
v3.rot={0.12,0.02,0}
[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=172994#p) |
When you want to export a sprite sheet in a binary cart, the export command doesn't work.
So you can get around that limitation by taking a screenshot at 1x scale.
extcmd seems to work!
You can use this technique if you want to use a drawing program or sprite generation tool in a binary cart.
memcpy(0x6000,0,0x2000) --sprite-sheet to screen
extcmd('set_filename','spritesheet')
extcmd('screen',1) --[x1]scale screenshot
|
You can now apply textures on the UV editing screen!
The sample code also includes a way to draw that data!
-- PELOGEN library codes --
-- .
-- .
-- .
-- PELOGEN library codes --
-- load model(& color & uv)
local o=objload({16,17,18,19,20},{ 23 },{32,33,34,35,36})
_set_fps(60)
while 1 do
cls()
--set scales
o.scale={2,2,2}
--reset rot & init rotate:z
o.rot[3]=t()*0.4
objrot(o)
--(*1)set cordinates
o.pos={64,64,64}
--(*2)rotate:x
objrot(o,0.0625,0,0)
--(*3)add to raster-buffer on 'tx' mode
addraster(o,'tx')
--(*4)draw all raster-buffer
drawraster()
--short-code (*1)-(*4)
--default-render-mode: _p_render='tx'
--objdraw(o,{64,64,64},{0.0625,0,0})
flip()
end |
The trial version includes a 3D model saving function!
This cart has already had its ID written to the bottom of the MAP (x:0-127, y:32-64).
When you run it, the following processes are performed.
- Change the drawing target to the sprite sheet
- Call
rectfill()with color 0 on the bottom of the sprite sheet (shared with the bottom of the MAP) - Change the drawing target to the screen
- Draw the bottom of the MAP
The screen should turn completely black as expected, but the MAP continues to draw what it was before it was updated.
Finally, it calls cstore() to exit, and when you run it again, it will update to a completely black screen.
tline-GFX for practice and understanding.
https://www.lexaloffle.com/bbs/?tid=147597
I will share the code used in this post to implement it step by step.
Coding the ideal effect all at once can be complicated and difficult to implement.
Isolating all the elements and solving them one by one will bring you closer to your goal.
Step1
Draw one line from top to bottom with tline().
Step2
Shift the reference y coordinate so that it scrolls from bottom to top.
-曼蛇雷華- (Mandarage)
5-level color drawing using bitmask & trifill(limited).
Color Palette
(299 chars)
::★::cls()a,y={},0for i=1,64 do
p=sin(t()/64*i)add(a,p*48+64)y=add(a,y)+32end?'\^!5f11³³ャ³ャャッ³ャャッャッッワ'
for o=1,62 do
l,u,c,m,r,d=unpack(a,o*2-1)s,e,y,j=l,l,u,(r-l)/(d-u)o=1<<>o%4poke(0x5f5e,o|0xf0)while m do
v=y%140rect(s,v,e,v,o)s+=(c-l)/(m-u)e+=j
y+=1if(y==m)l,c,u,m,d=c,r,m,d
end
end
flip()goto ★
|





19 comments
