Log In  
Follow
Txori
Follow

Making games at www.txori.com

Draw SVG
by Txori

Cart #loveknytt-2 | 2020-08-15 | Code ▽ | Embed ▽ | No License
10

The story so far

Knytt, a peculiar creature living on a unique planet, is abducted by an alien in a spaceship for no apparent reason and taken into outer space. While the alien is traveling through space, the spaceship is hit by a meteoroid and crashes onto another planet.

About the game

❤Knytt is the demake of Knytt, a game created by Nicklas Nygren (AKA Nifflas), back in 2007. At that time, I was working in Umeå, Sweden, and this Swedish little game was the new thing. I liked it right away: no real danger, just exploration with a compass, much like the ray of light on the hero's sword from Shadow of the Colossus, another one of my favorite games.

You'll find a lot of information about how I made that game on my website.

How to play?

⬅️➡️ - Move around
⬆️ - Climb
⬇️ - Slide down, Save your game while standing on a light spot
❎ - Compass to point to the next junk
🅾️ - Jump

Game modes

Press enter to select between those two game modes:
Hardcore - Light spots to save your progress are not working. Be extra careful!
Time Attack - Be swift to get all the junks and get back to the UFO.

I hope you like this demake!

P#80182 2020-07-31 21:56 ( Edited 2020-09-10 01:01)

Hello everyone. Today I wrote a script to swap Sprites positions without messing with the Map. Very handy to reorganise your sprite sheet. And Flags will follow. Here's how it works:

1- Make a backup

First thing first: make a backup of your p8 file!
This is important, as you can screw things up real quick if you do not pay attention.

2- Get the script

Create an empty file named "swapspr.lua" that you'll put alongside your p8 file.
Copy/paste this script to "swapspr.lua" and save it:

function swapspr(n1,n2)
    for i=0,7 do
        local p1=i*64+n1*4+448*flr(n1/16)
        local p2=i*64+n2*4+448*flr(n2/16)
        local b1,b2=peek4(p1),peek4(p2)
        poke4(p2,b1)
        poke4(p1,b2)
    end
    local f1,f2=fget(n1),fget(n2)
    fset(n1,f2)
    fset(n2,f1)
    for x=0,127 do
        for y=0,127 do
            if mget(x,y)==n1 then
                mset(x,y,n2)
            elseif mget(x,y)==n2 then
             mset(x,y,n1)
            end
        end     
    end 
    cstore(0x0000,0x0000,0x7fff)
end
---------------------

Note: the last 21 caracters "-" are important, otherwise, you'll mess the include.
See bug here: https://www.lexaloffle.com/bbs/?pid=64985#p (for @zep)

3- Prepare your p8 file

Open your p8 file and add those two line at the very begining of your code:

#include swapspr.lua
swapspr(3,6)

In this example, we are swaping positions of sprites numbers 3 and 6:

4- Run

Run your p8 file and that's it!
Your sprites position have swaped while keeping their flags:

And (magic) the Map didn't change:

5- Clean

Run this script as long as you need to swap positions.
Don't forget to remove the two lines you added at the start of your code once you have finished.

I hope this will save a lot of time for the Pico-Eighters like me that don't think about sprite order until the need to save space and tokens...

Right now, it only swaps 8x8 sprites, but that can be modified easily.

P#64987 2019-06-04 16:35 ( Edited 2019-06-04 19:15)

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

Draw SVG

This is a tool do display vectorial drawings in PICO-8. It's useful for logos and big curved shapes that can't fit in memory as regular sprites. Also, you can zoom on those drawings at will.

CONTROLS:

Arrows: move around
Z/X: zoom in/out

HOW TO CONVERT SVG FILES TO PICO-8:

Simply use converter tool at:
http://www.txori.com/index.php?static14/pico8
The first number of each vector is the color of that vector.

RELEASE HISTORY:

v1.1
SVG draw engine entirely rewritten
30fps!

v1.0
Initial release

-
Find more stuff at www.txori.com

P#45150 2017-10-12 18:16 ( Edited 2019-06-01 16:14)

Follow Lexaloffle:        
Generated 2020-09-22 18:36 | 0.102s | 2097k | Q:49