@zep@mastodon.social
@zep@mastodon.social avatar

zep

@zep@mastodon.social

Working on fantasy consoles (PICO-8, Voxatron, Picotron) and trying to make my way back to userland. https://www.lexaloffle.com

#indiedev #pico8 #gamedev

This profile is from a federated server and may be incomplete. Browse more on the original instance.

zep, to random
@zep@mastodon.social avatar
zep,
@zep@mastodon.social avatar

@marinamakes I spent several hours trying to get a sprite stacked version looking ok, but then gave up and just manually drew them in a sprite stacked style instead, heh

zep, to random
@zep@mastodon.social avatar

Important detail: grabbed files in #picotron are ordered by distance to cursor so that it is possible to choose a head.

video/mp4

zep, to random
@zep@mastodon.social avatar

Undo buffer debugging
#picotron

video/mp4

zep,
@zep@mastodon.social avatar

@Felice it is using pod() to create a string from the bmp (+ pan, selection etc) and then create_diff to get the delta between neighbouring state strings. apply_diff(str0, diff) essentially uses str0 like a lz style dictionary. Not super space efficient but fast and general enough for most types of data.

zep,
@zep@mastodon.social avatar

@Farbs deltas between strings -- there is a create_diff API function tool makers can use to make their own undo stacks

zep,
@zep@mastodon.social avatar

@Farbs indeed!

zep,
@zep@mastodon.social avatar

@Felice A binary string containing span lengths/offsets + literal runs in a byte-wise format, and then lz4'ed.

zep, to random
@zep@mastodon.social avatar

Using the About program to find out about About itself
---> this bug, that maybe almost kind of makes sense. I'm temped to put a video feedback loop in there.

video/mp4

zep,
@zep@mastodon.social avatar
zep, to random
@zep@mastodon.social avatar

#picotron tracker: all the data, everywhere, all at once

(as I understand it, there is an unwritten rule in audio software design that there is no upper limit on how much information should be displayed at once)

video/mp4

zep, to random
@zep@mastodon.social avatar

Don't you sometimes wish you could draw custom icons for each of your source files?
#picotron

video/mp4

zep, to random
@zep@mastodon.social avatar

WIP #picotron desktop themes with a generative wallpaper that changes each time it runs.

video/mp4

zep, to SmashBros
@zep@mastodon.social avatar
zep,
@zep@mastodon.social avatar

@jtruk Oh, cheers! I'm sure it wouldn't have done half as well without the improvised sounds :D

(otherwise, I was hoping that using a pun of a prodigy song title would plant an earworm in the minds of the viewers)

zep, to random
@zep@mastodon.social avatar

The three essential system settings: network, battery saver and floppy windows.
#picotron

fsouchu, to random French
@fsouchu@mastodon.gamedev.place avatar

@zep digging a bit into #picotron 3d helpers and wonder if the 3x4 matrix is really a hot idea
it makes things like:
m34:transpose() undefined, not cool as a standard rotation+translation matrix can be trivially inverted (transpose rotation x inverse translation)

Views?

zep,
@zep@mastodon.social avatar

@fsouchu Good point, and I'm not yet sure if the two advantages of specialised matmul3d justify that extra mess:

  1. Means 36 multiplies instead of 64. But the virtual cpu cost spent on those multiplies might not be significant in practice.

  2. A vector being multiplied using matmul3d doesn't need to be the same width as the matrix height, so can have extra components (u, v, col etc). Seems handy? But perhaps could be enabled in some other way e.g. matmul() itself could be tolerent in that way.

zep,
@zep@mastodon.social avatar

@fsouchu Great feedback, thanks -- I'll do another pass on userdata api soon.
Easiest way to copy is to blit()!
blit(m_in, m_out)

zep, to genart
@zep@mastodon.social avatar

#inerciaparty has a 512b compo for fantasy consoles again this year, and submission close in a bit over 2 days (10am Lisbon time). #pico8 #tweetcart
https://2023.inercia.pt/index.php?page=Participation#realtime

video/mp4

zep, to random
@zep@mastodon.social avatar

The #picotron wm publishes info about window positions to /ram/shared, and wallpapers are live programs, so...

The WIP picotron desktop with a randomly generated maze that adapts to avoid being covered by windows.

zep,
@zep@mastodon.social avatar

@fsouchu I wouldn't recommend using /that/ desktop, but.. the important thing is that it is possible 8)

zep,
@zep@mastodon.social avatar

@headchant You can, and the wm code will be exposed in userland, but the reqs & messaging protocol it uses will probably jump around a bit for the first couple of years.

zep,
@zep@mastodon.social avatar

@bnut yes, it is a dangerously interesting problem :p
It certainly gets hard if trying to guarantee a single solution where possible, while reducing jumpiness between states. That looks like it could work nicely though.

zep, to random
@zep@mastodon.social avatar

Surprisingly appealing bug (it is supposed to be drawing selection ants)
#picotron

video/mp4

waporwave, to random
@waporwave@mastodon.social avatar

@zep thoughts on syncing PCM music and P8 tracker? People have tried using tracker stat() which is not accurate enough for drums. Using a 45.75 tickrate on the PCM makes it's speed perfectly match the tracker, so I tried calling music() from this accounting for buffering, but I later tested that music() itself does not have a consistant start time either. Understandable cause of audio buffers and whatnot. Would any solution fit with pico-8 or it's environment? Or no?

zep,
@zep@mastodon.social avatar

@waporwave Unfortunately I don't think the 0x808 channel should be considered to be reliably sync-able; there are too many different audio callback behaviors and mix buffer sizes across host systems. The revised stat() was an optimistic compromise, but agree it falls well short of being useful for drums.

There might be some hope with 0.2.6 waveform chaining, but they would need to be played back at a very low sample rate (< 5012), and use up almost all of the sfx instruments.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • InstantRegret
  • ethstaker
  • magazineikmin
  • GTA5RPClips
  • rosin
  • modclub
  • Youngstown
  • ngwrru68w68
  • slotface
  • osvaldo12
  • kavyap
  • DreamBathrooms
  • Leos
  • thenastyranch
  • everett
  • cubers
  • cisconetworking
  • normalnudes
  • Durango
  • anitta
  • khanakhh
  • tacticalgear
  • tester
  • provamag3
  • megavids
  • lostlight
  • All magazines