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 #fupohuriku-0 | 2021-01-22 | Embed ▽ | License: CC4-BY-NC-SA

Demo: how to change what your character looks like on inventory items use.

P#86679 2021-01-22 03:56

Cart #dvdscored-0 | 2021-01-22 | Code ▽ | Embed ▽ | No License

I found the original DVD program by @Ganty and thoroughly enjoyed it. But, I had to wonder, "how many times would the logo hit the corner in a day?" So I edited their program to include a score counter on the top, ran the program, and went to bed. The following night I checked up on how it was running and, to my surprise, it had reached just over 3000 hits over the course of 24 hours.

I'm just posting this here because I had a lot of fun making and checking up on the program over the day and I thought others may enjoy it as well.

Original: https://www.lexaloffle.com/bbs/?tid=28560

P#86676 2021-01-22 00:24 ( Edited 2021-01-22 00:27)

I'm working on a cart to control the GPIO pins as if they were on a PLC (With ladder logic and such), but I really don't want the hassle of running the project on actual hardware (Say, a RPi) every time I make changes and want to test them (Even if I can automate the entire pipeline, I really don't want anything to do with rarspberrys at the moment).

Is there something like a python library that allows me to interact with the GPIO pins of a pico-8 that is running as if it was running on certain hardware?

If not, what would be the best way of making one? Does pico-8 have an API I can use? Or does it store the memory values in certain places I can access? (Sorry if it's a dumb question, I started using pico 2 days ago :P)

P#86646 2021-01-21 14:07


Just came across this!


Wonder if anyone could ever get PICO8 running on this little machine!

Ultimate portability :-)


P#86644 2021-01-21 12:31

Hola a todos! Soy Rafael Santos. Actualmente trabajo como gerente de marketing para la empresa de TI. Me aseguro de mantener mis perfiles de redes sociales lo más actualizados y completos posible con descripciones de puestos, experiencias de voluntariado, grupos, recomendaciones, etc. Visita este sitio web de online casinos con bonos sin deposito.

P#86643 2021-01-21 12:09

This blog will be way to track ideas and progress related to improving MOTU’s background composition system and PicoDraw.

While developing Masters Of The Universe I was considering the idea of having some for of scrolling backgrounds but there was no time nor token space to experiment. Right now, I am re-using the same system on Klax to draw the biggest part of the play area (the conveyor belt) but it’s still nothing more than a static background.

The final goal of this experiment is applying it in scrolling games, generating backgrounds with a combination of limited tiles and “generated” graphics brushes using pico-8’s gfx primitives and fit a whole game with at least 3 big scrolling levels in a single cart.

A simple beat’em up could re-use a lot of MOTU’s code for sprites, input and states. I had my sights set on Double dragon because e it’s kind of short and simple, plus I played a lot on the Amiga version which had a limited move set and graphics compared to the arcade but was still fun enough.

Last week I saw @Pigmeat ‘s post about his Streets of Rage pico-8 demake and that gave me enough motivation to experiment a bit while finishing the most boring technicalities on Klax.

First thing, I did some research on Double Dragon to see what I have to deal with and found these 2 treasure troves of information:


The arcade game has a resolution of 256x240 which is a good fit to be reduced by 50% to 128x120, 1 arcade screen can fit in 1 pico-8 screen with 1 row of 8 pixel left at the bottom. Characters can fit in a 2x4 composite sprite, like MOTU so I can reuse the same composition system.

Double Dragon Full Map

The map can be divided in 5 stages, 3 of which are plain horizontal scrolling, 2 are mixed vertical and horizontal. The firs stage is around 5 screens wide and as a first test I’ll try to reproduced with the hybrid system.
As a first step, I design a mockup of the first screen, using standard tiles/map to get an idea of the aesthetic at this resolution and proportions of various elements.

This looks fine to me but It’s using xx tiles for this single screen!

Studying the tile set and the object represented we can see a couple interesting things: there are some huge elements (windows, door, car, some large walls) that needs at least 4/6 tiles to be represented and, even if in this screen are repeated 2 or 3 times, will never appear in the game again., and a couple which are used once in other levels. These are good candidates to become object brushes.

I will define a table of these object with an id and anchor position in level coordinates, and then draw them on the fly after creating them in picoDraw.

brushes = {{2,-8,8,24,24},{1,16,8,24,24}, ...} --id, x pos, y pos, W, H

The drawing routine expects object coordinates to be within -48 to 173 but we can reposition them while scrolling using pico-8’s camera() function.

Let’s test it on a wall and a window after drawing them in picoDraw

in code this object is a string like this:


Reusing most of the code from MOTU, we will draw this and the tile version side by side and see how it looks

I’d say not bad but while scrolling, there’s shimmering in the gradients because fill patterns don’t respect local coordinates. This is a problem that I couldn’t solve while working on MOTU and I was banging my head on until recently when I found this life -saver post on pico’s forum.

Local fill patterns

I applied @sparr ‘s code and finally, this long-lasting problem is solved! The window is next

There will be a minor reduction of 1 px details with these objects, but overall, I think they can look the part and the tile set is drastically reduced (I did the door too and the missing ground tiles are because they were just palette swap and are now generated in code).

Now drawing a lot of these will use a bit of CPU so we can’t abuse it but, we can already skip drawing the one that are outside screen view for a minor optimization and, in the future, I’ll try to implement a form of caching to improve performances.

 for i=1,#brushes do
    if b[2]+b[4]>-(cx+8) then
      [email protected]: test caching to user ram/sprites

It scrolls! (at 60fps in pico-8, gif is a bit jerky)

Next on the list is drawign the car and revamping of picoDraw to add 2 functionalities I will need for more complex objects, sprites and text management.

P#86639 2021-01-21 09:41

Cart #hliepfrogge-0 | 2021-01-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

howdy :^)

here's a short game inspired by desert golf
'Hlíep Frogge' is supposedly 'leap frog' in middle english


he's shy

P#86630 2021-01-21 04:28

Cart #sml-1 | 2021-01-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Some music I made on my spare time. Maybe I'll make this into a full remake of Super Mario Land. Also the background was made using another part of the map.

P#86624 2021-01-21 00:22 ( Edited 2021-01-21 00:24)

Cart #astrosmashd-1 | 2021-01-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


A demake of Mattel Intellivision's 1981 classic!

Don't be fooled by level 1, this is retro gaming where patience and mastery are the only way to survive to level 6! And if you do, it gets even more manic as your score increases.

Shoot the rocks to score and avoid being hit. Don't let the spinners detonate on the ground, and dispatch the guided missiles and ufos before they hit you. Level up at 1k, 5k, 20k, 50k and 100k.

For the full experience, flip through the original guide for an overview of the enemies you will be facing, point scoring, levels and a few tips:
Astrosmash Game Guide on archive.org

When it was launched, Mattel hosted a shootoff with serious prize money for the early 80's:
Shoot-off Ad

This is my first pico-8 game, and I've tried as best possible to emulate the original experience that I remembered playing (for hours and hours) with my whole family. Comments welcomed.

Post your high scores below!

P#86625 2021-01-21 00:16 ( Edited 2021-01-21 21:28)

Cart #tictactoo-0 | 2021-01-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#86623 2021-01-20 21:26

Cart #stranded_on_saturn-1 | 2021-01-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Stranded on Saturn - a demake of Commander Keen 1-3. Pogo your way through 4 huge levels to find the Bean With Bacon Megarocket and escape back to Earth!


(o) or z - jump
(x) or x - get out/put away pogo stick

Hold jump while pogoing to go a lot higher!

Collect lollipops, sodas, and Vorticon teddy bears for an extra challenge. These are totally optional and just serve as an extra objective for those that are interested (much like the strawberries in Celeste).

P#86621 2021-01-20 19:34 ( Edited 2021-01-20 19:37)

Cart #tobezierishuman-0 | 2021-01-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

I started this project after being inspired by this Bezier curve demo with the goal of making an arcade game out of it in which you have to keep the ball in the air by flinging it back and forth between bezier curves which are controlled with two sets of two axes, like Robotron. Getting the cubic bezier curves to a point where they were sufficiently random and fun to control (with only two axes for each set of four points) was fun and I think my solution feels good.

However, I haven't gotten very far with it because, frankly, getting the nuances of the ball physics implemented is not very interesting to me and I wanted to get to other projects -- you can see the beginnings of other sprites I've added for powerups (eg multiball), and the code is well-organized (thanks in part to merwok helping me out with understanding how to do pseudo-OOP on Pico8), so I wanted to upload it in case anyone is interested in developing this project further.

P#86620 2021-01-20 18:52

Cart #wenwuweti-0 | 2021-01-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

arrows to move
x to jump

P#86605 2021-01-20 06:34

Cart #fehuyefayu-0 | 2021-01-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

aaaa game need polish, game need content

arrows to move
z to spin & grab simultaneously
x to fling yourself if grabbed

P#86604 2021-01-20 06:13

Cart #pico_raiders-1 | 2021-01-19 | Code ▽ | Embed ▽ | No License

Based upon the ZX Spectrum game Viking Raiders by Mark Lucas

Work in progress:

  • 1 to 4 human players
  • Menu button/Enter to reload game
  • Should be free of major bugs (but if you do find any strange behaviour let me know so I can fix it)
  • Army units
    • can board boats
    • can get drunk
    • can pick up gold
    • can recruit/sober drunk army units
    • can destroy boats next to shore
  • Boats
    • can only move when units onboard
    • can only move on unfrozen water
    • can ram boats to sink
  • Catapults
    • cannot directly fight
    • uses ranged combat
  • Defeating an enemy castle gives you all the remaining units for that player

To do:

  • CPU AI (so use human players only for now)
  • Game ending when no remaining players
  • Finish off SFX
    • killing army
    • converting unit
  • Fix minor issue with palettes for army units with gold when on boats
  • Drunk units move on their own at start of round

Known bugs:

  • players: can select same face multiple times
  • fspr: completely red
  • buy unit: ignore catapult shot
  • boat move: can attack even when not all parts can move
  • boat sink: empty boat doesn't display at all

I had intended for this to be a quick side project but it took longer than expected so code got a little spaghettified in places but it still works, but far from optimised.

P#86592 2021-01-19 23:18 ( Edited 2021-01-20 08:53)

Here comes another newbie question:

If I've got a map of 32*48 tiles (taller than wide), how should I handle the map data in order to print it directly with map() function?

I saw that map can be extended to 64 tiles (height) if you use 0x1000 - 0x2000 memory, but I don't know how to tell the map function to use this extra space.

Searching some post I've read that implementing some kind of map data streaming with peek and poke is a good a idea. Is there some resources, carts or tutorial that can helps me?

P#86571 2021-01-19 08:24

I made a name generator for about 40 tokens. The nice thing about it is that no matter how many names you have in your name list, it is still just three tokens to store it, since the names are all kept in one long string.
The tradeoff is that the names generated will always be the same number of characters.
Name lists included are the most popular names in the U.S., pared down to 5 letter names. You can make and use your own name lists though, you just need a big string with all the names, no spaces or commas between names, and all the names need to be the same number of characters.

Cart #namegen-1 | 2021-01-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#86564 2021-01-18 17:52 ( Edited 2021-01-18 18:00)

Cart #ftest947284957820183847501c-0 | 2021-01-18 | Code ▽ | Embed ▽ | No License

More mode 7 posts I say!

I was wondering if pico 8 could be used for making a fast mode 7 multiplayer racing game with the new tline function.
Unfortunately pixels near to the camera look huge if you want to have a racetrack of a decent size.

This solution uses another tline to render a gravel and grit texture to break up the huge pixels. Is there a name for that? I guess it's close to mipmaping.

I think It looks pretty good at slow and medium speeds. At fast speeds it looks a bit repetitive. Perhaps a different effect could be used at high speeds.

This video helped me figure out the mode 7 equations: https://www.youtube.com/watch?v=ybLZyY655iY

I've been chaotically jumping between projects. I do not know if I will make this into a game or not.

P#86557 2021-01-18 16:59

Cart #infinipig-0 | 2021-01-18 | Code ▽ | Embed ▽ | No License

You are the ghost of Cubepig, looking for a body! Can you find one on your own, or will you have to trade something... precious...

This game was made in 3 hours by the PIGSquad Twitch Chat during a mini-jam on January 17, 2021.

P#86559 2021-01-18 16:52

Cart #net_smithothy-0 | 2021-01-17 | Code ▽ | Embed ▽ | No License

First uploaded cart... only took me two years to get around to it.

This started out as a single chain. I read something on here (sorry, can't remember who by!) about cloth simulation and pulling both ends, and this is what I came up with. Not really cloth simulation, but I am still amazed that simple rules can create something so fluid-looking. The "wiggle" was mainly added to stop new links getting stuck, but it makes the whole thing look as though it is underwater.

I'm not planning a jellyfish-based game. Yet.

P#86545 2021-01-17 23:09
View Older Posts
Follow Lexaloffle:        
Generated 2021-01-22 12:55 | 0.209s | 2097k | Q:202