Hey All
Voxatron 0.2.10 builds are now up, and will shortly be up on Humble Store (check the version number in the filename). If you don't have a lexaloffle account (Games > My Games) and would like one, you can activate it from your humble store page (see this thread). To update from a Humble Store account, search your email for the download page link, or request a new one here.
NOTE: 0.2.10 can not read old player history files. If you're in the middle of a long level, you might want to finish it before updating
0.2.10 contains many new engine features that will be of interest to users making carts: microscripting, persistent worlds, player and weapon editing, music importing, many new actor properties, nice doors. There's new stuff to play too! I've added a cartridge selection menu with a new arena (Chaos Arena) and some test carts to fool around in.
If you take a look at the editor, you'll see there are now some new default objects in the 2nd and 3rd tabs. These are all made from scratch in the editor, and can be used as templates to make new monsters (or just examples to learn from). The 4th and 5th tabs are still read-only internal objects that can be mixed with new stuff, but eventually I will try to remove all of the legacy items. In particular, there should no longer be any need to use the old door scheme.
There are surely many small glitches and details I still need to attend to, but it should be mostly stable and functioning. I'll be posting new tutorials over the next couple of weeks, but in the meantime have a look at the new example objects, and here's a half-finished user manual:
UPDATE:
How to add music: https://www.lexaloffle.com/bbs/?tid=1580
How to use doors: https://www.lexaloffle.com/bbs/?tid=1579
Changelog:
v0.2.10
Added: Custom players
Added: Chaos arena (alpha demo cart)
Added: Custom doors and spawn points
Added: Custom bullet properties and crater sizes
Added: World permanence system // elephant mode / collect_once
Added: Green checkpoint flags (save when exiting room)
Added: Room objectives / room clearing
Added: Extended microscripting and inter-room superstates
Added: Actor property value mini-functions
Added: Base types: shape, colour
Added: Modifiable room height (maximum 64)
Added: Room properties: liquid_z, extend_walls, skip_timeline
Added: Motion blur for fast moving actors
Added: Actor properties: friction, bounce, density, attack damage
Added: Actor facing quantization
Added: Cart selection for alpha demo levels
Added: Transparent colours
Added: Maximum player life pickups
Added: Save point pickups
Added: Default objects and templates
Added: Music importer (.xm)
Added: Audio triggers
Changed: Collision events can optionally apply to walls/actors/any
Changed: Microscripting statements replace old object instance triggers
Changed: Removed minimim 4x4x4 size limitation on props
Changed: New savegame storage (historic saves invalidated - sorry!)
Optimized: File saving and resulting png size
Optimized: Editor rendering, gui responsivity
Fixed: Floating ground caused by destructive weapons
Fixed: Team logic for bullet collisions
Fixed: Pasting objects from another file yields duplicate ids
Fixed: Sound mixer thread crashes
Fixed: BBS level title clobbering
Importing .xm files? This is amazing, a game that actually uses fasttracker formats in 2014 deserves a lot of praise!
Am I crazy for thinking this runs a bit smoother? Seems so!
Played for a good 30, so far I am enjoying the new patch!
it seems like the custom weapon themselves are inside the player item, the weapon pickup is just to activate it
That's exactly right. For now, you have to build the weapon (or an item) usage into the player description. So if you want to copy players and weapons between levels, you need to copy them as a single collection (I should have put the example in the same folder).
I'll make a tutorial for custom weapons soon. Here are some quick notes on music and doors:
How to add music: https://www.lexaloffle.com/bbs/?tid=1580
How to use doors: https://www.lexaloffle.com/bbs/?tid=1579
@the60ftatomicman: The editor and especially file loading/saving is faster. The in-game world logic is slightly optimized, but it might be your imagination :)
the custom weapon is mostly done on the emitter triggered by the button, you just have to copy one of the examples, change the id to the inv item you created and edit the emiter (optionally the animation if your character looks diferent to the one on the folder) but one thing that I'm yet to learn is the new ways of emiting stuff, just what is that "cos 000 000..." thing on the twirly gun? I'm eager to find that out!
sin and cos are sings of calculus, but I'm no calculus expert :P
Trigonometry, actually.
It is known that Sine and Cosine graphs are good for many things, finding and tracing soundwaves, moving mechanical pistons in an oscillating maneuver, and even for videogames, as zep has demonstrated.
The Cosine graph emits a pattern that usually goes back and forth. Put the cos function on the z axis of velocity and it will go up and down, x axis makes it go left and right. Put them together and it looks to be going in a circle formation!
I wonder if zep put in the tan function for the emitters?
thanks commander and kidcob, that was kind of a stupid question, I just didn't know the words in english, but I'm somewhat familiar to the concept.
Zep put so much love and effort in this game, thats very inspiring, I really want it to succeed :)
Gotta make some scrolling shmups :3
If there is ever a way to float and move forward (Space Harrier) I'm totally doing that xD
Either way time to boot up Voxatron again!
Wonderful work as always!
Those trig functions (cos, sin) are still experimental, and undocumented! But feel free to use them -- they will be supported in future versions. Basically you can replace any number in an actor definition with a function that returns a different value each time it is called. You can use it to control things like emitter noise and wiggle (e.g. twirly gun), animation offsets, or to vary monster properties.
Each one takes up to 3 parameters, and is always expressed as function_name a b c.
I will replace this later with a nicer visual interface that shows the function curve you're getting.
lerp a b c : linear interpolate from a to b over c seconds. So after 5 seconds, "lerp 0.0 8.0 10.0" will be 4.0
serp a b c : like lerp, but with an S-shaped curve (two quarter-sinusoids joined together)
rand a b : random number between a and b (useful for emitting explosions etc.)
rand0 a b : like rand but only randomized on actor creation (e.g. for giving each monster a slightly different speed)
cos a b c : a + cos(c t) b // c = 1 means one cycle per second.
sin a b c : a + sin(c t) b // ditto
In each case the activation controller's time is used. i.e. if you have 'reset on activation' set, the functions will also start over.
I'm loving this update. I can see this game is only going to get more and more awesome ... :)
[Please log in to post a comment]