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

Cart #forcefield-0 | 2021-12-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Controls:
Mouse to move cursor, click to spawn a ball.

This is a test to build versatile force field type diagrams. The magnitude is the map offset by 128 pixels, and the angle is the map offset by 256. Pixel color determines angle and magnitude(as a unit scalar).

The code is kinda messy, as I borrowed some of the objects from another project of mine.

[Playmap]
v128 pixelsV
[MagnitudeMap]
v128 pixelsV
[AngleMap]

P#101899 2021-12-07 17:13 ( Edited 2021-12-07 17:14)

Cart #quantum_pong-1 | 2021-12-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

improvement and update for the pong

P#101856 2021-12-07 12:16

Cart #switchstick-0 | 2021-12-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

This is a beta build of a multiplayer vs game inspired from Spinstick, which was originally made by @db0z

Any feedback / bug reports about the game would be greatly appreciated!

Controls / Rules

left / right arrows - move player 1 (pink)
S / F - move player 2 (blue)

Hit the ball above the white line to pass play to the other player
If the ball falls off the bottom of the screen while you are the active player, you lose
You can tell who is the active player by seeing who's paddle is lighter

P#101853 2021-12-07 09:54

Cart #pengo-0 | 2021-12-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

My Pico-8 version of the 1982 Sega arcade game.

Controls

[X] - Push block/ electrify wall

Thanks To

Finn for testing
Paul Niven ( @NiVZ) for creating such a cool logo (for the third time!)
PICO-8 for creating an awesome "fantasy console"

Version History

  • 0.80 - 6-Dec-2021 - Released
P#101847 2021-12-07 05:39 ( Edited 2021-12-07 05:41)

Cart #paddle1956-0 | 2021-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Hello! This is my first blog on what I hope will turn into a fulfilling hobby. This is Paddle, my first game.

Some background on me: My experience in computer languages and coding is extremely limited. I played around with a Raspberry Pi when I was in high school - making it into an emulator that played old GBA games. I completely failed my computing A-Level, but I have built a PC. But I’ve always thought being a game developer would be something that would be really cool to be. My interest has just fluctuated a lot.

The first time I thought that I wanted to work with games was watching the documentary, Indie Game: The Movie. But I’ve always been too lazy or been playing too many games to actually sit down and make one. I hope this is one of many that are to come to you, whoever you are.

I made this following a tutorial by a guy called Alex Mole. He contributed it to Picozine back in 2014, there will be a link below this article if you want to try it out for yourself! My biggest struggle was adding the Game Over screen to appear on the last life. It kept appearing when the player had 0 lives left but was still living out that last life!

To fix it I had to change the IF THEN ELSE function to just to two IF THEN’s. It felt like sticking it together with tape but it works and I’m happy enough with that for my first game.

See you soon!

Link to Pico-zines: https://sectordub.itch.io/pico-8-fanzine-1

P#101685 2021-12-06 23:14

I'm hoping I am just not understanding the code rather than there is a problem here with the new ability to redirect drawing memory positions.

cls()
poke(0x5f55,0x80)
for i=0,127 do
  for j=0,127 do
    pset(j,i,rnd()*16)
  end
end
poke(0x5f55,0x60)
memcpy(0x6000,0x8000,0x2000)

See HERE in BASE RAM Memory layout:

https://www.lexaloffle.com/dl/docs/pico-8_manual.html#Base_RAM_Memory_Layout

If it's not a problem in the language, then what am I doing wrong here ?

. . .

From the comments below it's clear I can only choose from 2-different memory locations. Maybe future Pico-8 will allow upper memory location to draw in. Just trying to find a use for that whopping extra 32768 bytes. :)

P#101673 2021-12-06 23:08 ( Edited 2021-12-07 03:51)

function dtb(num)
local bin=""
for i=1,8do
bin..=flr(num/2^(8-i))%2
end
return bin
end

P#101661 2021-12-06 21:22

Cart #googroker_topris-0 | 2021-12-06 | Code ▽ | Embed ▽ | No License
3

Tetris, but Sideways!™

Move and rotate the cursor with the arrow buttons and Z, and drop pieces with X. Form horizontal or vertical lines to clear them and gain extra time, or set up multiple lines in quick succession for big points!

P#101659 2021-12-06 20:57

Cart #hukimtog-0 | 2021-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

P#101647 2021-12-06 19:40

Cart #rotisdef-0 | 2021-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Based on the Spaceshooter in 16 GIFs tutorial.

P#101628 2021-12-06 16:52

Cart #iwilllaseryou2-0 | 2021-12-06 | Code ▽ | Embed ▽ | No License

reupload

P#101597 2021-12-06 03:54

Cart #coom-0 | 2021-12-06 | Code ▽ | Embed ▽ | No License
1

P#101596 2021-12-06 03:28

Cart #spirograph-1 | 2021-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Inspired by this demo, I decided to implement the same idea using PICO-8. Instead of using spare RAM for effects, I went with the newly-introduced spritemap/screen mapping feature, by drawing the spirograph to the spritesheet and then drawing that onto the screen, so that hands can be added later.

Change log:

Version 2 (current)

  • added the ability to use the O button to accelerate the drawing process
  • set the cart to run at 60fps

Version 1:

Cart #spirograph-0 | 2021-12-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

P#101569 2021-12-05 19:47 ( Edited 2021-12-06 10:32)

Heya! So, the new one-off character feature added in 0.2.4 inspired me to write a drawing tool that exported to compatible strings in the smallest size I could, as of now, the code itself is only 520 characters!
(Minor warning: clipboard saving seems to be incorrect through the html export, I recommend copying the code and running it locally)

Cart #bitdraw-3 | 2021-12-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

h=32s=stat::_::?"⁶t⁶wbitdraw!",34,8
a=8+(s(h)/8)-4b=(s(33)/8)-4j=ord?"\^.¹³⁷ᶠ゜?⁷⁸",s(h),s(33),0
?"⁶1⁶cd⁶!5f2d¹",7
rect(h,h,96,96)sspr(8,0,8,8,h,h,64,64)if(s(34)&1!=0)sset(a,b,7)
if(s(34)&2!=0)sset(a,b,0)
if btnp(❎)then
d=""for y=0,7do
k=0for x=8,15do
k|=(sget(x,y)&1)<<x-8end
d..=chr(k)end
o=""for i=1,#d do
c=sub(d,i,i)f=j(d,i+1)g=(f and f>=48and f<=57)and"00"or""v=c
if(c=="\"")v="\\\""
if(c=="\\")v="\\\\"
if(j(c)==0)v="\\"..g.."0"
if(j(c)==10)v="\\n"
if(j(c)==13)v="\\r"
o..=v
end
printh(o,"@clip")?"⁷ceg"
end
goto _

Controls:

  • Left Click: Draws inside the white rectangle
  • Right Click: Erases pixels in the rectangle
  • ❎: Copies your drawing to the clipboard alongside making a small noise to notify you

To then use your drawing, you need to use the \^. control code followed by your string:

print("\^.~▒しし▒し▥~") -- Prints a smiley block
?"\^.~▒しし▒し▥~" -- Short-hand version

Feel free to elaborate on this tool or minify the code even further!

P#101562 2021-12-05 19:28 ( Edited 2021-12-05 19:51)

Cart #hunopunona-0 | 2021-12-05 | Code ▽ | Embed ▽ | No License

P#101557 2021-12-05 18:10

Hi, so with the new Pico-8 update (0.2.4) I've been messing around with some of the new features and specially P8SCII, as of now I found something pretty weird, the new one-off character control code (\^.) seems to use the same control code as dotty mode used to, I noticed this when I ran the Impossible Mission cart, which has a corrupted title now due to Pico-8 treating most of the string as 1-bit character data.

Cart #impossible-1 | 2021-03-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
97

I don't know if this is was done on purpose since it's still mentioned in the manual ALONGSIDE the new one off character control code, maybe Zep forgot it was already in use or he changed it to another control code without adding it to the manual? If this has been documented before or I'm doing something wrong please tell me.

P#101554 2021-12-05 17:52 ( Edited 2021-12-05 17:53)

Cart #poom_0-3 | 2021-12-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
27

BBS Edition to celebrate year 1 of POOM release!
(limited to 1 level - sorry!)

Enjoy full game at: https://freds72.itch.io/poom

Controls

Alternate scheme (select from controls menu):

Devlog

Game is "multi-cart", using 0x8000 region filled with raw data from 2 carts (poom_0+poom_1).

Engine details: https://freds72.itch.io/poom/devlog/241700/journey-to-poom

Credits

Art+Design+Music: @paranoidcactus
Code: @freds72

P#101541 2021-12-05 13:04 ( Edited 2021-12-05 13:38)

https://hive.saysi.org/pico8

I've been using PICO-8 to introduce teens to coding the traditional way, irl, for 5 years now. I've tried a lot of different ways of doing so: thru lecturing, found tutorials, providing a lot of boilerplate and letting kids play around with changing sprites and stuff, lots of 1-on-1... but I've been thinking long and hard about how to do it better.

I teach New Media at an after school art program (saysi.org) in an open studio environment that only superficially resembles a classroom. Students are a mix of teens of all ages and proficiencies and they do very little listening to instructors lecture and a lot of making stuff.

My students play games and dunning-kruger-ly imagine themselves capable of making them, but can be simultaneously terrified of anything that smells of math and can quickly get discouraged with the slightest bit of friction.

My ideal tutorial would introduce them to coding one concept at a time, but empower them to make creative doodles every step of the way, with whatever knowledge they've collected thus far. It would also free me from lecturing and allow me to do more troubleshooting and 1-on-1 in the studio. Not finding anything like that, I started my own little series. I have been putting them on Youtube for others to hopefully benefit from!

https://www.youtube.com/playlist?list=PLQIH9CiDAqf8LQYnbZ9GJ4XEfHXb7EdvZ

The source code and other PICO-8 resources we collected can be found on our PICO-8 portal: https://hive.saysi.org/pico8

I'd be happy to hear any feedback, especially from other teachers or beginner coders!

P#101493 2021-12-05 01:59

Cart #char_maker-3 | 2021-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

Currently exporting doesn't work in browser, so I would suggest running directly in Pico8. P.s. If there are any bugs or errors, please let me know! :)

CHAR MAKER!

As of 0.2.4, you can now add Custom One-Off Characters! This tool, allows you to easily make and export, your custom characters without the hassle of doing it by hand. Currently you can export the characters in both Hex and Binary Formats, but the tool only accepts the Hex Format or GFX directly from your game.

How To Use

In the black grid, left click with the mouse to draw white squares and right click with the mouse to draw black squares. To reset the grid, left click the bin icon.

How To Import

You can import by, copying the One-Off Characters(2 Digit Hexadecimal Format) or by copying a sprite directly from your game in the GFX format(Non Black and White Sprites get mixed results). Then paste it into the Cart, and a preview on the left should appear. To load it into the grid, left click the import icon(The one above the upper Copy Icon on the left).

How To Export

It's as easy as left clicking one the Copy Icons(Bottom Left Buttons), then pasting it into your code. Click the upper one if you want it exported in the 2 Digit Hex Format, or the lower one for the Raw Binary. To change the colour of the to be exported Character: Right click the character, then whilst still holding right click, left click the colour you want from the box that should appear.

Older Versions

Cart #char_maker-1 | 2021-12-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

P#101469 2021-12-04 22:24 ( Edited 2021-12-06 20:10)
function _init()
    cls()
    things = {}
    add_thing()
end

function _update()
    add_thing()

    for t in all(things) do
        t:update()
    end
end

function _draw()
 cls()
    for t in all(things) do
        t:draw()
    end
end

function add_thing()
    add(
        things,
        {
         my_color=rnd(16)-1,
            x=rnd(128),
            y=rnd(128),
            dx=rnd(2)-1,
            dy=rnd(2)-1,
            life=160,
            prevx=63,
            prevy=63,

            draw=function(self)             
                pset(self.x, self.y, self.my_color)
            end,

            update=function(self)
             if (self.sprite_num == 1) then
                self.sprite_num = 2             
             else
                self.sprite_num = 1
             end
                self.prevx=x
                self.prevy=y
                self.x += self.dx
                self.y += self.dy

                self.life-=1

                if(self.life<0) then
                    del(bullet,self)
                end
            end,                        
        }
    )
end
P#101442 2021-12-04 15:24 ( Edited 2021-12-04 16:12)
View Older Posts
Follow Lexaloffle:        
Generated 2021-12-07 21:38:36 | 0.212s | Q:95