2/5/2019
Change some music
redesigned the level
TODO:
figure out how to de-couple the background from the level.
currently the entire level is drawn out in the map space. Need to figure out way to draw the levels in code I think, so I can use the map space for the backgrounds of different levels. Currently only enough map space for 1 level...
1/17/2019
added start screen
redesigned enemy and map layout
1/16/2019:
New parallax background implemented, thanks to this tutorial.
Parallax still kinda buggy i think.
changed UFO shoot sound
added explosions on UFO kill
limited dagger lifespan
added UFO explosion sound
added life bar
added instant death lava
WIP of my first pico-8 dev project. I built this on top of @matthughson's excellent advanced micro platformer with liberal use of the amazing art from kicked-in-teeth's tile sheets and DOM8VERSE's projectile tutorial from pico-8 fanzine #3.
This is my first cartridge for Pico-8. A very simple snake clone!
c=cos s=sin l=sphere v=8 M=2 m=-M function _draw() clv() for X=m,M do for Y=m,M do for Z=m,M do T=t() a=T/8 W=c(a) w=s(a) V=v*(1/T+1)+W+w x,y,z=X*W-Y*w,X*w+Y*W,Z x,y,z=z*w+x*W,y,z*W-x*w x,y,z=x*V+64,y*V+64,z*V+32 l(x,y,z,5,224-16*flr(y/16-2)) l(x,y,z,4,13+X+Y+Z) end end end end |
Hello, this is my first pico-8 game, a fidget spinner simulator. Just press x to spin!
Hope you like it!
I'm trying to activate / deactivate an animation from a script, but regardless of what I do the animation only follows the activation rules set in the editor.
I have a animation for the character talking that I want to deactivate when they're not talking but, I can't get the animation to deactivate.
I have the following script attached.
function update () if (is_talking) then this:activate (557) else this:deactivate (557) move_with_buttons (this) end end |
Has anyone encountered this problem / got any solutions ?
Thanks.
Feature Overview
- DMP() prints values, table internals.
- Stop the routine.
- Clear Screen.
- Display the contents of the specified table.
- The order in which the associative array table is displayed is undefined.
- Use the left, right, up, and down keys to scroll the screen and check the contents.
- This function consumes 168 Tokens.
local t={ 1 ,str="string" ,obj={"o","b","j","e","c","t"} ,{{{}}} ,{nil,true,false,function()end} } dmp(t) |
Symbol summary
# Number $ String % Boolean * Function(output only the "[Function]") ! nil(table pairs() skips nil, so it is not shown.) {} Table |
This function is included in the KNUTIL library.
release note
A simple endless flyer PICO-8 game, avoid the ground and obstacles, collect balloons to stay afloat!
Controls:
Btn 1 (Z) : Make balloon
Btn 2 (X) : Pop balloon
Hi,
I know that you can save GIFs in PICO 8 by pressing F9, but is there a way of doing so in Voxatron?
Thanks
just made my first game, Dankbot Danger!
enjoy!
I teach a Pico-8 workshop at the Richmond Public Library (in Richmond, BC, Canada), and this is a simple game that I use for it. I've also ported the game to Scratch, JavaScript, and Python for use in our Code Clubs. It's not fancy, but it is challenging to play and has most of what you need in a game. It's also very easy to expand on to add more depth and complexity.
You are in an arena. There's a wolf chasing you. You have 3 lives. If you can collect 10 coins you can buy your way out of the arena and win. Good luck!
Sometimes when I play a cartridge from the web player from my phone, PICO-8 will show the splash screen and boot text, and then it will stop before playing the cart, printing the message: "invalid cart[ridge?] format." The issue can be worked around by refreshing, but whether it will then successfully boot appears to be intermittent and may require several refreshes. I have not seen the issue for a couple of days; but I realized I had not reported this nor had I seen it reported, so I thought it would be good to make a thread about it.
A short story-based game.
I made this over winter break (December 2018 - January 2019) for WPI's Chill Jam. It's mostly dialogue but there are some gameplay bits throughout.
The jam theme was "chill," which inspired the setting and failstate-free gameplay and also plays into one other detail.
Controls:
- Z/X/C: Advance Text and Interact
- Arrows: Move
You can also get this game from itch.io!
And if you want to follow my work, check out my Twitter: @Jusiv_!
- - - CHANGELOG - - -
v1.0 - Initial Release (9/01/2019)
v2.0 - Revision (7/21/2017)
- Fixed an exploit with Scene Sledding
- Tweaked Scene Sledding timing and internal requirements
- The game is now slightly less silent! (in certain places)
16 |
I made this little cutie with my boyfriend Asher and my friend Johnmark. It's maybe not quite a game considering we didn't quite get to level development but it is playable! None of us had ever made a game in pico 8 before but we thought it would be fun to a little game jam so we did this in two days. I'm pretty proud of it. Johnmark had the idea for the game and he coded it along with designing the title screen. Asher also coded and did the music. I did the art. We're pretty proud of it and we had a blast!
Instructions:
Create a path for the bugs to get to their matching flower.
Use the arrow keys to grow vines.
Use Z to confirm the vines.
Use X to switch vines.
Updated to be more accurate to the original.
old version:
This is a PICO-8 cover of Green Greens from Kirby's Dreamland.
With credit, feel free to use it however you like!
A simple vertical-scrolling space shooter.
This was a project I developed for Kronbits' Demake Jam in August 2018. Multiple updates to gameplay and visuals have been made from the original submission to make the game more enjoyable. The game itself is a demake of Nitrome's flash game Hot Air.
Gameplay:
Control the propeller with the mouse, and click to blow the balloon around.
The goal of each stage is collect all the flowers. The number remaining is indicated by a counter on the top right.
FillPatDraw FullColor version
This cart is tool that export code for drawing with FILLP() and RECTFILL().
The Exported data can draw that using without Sprite sheet.
You can also apply a check mask to an image by changing the value of _filppmask to a non-zero value.
Controls
How to use the exported code
Draw Sequence
UPDATE
- rev5: Improved drawing performance(25% faster). Reducing the tokens used. Abolition of autoload. Empty writing is suspended. Enabled the paste command on file name input.
- rev4: Can specify the drawing position by 1px instead of 4px.(Using camera())
Can superimpose masks while drawing.
Supports export of multiple png files. - rev3: Tuning Encode and Draw performance.
- rev2: Remove debug code
- rev1: Fixed can't return on Tabkey
Purpose: calculating a line-line intersection point
I've been trying to learn physics coding, which also means re-learning math I have long forgotten. Recent studies in vectors, sin/cos, etc. were difficult but successful, so this task seemed like it would be pretty simple. And yet....
I cannot see what I'm doing wrong here.
I've implemented line-line intersection algorithms as transcribed in various places all over the internet, and the resulting {x,y} is always the same. So the answers are consistent, but do not match expectations whatsoever.
Note: I understand this algorithm does not catch all cases, but rather I'm trying to show the simplest form of the problem I'm struggling with. It should be working for the case illustrated, as far as I understand. The line endpoints are chosen specifically to intersect on-screen, but the intersection algorithm will generate negative values in most, but not all, cases (?!?!?)
function line_intersection(line1, line2) local p1, p2 = line1.p1, line1.p2 local p3, p4 = line2.p1, line2.p2 local a1 = p2.y - p1.y local b1 = p1.x - p2.x local c1 = a1 * p1.x + b1 * p1.y local a2 = p4.y - p3.y local b2 = p3.x - p4.x local c2 = a2 * p3.x + b2 * p3.y local denominator = a1 * b2 - a2 * b1 local x = (b2*c1-b1*c2)/denominator local y = (a1*c2-a2*c1)/denominator print(x..","..y,0,120) return {x=x,y=y} end --l1 = {p1={x=10, y=25}, p2={x=25, y=10}} --THIS WORKS l1 = {p1={x=10, y=26}, p2={x=26, y=10}} --THIS DOESN'T l2 = {p1={x=0, y=0}, p2={x=60, y=60}} function _draw() cls() line(l1.p1.x, l1.p1.y, l1.p2.x, l1.p2.y, 7) line(l2.p1.x, l2.p1.y, l2.p2.x, l2.p2.y, 7) local intersect = line_intersection(l1, l2) circ(intersect.x, intersect.y, 2, 8) end |
Is there a trick to doing this in Pico-8 that I'm not understanding? Other attempts to translate algorithms (say from Wikipedia or Stack Overflow) were successful, so I thought I had a handle on things. It's frustrating being stumped by something that seems so simple. If anyone can point me in the right direction, I'd appreciate the assist.