Welcome to the world of Dragmania!
Beware your rivals, defeat them in a race while dodging an onslaught of bullets and oil pits
Seek salvation in the boosts and shields across the track
All feedback and criticism welcome! Thank you for trying our game
Art by: colin malone aka FlyingChair www.colinmalone.com
I stumbled upon this very odd behaviour while making this tweetcart :
https://www.lexaloffle.com/bbs/?tid=39326
After loosing some sleep over why a pixel than can randomly go in any of the 4 direction always build staircases, here is what the poor souls of the #help channel on the pico8 discord server and I have found out :
- When trying to have randomly one of these results :
dx=0 dy=1
dx=0 dy=-1
dx=1 dy=0
dx=-1 dy=0
I wrote this :
dx=rnd({-1,1}) dy=0
-- %50 chance to swap them
if(rnd({true,false})) then dy=dx dx=0 end
The behaviour disappears if I use any other method of achieving this result
- HOWEVER, the distribution of dx and dy with this method appears to really be random
This is a "demake" loosely based off an old flash game called "Noggins". It's my first playable tweetcart and was a nice challenge for dipping my feet into making tweetcarts :)
Use the arrow keys to resize your box to fit the green box before the red one reaches it
x=0y=0m=200t=1s=.5q=-64b=btn f=flr a=abs r=rect::_::cls() if(t==1)w=f(rnd(64))h=f(rnd(64)) if(t<m and f(a(x))==a(w) and f(a(y))==a(h))t=0 t+=1camera(q,q) if(b(0))x-=s if(b(1))x+=s if(b(2))y-=s if(b(3))y+=s r(-w,-h,w,h,3)r(-x,-y,x,y,7)i=w*(t/m)o=h*(t/m)r(-i,-o,i,o,8)flip()goto _ |
Have you ever wanted to use numbers that were bigger or smaller than the range you're given in PICO-8? Perhaps you want some more digits of precision for the fractional part of your numbers. Or maybe you're interested in doing math in a severely inefficient way...
Introducing, the Decimal Floating Point library for PICO-8!
(This example cart calculates the value of pi in all three "datatypes", using Viète's formula.)
Wait, what? Doesn't Lua have floating point already?
Not PICO-8's Lua. It actually uses 16.16 fixed point numbers. Because of this lack of floating-point numbers on PICO-8, I decided to make this library to fill that void (not that anyone asked it to be filled, but still).
Road to ECS
Intro
This is about teaching myself Entity-Component-System (ECS) pattern. My current goal is to implement a few basic features one by one to build a code snippet library, starting from just drawing things on screen. Code will be in my GitHub/road-to-ecs and also as cartridges in this blog thread.
Some personal background: [hidden]I'm a software engineer, professional coding background is a bit of data comms in C and lot of Java starting from 1.4, some Android and mostly Java EE for enterprise systems with web fronts. For the last 5 or so years I haven't really coded except shell or other script/configuration languages for automating configuration management, CI/CD and so on (nowadays they call it devops).
I've been interested in PICO-8 for some time, but finally got it as a part of the great itch.io Black Lives Matter bundle. To me gamedev is previously unknown territory and it's fun to learn how games differ from other applications.
Also playing around with PICO-8 on my summer vacation revealed how much brain capacity my dayjob takes. On work days there is no chance that I could do anything productive with PICO in the evening. Scary.
I'm used to (and like) working within frameworks. I got a bit of blank paper syndrome with PICO-8 initially :) First I tried to apply traditional OOP but it didn't feel like a good fit for games. Browsing this BBS I found about ECS and it feels like a better fit for game applications. Now I just have to bend my mindset to it!
The battle for Eternia is in your hands!
Side with He-Man and his allies or Skeletor and his minions in this new take on the classic Barbarian sword fighting game.
Battle 8 levels against increasingly difficult foes or play against a friend. You have the power!
This Pico-8 cart is bursting with the Power of Grayskull, featuring:
- 16 Characters
- 16 combat moves
- 4 stages
- 8 difficulty levels
- 3 game modes
- A kickass soundtrack
Update 1.6 - 2021/08/15
-fixed crash in "vs cpu" select screen after credits cycle (Introduced in v1.5)
Update 1.5 - 2021/03/01
code optimization reclaimed over 110 tokes so:
-fixed an AI bug that made flying overhead chop overpowered with some opponent levels, now cpu reacts more like original code
EDIT: This has been resolved by Zep.
As the title says, the "code snippet within a line" markdown on the BBS doesn't properly respond to the end marker, and instead runs down to the end of the whole line.
Assume the following raw text:
This is a `code snippet` within a line! |
This should be expected (italics used to represent the text within the backticks):
This is a code snippet within a line!
But the observed result is:
This is a code snippet
within a line!
tempO
Play as a marble that can slow time and shatter other marbles by charging into them. Go for a highscore across 3 different difficulties, collect power-ups, and try to survive for as long as you can!
How To Play
Use Arrow Keys/D-Pad to roll your marble around the map. Hold Z/C/🅾️ to slow time and charge your marble in the direction you're holding. Release to send your marble flying in that direction. While your marble has a flaming trail, it will shatter anything it touches. Shattering other marbles has a chance to drop power-ups (The higher the combo, the higher the chance) and large marbles have a greater chance of dropping power-ups. Hearts will heal your marble by one heart, Invincibility will allow you to shatter marbles without charging, and x2 Charge makes your charge shots x2 faster while also instantly shattering large marbles. Have fun!
Hi, i'm working on a project with this function;
function amount_living_neighbours(x, y, board) local res = 0 for i= -1, 1 do for j = -1,1 do if i == 0 and j == 0 then goto continue end if x+i >= 0 and x+i <= 127 and y+j >= 0 and y+j <= 127 then if board[x+i][y+j] == white then res += 1 end end ::continue:: end end return res end |
and the interpreter tells me that i'm attempting to index a field ? in the line "if board[x+i][y+j] == white then " i.e it's null. Should'nt lua interpret it as a parameter and not as a nil? i'm not acquantained to the language and seems pretty nasty to use globals with this code.
Hokori 0.2a
And she keeps truckin' with these updates!
Now features a 2x2 screen level to jump around in! Also added semi-solid platforms because I'm bad at setting priorites! HOORAY!
Also first attempts at a somewhat decent text-display implementation (looks good, token efficent, what more would you want?)
For now the hearts are just FAKE (like the friendships of celebrities)- But this what the HUD will more or less look like (unless I add a broom-meter, but idk if that'd be fun, might be!)
Update Notes:
-- de parcourir le monde
-- et d'y roder
-- by noemie sauvage
-- de parcourir le monde
-- et d y roder
-- by noemie sauvage
-- helped by fabrice de chaumont
-- music provided by robbyduguay
"De parcourir le monde et d'y rôder" is adapted from the novel by Grégory Le Floch, published by Christian Bourgois éditeur.
The player finds something. Impossible to determine what it is. He will then have only one goal: to find its owner. The player will enter buildings and question the people he meets to get their opinion on the thing. But you'll have to avoid babies falling out of windows!
This game is adapted from an inventive, zany and very funny novel about the search for meaning.
Hello everyone! Welcome to the world of gun.io!
This is a cart-based on woomy-arras.io(arras.io fan-made game(diep.io fan-made game...))
Here's how to play!
1.Arrow keys to move(bam, bam, and bam!)
2.Left-click to shoot! (Ahh, a bullet.)
3.Press 'e' or shift 'E' to turn on auto-fire
4.Press 'C' or shift 'C' to turn on auto-turn
5.Z to scroll through the tanks(on the top-left) and X to switch the to tank selected)
6.Press shift-A or shift-b to switch to new op/weak tank
7.Press 'D' or shift 'D' for 😵
How to use the menu!
1.Keyboard to type
2.Press backspace or delete to delete
3.Press enter/return to play.
The Game!
More on how to play here:
https://www.youtube.com/watch?v=dQw4w9WgXcQ
Log(You'll find the game here!):
A long time ago, before the age of machine, was an era of MIRACLES AND MAGIC. Dodge SPINNING BULLETS and read MANY SIGNS on your way to steer the course of history!
Press X for actions and C to advance dialogue.
[16x8] | |
Hey everyone! This was done for a game jam over the summer, and it was my first time making a game using Pico-8 -- not that I made much outside of Pico-8 to begin with! I must say I really liked the experience! The included demos are really useful. Special thanks to oli414 for the dialogue system, and to lexaloffle for the fun game making environment.
v 1.2
This is my first time using Pico-8. To play, just move the pen with the arrow keys. I plan to take this further such as including the option to pick up and put down the pen, giving the player a reason to draw (such as mini games), using the cursor instead of the arrow keys, and more. I am still learning so any feedback would be greatly appreciated :)
Update v 1.4
So I added a scribble option. Not sure why, just seemed necessary. I have no clue what I want to do as far as an objective goes, but I'm sure I'll figure something out. Also there's a boundary bug. It's ok, I'll fix it soon.
Update v 2
I took away the scribble function and decided to make a clear canvas option instead. I think my next course of action is to add a menu and allow the user to change the size of the line, the color of the line, and possibly an eraser or undo function. I don't know if I set this up very well though, since I'm still new to Lua and Pico-8.
Pseudo motion blur using the extended palette + dithering with fillp
.
The crux of making this happen is:
local defaultFills = { 0b0000000000000000, -- solid 0b0000000000000001.1, -- single pixel missing 0b0000010100000101.1, -- 4 pixels missing 0b0101101001011010.1, -- half pixels missing 0b1111101011111010.1, -- 4 pixels rendered 0b1111111111111110.1, -- 1 pixel rendered } -- Derived from https://stackoverflow.com/a/10086034/473961 function resizeAndFill(input, outputLength) assert(outputLength >= 2, "behaviour not defined for n<2") local step = (#input-1)/(outputLength-1) local result = {} for x=1,outputLength do result [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=80976#p) |