Log In  

BBS > Community Superblog
All | Following | GIFs | Off-site

Fireworks

Cart #roreguwuwo-0 | 2020-06-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


This is an example of how to create a "firework" type effect using particles. I have been also fiddling with tweetcarts (carts that fit into a single tweet) so that's why I've been using the reduced syntax, instead of the standard functions. As with everything in gamedev, the more you're able to model a visual effect into its math/symbolic representation teh better you get. It's hard work and a talent, I guess.

0 comments


Yo @zep,

This thread isn't the first time I've seen people ask about inserting values into the middle or start of arrays/sequences:

https://www.lexaloffle.com/bbs/?tid=38249

It occurs to me that a lot of carts probably have similar boilerplate code like the ins() function I wrote for that person. I think it would be nice, and better for PICO-8's host-machine performance, if there were a C-side implementation of that insert code, and I think you could do it simply by taking an optional third argument to add(), effectively implementing something like this Lua code on the C side:

function add(t,v,i)
  i=i or #t+1 -- default to extending the list
  for j=#t,i,-1 do
    t[j+1]=t[j]
  end
  t[i]=v
  return v -- return the added value for convenience
end

This shouldn't break any existing code, since there hasn't previously been a third arg, and the default value produces the existing behavior.

(Come to think of it, I'm not sure if you have add() on the C side or as hidden Lua. If it's not already on the C side, you might want to put it there, because it happens a lot in carts and doing it through interpreted code is definitely going to slow things down on the host hardware. Same goes for any other oft-called hidden Lua code.)

6
0 comments


Walking with rythm

Cart #pdepsegu-0 | 2020-06-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

When learning a new language or tool, I tend to create a lot of POCs (proof of concepts) to cement my knowledge. This is just one of them, nested oscillating circles that demonstrate a simple implementation of Lerp (Linear Interpolation).

One of the common mistakes one may make when beginning to use lerp is to forget that the value being affected must be re-calculated as an aggregated or iteration, typically over consecutive game loops. That is, it's effect is dependent of the previous value in the iteration.

0 comments


I have a cart used as an ongoing reminder alarm, simply showing the previous alarm, the current time, and the next alarm. It runs continuously for very long periods, e.g. weeks. Indeed, this instance has been running since the week 0.2.0i came out.

Today, for the first time I've ever noticed, the display was showing a pattern of corruption. I took a screenshot, but there was no corruption in the screenshot, so I tried saving a gif. I have my gif len set to a couple of minutes, so the result is quite long.

If you pay attention, the gif shows the parts of the pattern changing every second or three:

And yet when I saved a screenshot at the same time, there was no evidence of the corruption:

I assume this is because the PNG is saved from a point in the pipeline that comes before the corruption, while the GIF is saved after the corruption.

This means the cart itself isn't producing the corruption. It's happening somewhere in the frame presentation pipeline.

[ Continue Reading.. ]

1
2 comments


Cart #toyemapome-0 | 2020-06-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

A basic implementation of Conway's game of life.

Supports:

  • 32x32, 64x64 and 128x128 boards sizes.
  • Ability to rewind to state when entering play mode.
  • Includes a few structures that can be loaded.
  • Ability to set wrap mode. No wrap, horizontal, vertical or full wrap.
9
3 comments


Guide your ship and pick up each of the boxes and bring them back to base, while defending yourself. Can you make it through all the levels?

Inspired by the amazing game published by Kingsoft in 1989 on the Amiga with the same name.

Cart #gravity_force-4 | 2020-06-03 | Code ▽ | Embed ▽ | No License
4

4
3 comments


Hella!
Is there way save to WebP with audio like it do it with F9 ?

1 comment


Hi

Short question this time. What is the least-bloated way to insert a value into a list at the first index using add(). I couldnt figure out a method which is elegant and simple.

Thanks

7 comments


Hi

I am making a roguelike and i would like to add in procedural generation of rooms. I would have prebuilt rooms in the map editor and when the character goes below, above, left or right of the current room, it would take them to a new room with which that entry was possible. I can do this ok apart from one thing:

How do i store the layout of the rooms once you go into a new room? If it was just left and right i would make a list of the coordinates of the rooms and when the player goes to the right, a new random room would be appended at the end, if it is to the left then at the beginning. Though this doesn't work when i have up and down too. How do i store the coordinates of the rooms that the player has already been in is my question.

I would appreciate some help

Thanks

6 comments


Cart #sadigiwiri-0 | 2020-06-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

Hi, i made this bad shooter roguelike game! Play it! I was inspired by a circle...

6
4 comments


Wip Dogo game

Cart #pobopduwu-0 | 2020-06-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

This cart is just a demo to show a game I didn't finish.

0 comments


My first blog post (^o^)/

Coming from using LOVE2D, I can't wait to create some magic with Lua and Pico-8 !!!

0 comments


Cart #snekmod-0 | 2020-06-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12


This is a mod made by me and Taco360. I did most of the level design and made the dialogue, Taco made all the extra sprites and code changes, as well as designing a few of the levels. EDIT: A lot of people have had trouble with this and I didn't make it super clear, but if you want to do a normal playthrough follow the arrow in 900 that points right unless you want to do gemskip. Sorry about any inconvenience this may have caused, and hopefully this doesn't ruin the mod for anybody.

12
4 comments


click to make an astronomical body, press x to reset.

Cart #orbit_final-0 | 2020-06-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

4
1 comment


Cart #virush-3 | 2020-07-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
33

A small survival turn based game where you have to build defenses to defeat all the virushes and survive the quarantine.

CONTROLS
Arrow keys to move and navigate menus.
[X] To place or upgrade defenses
[Z] To swap between defenses

HOW TO PLAY
Defeat all the virushes in a level to advance to the next day
Look for materials, they pop randomly on the level
Upgrade the your defenses so they can reach enemies

CREDITS
Code: Mario Carballo (@afk_mario)
Art+Audio: JP (@eljovenpaul)

itch.io

33
10 comments


PicoPlex

by lunafromthemoon

Hello everyone, this is a remake from an old game called Supaplex, that was itself a remake of an even older game called Boulder Dash. It was my favourite game as a kid. This is my first game in Pico8 and it was hard, but a lot of fun. The music was done by my dear friend lisergishnu, and I also had some help to pack the levels from thisismypassword.
Hope you enjoy!

And please, let me know if you find any bugs.

How to play:

The game is very simple, you are Murphy, a little red ball, running inside a complex computer system. Your goal in each level is to gather infotrons (the colorful thingies) and get to the end. But be careful, there are many dangers ahead, like falling zonks, snik snaks and bugs!

Check the cast page by pressing X in the menu!

In the main menu you can choose a level (there are 111!) and start by pressing Z. You can play any level you want, no need to go from 1 to 111. When you win a level, it will be marked in green. Can you win them all???

[ Continue Reading.. ]

9
1 comment


Hi, I'm confused about the following. In my platformer game I apply a 0.85 factor to dx as friction. When I do this on a negative dx value (i.e. player moving to the left) dx never reaches zero and is represented as -0 (minus zero).

When I use that dx value by adding it to x, the x value keeps counting down a tiny fraction on every update.

I can work around it of course (e.g. setting it to 0 when abs(dx) is smaller than 0.0002), but I'd love to understand what's actually happening here. All pointers are appreciated :)

You can see it in action here:

Cart #yipobarode-0 | 2020-05-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

8 comments


Harvard University's CS50 Games course has a free online version on edX. It's a great class for beginners with some coding experience, and uses Love2D and Lua. Nearly all of the concepts apply to PICO-8 development.

https://courses.edx.org/courses/course-v1:HarvardX+CS50G+Games/course/

It's not too difficult to translate in-class code to PICO-8 equivalent code, but it might be easier to stick with Love2D for the course, then figure out PICO-8 equivalents later. In-class code uses Lua standard library features, all with PICO-8 equivalents. Spreading code across multiple files could be done with code tabs or "#include" instead of "require". They also use a simple third-party object-oriented class package to teach OO concepts. This could be ported to PICO-8 but hasn't been yet.

If there's interest, I'm sure we could pull together a set of support materials for bridging CS50 and PICO-8. For now I'm just recommending the course.

3
0 comments


Hello!

I am making a new metroidvania and i feel like a critical part of this is getting the jumping to feel right. I tinkered with it for a while before i realised that a true metroidvania really needs variable jumping, where the longer the button is pressed the higher you go. I have had some issues with implementing this and i would appreciate some help.

Thanks!

2 comments


Hi there,

This is the prototype of my remake of ANTS (http://www.homeoftheunderdogs.net/game.php?id=3761) which is a remake of Arcomage. This version is already fully playable.
You take turns playing cards against the computer. You goal is to build you castle (the left one) up to a height of 100 or destroy the computer's castle (the right one).
This version is not 100% ANTS, I had to reduce the card hand size from 8 to 7 (notice that Arcomage has only 6), but all cards are included (I renamed some and I tweaked some minor stats).

Features still missing:

  • sound effects
  • music
  • some gfx could be nicer
  • difficulty settings

Tell me what you think of it and what I might improve.

Cart #picomage_wip-0 | 2020-05-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

[ Continue Reading.. ]

4
0 comments




Top    Load More Posts ->