0.3 is a special number to me; it's the version of Voxatron that I internally take to mean 'Voxatron is now also a platform'. The aim of 0.3 is to round off a complimentary set of tools and engine features for making levels and whole games that don't resemble Voxatron beyond utilizing Voxatron's virtual display format. The machinery to do this covers around half of the project. Crafty users have already made some wonderfully surprising levels, but I think the difference will be 'How shall I make this in Voxatron?' rather than 'What could I make in Voxatron?'.
With 0.2.10 taking shape, and destined to serve as a kind of beta for alpha 0.3 (does that make sense?) I thought it might be a good time to give you a look slightly further into the future. And also wave my hands around one more time before you can actually try 0.3 firsthand and try to convince fleeting blog-readers how cool it will be.
v0.3 Features
This trailer demonstrates some of the upcoming features using no special hackery for the park scene. The leaves are emitted monsters that wander while they're not standing, the duck leans against the top-hat guy when close using an object-specific trigger, the hud is turned off, and solid animations are used to allow the girl to be animated but still able to be walked over with per-voxel collisions.
The following features are already working in my dev builds, and will appear in 0.3. For the next month or two, I'll be carefully attending to details; freezing the design of each behaviour so that I don't break backwards compatibility, debugging, writing user manual entries, and resolving any left-over design confusion (my confusion, that is) about how exactly features should work. I've learnt from doing quick design to release cycles that this can yield a long tail of around 10x as much maintenance in bug-fixes and work-arounds once they are live (blue doors, or NOITEM triggers, anyone?), so in that respect I fear I'm sitting on a potential wagon of long-fuse dynamite.
To alleviate this, I will be rolling out features as gradually as I can in the remaining 0.2. updates, but it might be a bumpy ride. I should take this chance to quickly thank everyone in advance and who has already been posting levels for being so tolerant while I flounder around fixing and re-breaking their levels. Making something like the Voxatron editor has been a personal dream of mine, and I can't understate how vital tenacious and creative users have been to help make it happen. You guys rock. sniff*
Right. So, the core 0.3 features are:
1. Microscripting: Activation controllers can query any actor or group of actors in the world, and perform logical expressions over them as a collection (e.g. If any actor in group x has a distance closer than y to this actor..). Expressions can also query the state of objects in other rooms -- for example, you can check to see if a boss monster has been killed in one room to trigger opening a door in another room.
2. World Persistence: Rooms can optionally be recorded/saved in exactly the way they were left including wall damage and actor position and states. Otherwise, it is possible to turn existence persistence on per-object, so that a monster only spawns once or a pickup is only collected once.
3. Doors: Doors are defined in a way similar to actors, with their own animations (that can be solid) and triggerable modifiers. You can, for example, make a door that has an opening animation if a player is weilding a key close to it. Doors also have off-screen pockets of empty space for much nicer room transitions. Finally, they can be used to spawn players after the room has started, or to remove them from play -- useful for making story screens and showing action before the player arrives on the scene.
4. Custom Audio: Music can be imported and saved with the level file (.xm tracker modules), and sounds can be triggered by activation controllers. I'll make a synth designer later, but in 0.3 there will be a standard library of sounds to choose from.
5. Player Inventories: Pickups can optionally include an INVENTORY_ITEM definition that controls how players can collect and store them, how much ammo they have, how they are displayed, and how they interact with other pickups. For example, it's possible to rig arcade-style weapons or to make an rpg-style inventory where the player can select between collected items and wield them at will.
6. More Physics: 0.3 will handle actors' physical properties better, including their weight on collisions, how bouncy they are, and with definable friction. This is the last time I'll change the core physics, but in any case older levels should still work roughly the same (unless you have the player hoisting incredibly large objects).
7. Custom Players: players can be defined in a way similar to monsters. Old arcade pickups can still be used with special legacy options, or you can define custom attacks from scratch as part of the definition (triggered by inventory items).
8. Multiplayer!: Multiple active players can be present in the same room, and enter neighbouring rooms either when one players goes through a door, or when all players are close to or inside a door. Using a team grouping system, players can either hurt each other, be pushed around by each other's bullets, or not interact at all.
Wishlist
There are a bunch of things that would be nice for 0.3, but it's important to keep it as focused as possible. For example, there should eventually be tools for managing room objects, for generating bits of the world procedurally to make rogue-like-likes, or for making speech bubbles easily. These are all things that can be rolled out separately in later updates without impacting the design of core features.
However! If anyone's working on a level that really needs a particular little engine design tweak, feel free to suggest them for consideration. I can't promise anything for 0.3, but might be able to do them in a 0.3.* update or adjust the existing features to handle a work-around.
Release Plans
I don't have a date fixed for 0.3 yet, but anyone keen to sink their teeth into the new design tools will be able to access most of the features in 0.2.10 (the next update, coming soonish..). I'm hoping (nudge nudge*) to give users a chance to design some more stuff before 0.3 so that it's already available for the launch. Of course, I'll also be making a new demo level of my own with the hope that some players will come for the game, but then stay for the engine and tools.
You may have noticed that the BBS has been somewhat quiet, which has a few upsides (it's very tricky to support a constant stream of legacy levels!), but of course it would be great to address this, and 0.3 will be a good point to start investing more time into promoting the game and community. In fact, this was one motivation for making the trailer above -- I've set up a good toolchain for making silly trailers to keep players and potential players in the loop. Along the same lines, I'll also get the basic community tools finished before 0.3 (level ratings, playlists, competitive scores).
Ah.. what about the game?
Some of you might be here for the Robotron arcade mode or adventure mode, and wonder why I'm always going on about the engine and tools. I have been continuing work on the main story, but I'm not ready to reveal much about it until closer to 1.0. New arcade modes will be available much sooner than that however, with a new arena also coming in 0.3, and later 0.5 will be focused on developing the arcade experience (0.4 is for scripting).
That's all for now -- please feel free to offer any thoughts on 0.3 development direction or what you'd like to see happen with the release and I'll catch you on the flipside.
This is looking really sweet. I got to say i feel any voxel game/block games are amazing and this is no exception. Keep doing what you are doing, cause it is amazing. Makes me want this game despite the stuff i have and lack of money.
P.S. if leaves are "monsters", am i taking this way way wrong by saying "inb4 leaf monsters"?
Oh my! Player inventories! On this update i'll certainly post to moon dungeon from zelda!
I stil liked the idea of a door going to a sert of random rooms but the lantern on voxatron and changing the lightning is what I want most
Looking forward to this update!
The engine keeps getting better and better.
Makes me wanna make a scrolling shmup out of it xD
Now if I could just figure out how to make it scroll for three minutes.
Maybe send actors down as hills and backgrounds etc hmm.
Keep up the good work, loving this stuff. :3
@Kling
I think my plans for random map generation will cover the random door idea, but it depends how you want to use it. The door is set to a random target just once, right? Or do you want a different room each time you go through the door?
Lantern lighting is too hard for now! (it needs a whole new renderer). But I'll certainly look at custom lighting for one of the 0.3.* updates (e.g. moonlight, dusk, etc)
My idea of random door is just like the one at binding of isaac, where once you enter the door, it gets to a random terget once, but I believe your random map generation would also be a good idea.
And thanks for looking at the light, is just somewhat boring not to male use of the shadows well enough
what about transparent mist that increased and decreased on its own, like for london fog scenes and foresty mist.
I like the vision you have for this zep, im interested on ways of making it more accessible for kids or teens in the editor. A simplified version for 4 years olds (EDIT-a year ago i showed my niece VOXATRON and she made a person and some objects easily, but i guess she was about 8) would also help teens/adults understand how to use the basic tools. I worry how id ever explain it to my niece right now. Would it make sense to have a monster automatically make its own animation for example to help newcomers?
Ive had great results using it for poster art and the recent library art work show, where i used VOXATRON to make a model of dunedins central city and the library technicians were stoked! They envisioned making the whole library as a way to show the workings of the place.
Without trying to digress from your aims, i see alot of potential for animations/movies/music vids and also perhaps 3d location maps although slightly simplified. and for getting out important rescue me messages from princesses trapped by dark forces.
Also its nice to think of people building projects together. If you or someone on the bbs ever devised a way for us to all contribute to a level (via competition or time deadline) that might have interesting results.
Love the preview!
wobbly ducks! throw them the bread or they might eat you!!!!
I've stalled my project for now, but once this comes out, whoa nelly, it sounds great. World persistence and an inventory is a huge, very exciting step! Great work, Zep!
I really love Voxatron, I should start doing some levels too, sounds fun!
You know, old entries that were deleted from the bbs (like when I update a level)
are deleted from the list but remain at the pc, is there a way to delete thos old entries from the pc on the next update that are not manually?
jaw2233: the upcoming update 0.2.10 already is a pre release, it's a sort of beta for the o.3, unless your idea is diferent from mine.
I also like to warn the new people that the bbs is already filled with levels, so, if you want to update yours, simply replace the code on you post, no need to create another one, it only fills the list with useless WIP and takes space from other players levels
Voxatron is amazing... :)
I guess I have one small suggestion; and that is making text generator to be able to up text size (like, what ever it's now, + medium, large, and extra large...)
Thx :)
...
Awesome work, Zep. I've missed a lot. Time to get back to work.
Heh, wobbly ducks. That song still gets occasionally stuck in my head.
I've thought a bit about how to develop a simplified version of the editor. Apart from offering something for young or casual users to work with, it might also become relevant for platforms that have limited interface (e.g. handhelds / consoles). Also I'd love to fork Voxatron and make a pure editing tool sometime after 1.0. It might be possible to cultivate people making objects for fun, and then steal them for making levels.
Tools for collaboration is something I need to address too, more immediately. It should be possible, for example, to somehow create a big super-collection of objects that anyone can add to, and anyone can grab (with or without credit) for their carts. The solution might ideally be to allow bbs browsing of bbs-posted objects from with the editor, and to search by tag and author.
Do you mean the cpost* files in /bbs_levels? They shouldn't show up in the BBS LEVELs menu, so should be mostly harmless (they are quite small). Do they get in the way when you're trying to locate cpost files? I could scan for them and delete them, but it's a bit of work to do it efficiently.
In 0.3.* I have planned support for fonts that can be used for making speech bubbles or drawing directly onto models.
You know what else?
You said you would have support for "multi-part monsters," however for beginning multi-part monsters you should at least have a modifier to prevent them from being pushed on bullet fire (because I do not think the modifier "pushable" works, imho), for most of my starship combat monsters are pseudo-multi-part, and I find it annoying that I am not able to prevent these other parts from falling off the main part due to bullet fire. If you already haven't got that noted or unless there really is a workaround in 0.2.9, I strongly suggest you should implement this (as well as zero-gravity ;D) in the next release.
[Please log in to post a comment]