Log In  

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

Hello,

For fun, I'm building a Vampire Survivors style game. There will be a lot of mobs on screen, so I've built a grid partitioning system and each weapon only checks for collisions with mobs nearby.

The grid size is 30, so that's a 16 x 9 grid.

My question is this, currently, I'm initialising the grid on every frame and re-populating all the mob positions into their grids.

Should I move to initialising just once and updating mob positions in the grid on every frame? I'm not sure whether that will actually be quicker because I will have to delete the mob from one grid position and add it to another.

Also, that seems hard to implement :-)

Thanks in advance

Russ

1
1 comment


Hello!

I'm trying to understand how to best work with image data in Picotron for use in things like .txt files and whatnot.
In the readme that rests on the pictron desktop, there's an image near the beginning of the file that, when clicked, reveals a metadata object that is "unpodding" base64 encoded image data so it renders in the txt editor.

How would I go about podifying a sprite on a .gfx file so I too can insert the base64 data into a .txt file?

I've tried doing something like this:

?pod(fetch("/ram/cart/gfx/0.gfx"),0x7)

in the picotron terminal, and it outputs the b64, but it's podifying the entire gfx file, not the sprite I want to podify (in this case, sprite 1, second slot available on the gfx file).

Anyone have any ideas here?

2
2 comments


I'm drawing the map like this:

-- 2 is the layers count
for i=2,1,-1 do
   map(fetch"map/0.map"[i].bmp)
end

And I can check for collisions for map tiles with fget(mget(x/16,y/16)) to get the flag of the tile, all good here, except I can only check for collisions on the top layer, while every other layer is ignored.

How can I check for the flags on every layer?

2
4 comments


Cart #kowutgore-0 | 2024-04-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

3
2 comments


A simple demo, wallpaper, or screensaver. Circles of various sizes move across the screen, influenced by your mouse position.

Cart #circle_chase-0 | 2024-04-17 | Embed ▽ | License: CC4-BY-NC-SA
4

load #circle_chase-0 and run!

4
0 comments


i'm trying to use :copy when growing a userdata:

local a = vec(1, 1)
local b = vec(0, 0, 0)
a:copy (b)
print(b)
-- b is still zero

i figured maybe the vectors needed to be the same size but neither of these work either:

local a = vec(1, 1)
local b = vec(0, 0)
local c = vec(0, 0)
a:add (0, b)
a:copy (c)
print(a)
print(b)
print(c)
0 comments


Cart #veditor-6 | 2024-05-01 | Embed ▽ | License: CC4-BY-NC-SA
86


Cart #vgfx_demo-2 | 2024-04-16 | Embed ▽ | License: CC4-BY-NC-SA
86

First up:

This was a big project! if you want to help me out plz see my patreon or ko-fi <3

What:

  • Veditor is a vector graphics editor that lets you work on multiple, layered vector sprites
  • vgfx.lua is a script you can include in your own projects to display said vector sprites (and other things)

[ Continue Reading.. ]

86
15 comments


Cart #cozmicchaos-0 | 2024-04-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

Cozmic Chaos

Overview

This is a small wave based Bullet Hell Shmup i developed in order to learn development in pico 8.
I used the Lazy Devs Shmup tutorial series on Youtube for reference, so huge shout out to them.

In this game you will fight through 9 waves of enemies getting progressively tougher before taking on the final boss.

Controls

Arrow keys - Move your ship around.
O Button - Fires your concentrated shot. This is high damage but slows your movement.
X Button - Fires your spread shot. This has a wide range and fast movement speed.
Cancels - Pressing both fire buttons together will perform a bullet cancel however this will cost one full meter, these are essential for high scores.

[ Continue Reading.. ]

5
1 comment


On boot (running NixOS 23.11 with KDE Plasma version 5.27.10) it shows a green "no workspaces" screen with a weird cursor glitch and the SFX workspace icon replaced with a desktop one ... until we click another workspace, at which point everything is fixed.

Edit: GIF of bug:

Edit 2: Seems fixed for us in v0.1.0g - ping us if you're still getting it and we'll unresolve the issue.

1
9 comments


Cart #wukerebajo-0 | 2024-04-16 | Code ▽ | Embed ▽ | No License
2


Just a sandbox to get a better understanding of what happens when you change the map width (0x5f57) and the map address (0x5F56)
Upper memory 0x8000-0xFFFF is fully initialized to 53 (blue square sprite)
Arrow keys to move the camera
X / O to change the map width
pause menu to change what X/O changes between map width and map address.

2
0 comments


Hey everyone,

I wanted to share a standalone function I've been using in my recent PICO-8 projects called loopi (LoopIndex).

It's designed to loop an index across a specified range based on the elapsed time, making it really handy for animations or any time-sensitive indexing. The function also includes an optional 'invert' feature, which creates a smooth back-and-forth motion.

Here's the snippet (46 tokens):

function loopi(range, delay, invert)
    local idx = flr((time() / delay) % (invert and 2 * (range - 1) or range))
    if invert and idx >= range then
        idx = 2 * (range - 1) - idx
    end
    return idx    
end

Minified (42 tokens):

function loopi(r,d,i)local x=flr(time()/d)%(i and 2*(r-1)or r)return i and min(x,2*(r-1)-x)or x end

Note: If you don't want to tie the timings to the time() output, you can replace it with something else or by adding a new argument - Otherwise, it works nicely as a standalone function :)

Example Usage:

Let's say you want to cycle through sprites at positions 5 to 8 based on time. You can use loopi to calculate the appropriate sprite index:

function _update()
    -- Loop through sprite indexes 5 to 8 every 0.5 seconds without inversion
    sprite_index = 5 + loopi(4, 0.5, false)
end

This setup will continuously loop the sprite index from 5 to 8, changing every 0.5 seconds. If you want the sprites to animate forward and then backward (like a ping-pong effect), just set the invert parameter to true.

Demo:

[ Continue Reading.. ]

2
0 comments


The changes in Picotron v0.1.0f look very exciting, but the downloads page appears to only have v0.1.0e

Anyone know when we can expect to see v0.1.0f?

10 comments


Cart #pathofaratron-0 | 2024-04-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


The game is also available on nusan.itch.io/path-of-aratron

In Path of Aratron, you can send a little demon to visit Dreams. You can control the demon by placing stones on Glyphs.

Each stone is part of a path and will trigger one after the other once you start the summoning ritual.

Solve 25 puzzles of increasing difficulty, you will need to carefully plan ahead and reuse part of your stones, as you don't have an infinite number of them.

This is a programming game inspired by the game Lightbot, it has been made in 72h for Ludum Dare 55

[ Continue Reading.. ]

15
9 comments


Cart #mouches-1 | 2024-04-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

Don’t let flies ruin your sleep. Summon a skeleton and let it throw a book to make silence reign.

With a keyboard, press C to jump and press X to grab and throw the book. On the shelves you can press the bottom button to lower

There are 3 waves, it’s a really short game crafted with pico 8.

It's a post jam version with a few small modifications that I made following comments from ludum dare players :

  1. the arrow that indicates the book is still present
  1. When the skeleton is in the summoning point, the flies cannot come, a red square appears to signify this

[ Continue Reading.. ]

7
6 comments


Cart #gameoflife1-2 | 2024-04-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Controls

There are two modes: running and paused

  • Z: Switch between the modes

In running mode (default)

  • X: Randomize the cells
  • Left/Right: Adjust the speed of the automation

In paused mode

  • X: Toggle cell state
  • Left/Right/Up/Down: Move cursor

Rules

This is a simple implementation of Conway's Game of Life.

Credits

Made by me. My very first cart! Pico 8 is awesome :D

3
0 comments


Cart #hotwax-5 | 2024-04-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
136

vvv Ludum Dare jam version here! vvv

Cart #hotwax-3 | 2024-04-16 | Code ▽ | Embed ▽ | No License
136


(for anyone rating LD games!)

Description:

You are the Wax Whisperer. Your powers may well be unmatched, but some of your enemies are still out there… Not for much longer though, not with what your are about to unleash.

Burn continuous lines of candles to score points! The longer the fire survives the more points it brings you, and the closer it brings you to unfathomable power from this mysterious temple you’ve found your way to!

[ Continue Reading.. ]

136
17 comments


Cart #jewipanito-2 | 2024-04-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Demake of the popular Popcap game Insaniquarium! released in 2001! Grow your tank with various different fish and pets to make as much money as possible while defending your tank from the alien threats.

You can play either Adventure to unlock the 12 different pets or get a high score in Time Trial mode!

Game is controlled entirely with the mouse

Cartridge art was made by https://twitter.com/danidoespixels

Music was made by https://twitter.com/piadina_piadina

4
1 comment



Seizure / Epilepsy Warning: Flickering Images!

Intellectual Property Disclaimer: Popcorn by Gershon Kingsley is not my Intellectual Property, my use of this song probably falls into the "Fair Use" (see: remix / sampling / performance) legal doctrine, I did not write "Popcorn" for God sake.

This was one of my first forays into Pico-8 programming a couple years ago that wasn't focused on sprite animations and was originally just some bouncing balls and some screen effects with no music. I felt like posting it here but thought it could use some enhancements so this is the latest revision.

Controls:

  • O holds orbs that contact the ground and launches them upon release.

[ Continue Reading.. ]

1
0 comments


I was looking into buying Voxatron and Ive watched some videos of people making games with it and didnt see them using scripting with lua but those videos were pretty old so does Voxatron currently have scripting with lua?

2 comments


Cart #earth-1 | 2024-04-17 | Embed ▽ | License: CC4-BY-NC-SA
16

I saw this post on stackoverflow and thought I'd give it a go in Picotron :P
https://gamedev.stackexchange.com/questions/147193/imitate-a-textured-sphere-in-2d

The earth texture is a downscaled version from this site: https://planetpixelemporium.com/earth8081.html

Change Log:
1.1 - Optimised! From 160% cpu usage to 80% (when rendering a 64*64 pixel image)

16
2 comments




Top    Load More Posts ->