by Artie Breakfast

I hear we have markdown now

So there was this Revision thing, and I did some prep for it. I'll detail some of that here and go into more of it in the coming weeks as I work on things.

So Waffle (luft, .fi variety) said I was responsible for the Jumalauta demo this year. So, back in February, I started with a löve framework thing, and began writing some feedback effects.

The first thing I hit upon was that löve has no "blitter" functionality, and so I'd need to write one. It does support the concept of a "canvas" and you can create a "canvas" from various sources (essentially lua tables) and there is a function to transform a canvas into a lua table, which contains R,G,B, and A values for each pixel. From that, I created a function to "blit" from a canvas.

Additionally, i was able to do some color manipulation, and start looking at the map function (iterate over all pixels in a table) and the shader functionality. I didn't touch on those much, will in future as it's a faster way of dealing with things (in particular, there are some slowdowns that can occur because using the CPU instead of the GPU for drawing uses a 'wait for GPU' latch, which can get in the way.

Anyway I did some simple feedback/futzing/blitter tornado type things and was fiddling with them a bit, and decided to attempt to use some 3 dimentional transforms with them to alter the canvas/image. At that point I moved to doing some 3d stuff, got some things rotating, and got a simple but effective dodecahedron thing.

At this point I realized I'd better do some stuff dealing with testing multiple monitors, and resolution selection, and be sure the demo scaled. (Which it doesn't entirely yet, but I began work in that area.) So I made my own simple resolution/monitor picker, which needs a bit of expansion (found some bugs on some test machines where there were far more resolutions than on my 4 monitor setup or my laptop.)

Fiddled with some more things, wrote some more code (which I'll detail more later) and then Jobe provided a tune - and said that this would allow me to get synching. Well. Hmm.

Up til then, I'd basically been doing everything as "test" and really didn't have much beyond a timeline of "t" - a float...

So I took a look at Gnu Rocket because "it's what people use and should be quick" and - ok, no lua bindings for it, I'll have to write that, and these internals are um yes no time for that now, 2 weeks or 3 weeks to go - let's write "Not Rocket."

So I made a VERY simple file format for effects, which essentially looks like

playtune        2
sunfx   1-125
futzhexen       10
grav1   11
grav2   11-16
fx1     126-150
fx2     151-200 210-220 230-255

and a parser, and so I had the ability to schedule effects on the timeline. Not great, but effective and fast.

  • one thing I did realize a bit later is that this method follows the 'back to front' drawing of effects; and because one might want to layer slightly differenly, I'll need to mess with that if I expand on this.

So that's SOME of what I did in the past few weeks.

I'll detail more as I work on it further, which I will do - though this week has been loads of "work related" things as I was told on Monday before Revision to be in the office on Thursday because my new boss would be there from the company that my division was spun off to... aaaand no, I was in Germany and there was NOTHING that would stop that. So after returning, there was lots of orientation, talking to new boss and new people, and ... I have a ton of stuff to do to transfer my previous role to another person (:

Last Edited on Sat Apr 07 2018 03:12:47 GMT-0400 (EDT)