Log In  
Follow
raulboo

(Access it from BBS with load #miditron-0)

Miditron!

The first midi-to-picotron conversion tool!

This tool allows you to convert .mid or .midi files into .sfx files used by the Picotron synth tracker.
Just drag and drop the desired midi onto the window, and voila! Your midi is transformed into a .sfx file, conveniently placed onto your sfx folder in your current cart~

Beware!! The tool is pretty barebones though! And far, far from perfect. So you might encounter glitched tracks and have to manually adjust patterns and tracks to fit the desired results.

Some handy tips for adjusting your midi files for an optimal result would be:

  • Use only 2/4, 3/4 and 4/4 meters; These meters are the most optimally supported by the tool
  • Avoid odd-numbered sections of the song (sections are separated by time signature change or tempo change)
  • Avoid using .midi with too many simultaneous notes/instruments (Picotron only supports 8 a time)

[ Continue Reading.. ]

17
4 comments



~ ❤️ starry trip 🌟 ~

a musical journey through the stars

by ral schutz

my submission for the free music jam

containing 3, free to use original tracks

under the cc by-sa 4.0 deed license

Cart #starry_trip_1-1 | 2024-03-01 | Code ▽ | Embed ▽ | No License
6


Cart #starry_trip_2-0 | 2024-03-01 | Code ▽ | Embed ▽ | No License
6

[ Continue Reading.. ]

6
2 comments



ToriEngine - ECS Metroidvania Engine

Cart #toriengine-0 | 2023-08-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

I'm building an Entity-Component-System engine-thing to make platforming metroidvania games like Cave Story on Pico-8. I was initially building it for a Jam game, Tori Tower, but the engine fell out of scope x.x

I have run into some issues as I was building the code, and I'd really appreciate if anyone would like to help me here and there ^^

I'll start by explaining how the engine works, so it all becomes easier to digest later:

Architecture

An ECS (Entity-Component-System) is an architecture for games in which the World State is populated by Entities, which are simply containers (tables) who store values. These values are called Components, and each entity has its own set of components, which its own values assigned.

Entities hold no functions. The logic is handled by Systems, which are functions that make changes in the World State every frame. A system does so by filtering out the entities in the world who have components relevant to the system, and executes the function upon each entity selected.

Example: Moving system
A moving system moves every entity that is movable each frame.

So, the system _move will filter out the world table, so that it only selects the entities who have the move and pos component. Those components look a bit like this:

entity_that_moves={

pos = {x=30,y=64} --position component

move = {vel_x=1,vel_y=0,max_vel_x=3,max_vel_y=2,acc_x=1, acc_y=3, friction=0.8} --movement component
}

Filtering out these systems, it'll run the logic for movement:

function(ent)
	ent.move.vel_x=mid(-ent.move.max_vel_x,ent.move.vel_x+ent.move.acc_x,ent.move.max_vel_x)
	ent.move.vel_y= --yadda yadda yadda you get the point
end

With that said, I'll explain how my engine is working.

The Core

The core is simple and compact, and credit goes to @selfsame for creating the system, and @alexr for building upon it:
https://www.lexaloffle.com/bbs/?tid=30039

-- basic
function _has(e, ks)
  for n in all(ks) do
    if e[n]==nil then

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=132836#p)
4
0 comments