220331
Minor bugfixes
- Pressing O to skip the last cutscene didn't reset the game
- One of the levels had an unintended moving platform
About
Dambi was running low of the essential winter supplies, and she decides to raid the nearby snowmen's den. After all, they're natural competition for the same ecological niche.
This is a sequel to Dambi Gest Ready for Winter, and as such it looks quite similar with the recycled assets all over the place. Gameplay-wise, it's quite different as the enemies now actively chase Dambi. These snowmen are the first enemies in my games that can go around obstacles and chase the player -- not in the most efficient manner, but still.
In this game you will have to avoid as many cars as possible to realize the best score, with different game modes.
The game is located before What The void and Card Hell in the timeline.
Have fun !
====================
Dans ce jeu vous aller devoir esquiver le plus de voiture possible afin d'avoir le plus gros score possible avec différent mode de jeu présent.
Le jeu se trouve juste avant What The void et Card Hell dans la timeline.
Amusez vous !
====================
PixEditor is a tool that can be used to draw 8x8px sprites and turn them into nonograms/picross boards. It uses a simple format that allows boards to be shared for other people to edit/solve. Here's a little guide:
Controls and layout:
PixEditor is controlled with mouse only, using just the cursor and left click. This also makes it compatible with mobile devices (except for saving and loading).
The PixEditor layout is designed to look like the built-in editors found in PICO-8. It features two modes: Draw Mode (PixEditor) and Play Mode (PixPlayer). In both modes, colors can be selected from the bottom of the screen. Draw Mode's layout has several icons, each one affecting the board in a different way:
- Clear: this icon clears the entire board filling it with color 0, the default transparent color.
- Grid: this icon turns the grid on and off.
- Play View: this icon turns Play View on and off. If Play View is on, all transparent colors will turn invisible (color 0) and all visible colors will be displayed as color 7.
- Save: this icon saves the board as a string.
- Load: this icon loads a string to the board.
- Game: this icon switches the game mode from original to color and vice versa. Unlike all of the previous icons, it can be found at the top right of the screen.
- Play on Load: this icon turns the "Play on Load" mode on and off. It can be found next to the Game icon.
- Switch Mode: changes the mode from PixEditor to PixPlayer and vice versa. It can be found at the top right of the screen, which displays the name of the mode.
- Color Transparency: this icon turns the transparency of the selected color on and off, and it can be found next to the "pen color" text (top middle). When a color is transparent, it shows four dots on top of the color selection bar found at the bottom of the screen.
The name and state of each icon can be seen at the bottom left of the screen when the cursor is positioned over it.
Saving:
When clicking on the "save" button (on the BBS, press ctrl+c afterwards), the board will be saved to a string, with each part of it representing different parameters of the sprite:
- Item 1: pixeditor_board (used to check the loaded string format)
- Items 2-17: color transparency table
- Items 18-81: pixel colors
- Item 82: PixPlayer completion text - this string defines the message that's shown when a board is completed in the PixPlayer. When saving, this string defaults to "well done!", but it can be changed in a text editor. It can be useful to display the name of whatever the sprite is supposed to represent. However, once the player switches to from Play Mode to Edit Mode this text will be reset to "well done!".
To load a string copied outside of PICO-8, the key combination ctrl+v must be pressed before clicking the "load" button.
If Play on Load mode is enabled, the mode will be set to PixPlayer as soon as a string is loaded, and, every time the mode is switched to PixPlayer, the player won't be able to go back to PixEditor until the puzzle is solved.
Thanks to the PICO-8 discord server for all of the help and feedback!
Thanks to Ningow for helping with and providing code for number rendering!
Presenting Picowings Flight Simulator
Take off and explore the mountains and lakes of Picotopia!
Controls
-- left, right: Roll + Yaw
-- up, down: Pitch
-- z, x: Throttle
-- p: Pause and set time of day
Tips:
Hold down Z to increase speed on the runway before pulling up (down arrow) to take off.
If you look around, you will see houses, buildings, and ships.
Technical Notes
Flight model should be "somewhat realistic" in that it models thrust, lift, drag and weight--Of course all the numbers are made up, and things are grossly simplified.
This issue reproduces for me on multiple browsers (including chrome), and for luchak (on chrome 98).
Warning: this bug deletes all BBS saves - not just the ones of the carts used to reproduce it.
Steps to reproduce:
- Load some cart with a save in it, verify that the save works. I used https://www.lexaloffle.com/bbs/?pid=94408#p (you can save/restore via menu)
- Open new tab with some other cart. I used https://www.lexaloffle.com/bbs/?pid=108109#p
- In this new tab, press play and immediately switch to the old tab
- Refresh the old tab and check if your saves are still there. They will not be.
- If you want to see your saves again, switch to the new tab and let it load. If you don't care, delete the new tab - your saves are now gone forever.
It looks like when a game is first loading, it deletes the local storage (well, indexed db). Then, a bit later, it restores it.
Feature Overview
CAT() concatenates two or more tables.
- The second and subsequent arguments are added to the table elements of the first argument.
- Returns a concatenated table.
- The table used for the first argument is updated. (destructive)
- This function consumes 39 Token.
local tbl_1 = {'a'} local tbl_2 = {'b', 'c'} cat(tbl_1, tbl_2) ?tbl_1[1] -- a ?tbl_1[2] -- b ?tbl_1[3] -- c -- Only primary elements can be cloned by specifying an empty table for the first argument. local tbl = {1, 2, 3} local tbl_dup = cat({}, tbl) tbl[1] = 256 ?tbl_dup[1] -- 1 ?tbl_dup[2] -- 2 ?tbl_dup[3] -- 3 [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=88288#p) |
I don't feel like I have the greatest grasp on Lua metatables/metamethods, but I came across some unexpected behavior this week and was wondering if this is a bug. Example cart attached.
I'm setting up a "class" like so:
class = {} class.__index = class function class:new(instance) local instance = instance or {} setmetatable(instance, self) instance.__index = instance add(self, instance) return instance end |
To save tokens, and since I never expect to have numeric indexes in class
or any subclasses I instantiate from it, I simply add the instance to whatever object is self
when :new()
is called. ie, class[1]
is a subclass, and subclass[1] == class[1][1]
.
This works great if I use vanilla Lua ipairs()
to iterate over subclass
, but if I use Pico-8's all()
or foreach()
built-ins, things start breaking. Unlike with ipairs()
, if #subclass < #class
, the loop continues and retrieves any remaining values from class
! So, in the example below, the all()
loop will correctly access `class
I implemented a simple CNN (Convolutional Neural Network) to recognize handwritten numbers!
The original CNN was implemented and trained in Tensorflow/Keras. The weights of the CNN are kept using sprites.
There are still some mistakes, but it will be fun to see how the CNN works (or not).
(The code is messed up, so I'll fix it someday...)
(Edit) Now the mouse input is available!
Left click: draw
Right click: delete
Left + Right click: delete all
Under the Commandline Parameters it lists:
-screenshot_scale n scale of screenshots. default: 3 (368x368 pixels)
The actual size of a 3x screenshot scale is: 384x384 pixels