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 | Off-site
[ :: Read More :: ]

Cart #daggerjump-7 | 2019-02-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

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.

P#60698 2019-01-08 21:59 ( Edited 2019-02-05 16:22)
[ :: Read More :: ]

This is my first cartridge for Pico-8. A very simple snake clone!

Cart #coderox_snake-0 | 2019-01-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

P#60692 2019-01-08 21:44 ( Edited 2019-01-08 21:45)
[ :: Read More :: ]

Cart #sphere_cube-1 | 2019-01-08 | Embed ▽ | License: CC4-BY-NC-SA

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
P#60688 2019-01-08 19:47 ( Edited 2019-01-08 19:49)
[ :: Read More :: ]

Hello, this is my first pico-8 game, a fidget spinner simulator. Just press x to spin!

Cart #spinner-0 | 2019-01-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


Hope you like it!

P#60681 2019-01-08 15:54
[ :: Read More :: ]

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.

P#60680 2019-01-08 15:22 ( Edited 2019-01-08 15:22)
[ :: Read More :: ]

Cart #vdmplua-4 | 2023-06-10 | Code ▽ | Embed ▽ | No License
3

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


v0.5

  • add _update_buttons() (enable btnp in goto loop in _update thread)

v0.4

  • scrollable output.
  • exit with pause key.
  • additional colors for each type.
  • support for table display with 0 elements.
  • returns the result as a string.
  • simplified line feed concatenation.

v0.3

  • fixed comment

v0.2

  • name change: [ vdmp->dmp ]
  • remove value for print position.
  • add the type identifier
    before the table key.

v0.1

  • first release(vdmp)

P#60679 2019-01-08 14:10 ( Edited 2023-06-10 07:37)
[ :: Read More :: ]

Cart #balloonsgrs-0 | 2019-01-08 | Code ▽ | Embed ▽ | No License
4

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

P#60675 2019-01-08 06:22
[ :: Read More :: ]

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

P#60672 2019-01-08 01:25
[ :: Read More :: ]

Cart #dankbot_danger-1 | 2019-01-08 | Code ▽ | Embed ▽ | No License
1

Cart #dankbot_danger-0 | 2019-01-07 | Code ▽ | Embed ▽ | No License
1

just made my first game, Dankbot Danger!

enjoy!

P#60670 2019-01-07 23:19 ( Edited 2019-01-08 19:44)
[ :: Read More :: ]

Cart #arena-0 | 2019-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

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!

P#60660 2019-01-07 18:16
[ :: Read More :: ]

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.

P#60657 2019-01-07 16:25
[ :: Read More :: ]

Cart #lander-0 | 2019-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6


Randomized lunar lander game.

P#60654 2019-01-07 06:12
[ :: Read More :: ]

A short story-based game.

Cart #aurora_railway_v2-0 | 2019-07-21 | Code ▽ | Embed ▽ | No License
15

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)
P#60650 2019-01-07 03:18 ( Edited 2020-01-07 18:53)
[ :: Read More :: ]

Cart #soynic-8 | 2019-01-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
16

Gotta go fast!

Controls:

Arrow Keys - Run
X / Z - Jump

P#60649 2019-01-07 02:05 ( Edited 2019-01-14 17:17)
[ :: Read More :: ]

Cart #littlelattice-0 | 2019-01-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

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.

P#60632 2019-01-06 21:07
[ :: Read More :: ]



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!

P#60633 2019-01-06 21:01 ( Edited 2021-02-17 18:09)
[ :: Read More :: ]

Cart #rocket-3 | 2019-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

A simple vertical-scrolling space shooter.

https://github.com/simonwhitaker/pico-8/tree/master/carts

P#60630 2019-01-06 20:21 ( Edited 2019-01-07 08:51)
[ :: Read More :: ]

Cart #helium_gunturtle-0 | 2019-01-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

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.

P#60625 2019-01-06 17:37
[ :: Read More :: ]

Cart #fillpatdraw_02-7 | 2020-07-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

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.

Rectfill pattern animation

FILLP DRAW (2color version)

Controls

Sprite sheet view

  • Mouse Left Drag and Click
    1 Select the rectangle to be the source of the delimited block.
    2 Select the length of block from start to end.
    3 Click Export Button for Confirm and Enter the export (p8l)file name.
    In some cases there is a waiting time of 30 seconds or more.
  • Right Click
    Prev select mode.

  • Tab key
    Open the Menu Window.

Menu

  • PLAY Button
    Start Pattern Draw Preview

  • SAVE Button
    SAVE PNG file and Attach Cart data

  • LOAD Button
    LOAD PNG file and Attach Cart data

  • CLEAR!! Button
    CLEAR Sprite sheet(not Attach Cart data)

Pattern Draw Preview

  • Space key
    Stop and Start the Animation.
  • Left Click
    Step to Next BlockID.
  • Right Click
    Prev to Back BlockID.
  • Tab key
    Return The Menu Window.

How to use the exported code


Paste the code from the p8l file written by this tool into your code.

To execute it add the following code.

fillpat.draw(BlockID,x,y)
  • BlockID : Number in Selected Sprite sheet view mode.(start 1)
  • x,y : draw position.
  • Return value: If ID not found then TRUE else FALSE.

How to add data

That can add to the export data in the following way.

fillpat={d=[[
datablock1
(add datablock2)
(add datablock3)
]]

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
P#60621 2019-01-06 15:29 ( Edited 2020-07-21 14:38)
[ :: Read More :: ]

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.

P#60617 2019-01-06 07:48
View Older Posts
Follow Lexaloffle:          
Generated 2024-04-19 10:12:57 | 0.214s | Q:93