Okay, so it looks like since I've been away, Voxatron has shifted towards a virtual voxel-based console system, which I think is super cool. And I know the current version is only 0.2.1 and that it's original inspiration is Robotron...however...
It would be nice to set controls to something other than twin stick shooter-based controls (and beyond just mapping stick two to the mouse, etc.)...
I.E. I'm not saying just making it a completely open scripting language based system because that is cumbersome for beginners and such. The current level editor and checkbox style main editing is just fine...however, choosing different control schemes and level-base properties would be welcome. For instance:
Platformer - Controls would be one stick for movement and 2 or 3 buttons for actions, one of them shoot, one of them jump, one of them free assign (i.e. use item?) and have option for the map to 'lock axis' to keep free 360 movement from happening either on x or y axis depending on the person making the stage.
Scrolling Shooter - Controls would be same as platformer, except you have two shooting options and third button could be free assign (i.e. shield activate? Drop bombs?). Autoscroll x/y would be a level option along with 'loop background' as possibility...
RPG - Same as platformer without scroll locking, jump would be optional button.
etc.
That's just some examples of how it could work. In the main voxatron control setups, the user could set their own controller options per type of level that way they don't have to remap them in the middle of a game. It's already setup for all possibilities to their preferences before they play a cart.
I think it'd fairly easy to add these 'base modes' to the editor and even have it on a per level basis that way if someone wanted to go all out with one of those old NES games that have multiple modes (like Bayou Billy or Vice: Project Doom), then these modes are tied to the level itself, not the entire cart.
Anyone have comments on this? Yay/Nay?
i like what your suggesting is basically a few keys extra for other functions, great idea!
did you see how the civilian commando level utilises multiple modes of the main character (i was impressed anyways) SPOILER for example grenade throwing or in the hot air balloon, by the cannon, i made a cat level where all the rooms were long and thin, platformy is a nice format!
maybe people could add further wishlist stuff here. I want my character to switch between two characters who have different attributes, a weak character and the hero and switch between them for a parallel storyline. I actually like the idea of characters who follow you and you protect them (sorta like counterstrike when you lead the hostages) because defending is even harder than just free running styles.
loop background is cool idea too! and hey i never thought of that, how hard is it to make a room wrap? or be fixed and if you walk forwards the trees move past you (wrapping) but new monsters etc appear. kinda roguelike i guess, or like the chaos arena but open air landscape?
woah! totes coolness ideas fizzing argh
Hey hseiken, welcome back!
It's already possible to make very non-Robotron-like carts, but there isn't much available information yet -- hopefully we'll see more variety after I get the documentation and some proof of concept carts done. At this point it should be possible to make pacman, asteroids, centipede, pong, overhead scrolly shooters and sidescrolling brawlers, but I haven't tested any of these yet! Most of it happens through the use of the ACTOR:BUTTON:X trigger along with the new inventory system. There are already some cart that do interesting things with this -- apart from Civilian Commando, Enchant and the shadow character demo are other examples.
The philosophy behind the actor designer is to include the bare minimum of customisable behaviour that can be used to cover very common cases, allowing novice users to avoid jumping into code straight away. I'm working on full lua scripting now, which will be able to handle any unusual control styles can't be expressed with actor modifiers. Lua scripting will most likely become available as a 0.3.* update.
Extra buttons are absolutely needed. That's an interesting idea about setting up controls per category of level (rather than per cartridge) -- but hopefully it will be possible to reach a standard control set that works for almost everything. Let me explain quickly what I have now, and perhaps anyone can point out problems with it, or examples of carts that wouldn't work..
So, my plan is to have 6 extra buttons (let's call them ABCDEF) in addition to the existing jump/shoot buttons (X,Y). They will be mapped to common physical controller features so the full set of standard controls would be:
Player movement (left analogue stick)
Camera Control (left dpad)
Facing (right analogue stick)
X,Y,A,B (four main buttons on the front)
C,D (triggers)
E,F (shoulder buttons)
menu
When someone is design controls for a cart, they can assume that the majority of players will have a controller mapped to something like this, or at least a bunch of standard keyboard keys assigned to them. The keyboard keys would be something like:
Player movement: cursors / ASDW
Camera Control: qert // rt is probably not used
X,Y,A,B: zxcv // for US keyboard layout
Facing: jkli
C,D: fg
E,F: 12
Any virtual button can be assigned to any action using lua scripting, but there would be common conventions about what to use for what. For example, not many carts would swap jump and shoot, or use XY for inventory selection controls.
Some of the common standard control schemes that can be used by checking boxes in the player and inventory designers would be:
- Inventory item selection using E,F to cycle through weapons or items, and then A to use/weild/unweild them / B to cancel (or drop)
- Inventory item useage using ABCD directly (e.g. press A to use a panic bomb, or to use 'secondary weapon'
- Vertical movement for side-scrollers
(I actually forgot to take this test out of 0.2.12, so it's in there now! (Absolute(V))
2d platforming is possible now by clamping y and quantising the facing value to 2(X)
The 'hoist/throw' button will also be separated into a separate virtual button (G?) that can be triggered by any other button via lua script. The same kind of thing happens for directional shooting -- the facing stick might normally just mean for the player to face in that direction, and then optionally trigger the X button to also shoot. This kind of mapping is a bit hard to understand, but would just hide away in a Lua script in tricky cases that the author doesn't normally need to think about.
On a side note, I have looping rooms wishlisted! It's in a cluster of features I call 'Big World', which also includes unlimited rooms sizes when physics is turned off, or the ability to instead have very long skinny rooms. Note it's possible to restrict the camera movement to x or y just by having a thin room along that axis.
For auto-scrolling, I was imagining attaching the camera to an actor that has the desired camera path. This would be used along with a room property which pushes actors inside the visible area (I need this for 0.3 for local multiplayer).
@ladybug I have made some provisions for player swapping -- the player actor is controlled by a 'pilot' (the human player!), which can change during the level. I'm hoping to keep open the possibility of switching characters across rooms, using up lives where each life is a separate character, or tag-teaming by bumping into other actors. There are many ways it could be used though so it might be best left up to lua scripting later on.
perhaps i just mean a costume change really, and having no weapon, but i guess i mainly mean appearance and attribute changes (jumping higher, costumed, armed) rather than character changing really. Ha you know who my character is based on already so youll know what i mean. Good to know the ACTOR:BUTTON:X option, ill go have a look at the inventory part closer!
also interested in the comment about Camera Control (left dpad) - how much control? panning 360?
These sound good. I was only asking because the demos didn't seem to hint at any of these things I suggested as being possible and the ultimate 'long time down the road in between school and work' project is a multi-task type game (some shooting, some beating up, a car chase, etc.) and like everyone creative, I'll let the graphics and scope of the game be cut, but the core gameplay I'll refuse to cut until I tried it and then don't like it! :) lol
Anyway, looking at the project's progress bars, that's some insane work that's been done since I last checked. Good stuff and keep up the good work, zep! Maybe I should just shut my mouth up until 1.0 is released and THEN suggest features cause it seems like whatever I can come up with has been thought up by you already! :)
[Please log in to post a comment]