Monday, February 4, 2013

Just thinking out loud... er... on paper... er... on screen. Sure.

There's a study that suggests that telling people about your goals chemically satisfies your brain in a way similar to that when having actually achieved them. Extrapolating that, Derek Silvers advises not telling people your goals with the idea in mind that, having achieved that particular chemical satisfaction, you've satisfied the need to complete the goal and are therefore less likely to complete it. I don't find this to be far-fetched, because I love talking about Rustbot and, well, look where I've gotten with it.

BUT I can't help myself and will continue to blab. I favor the method of writing things down here because it makes them feel more solidified whereas, prior to doing so, they feel incomplete, abstract, and intangible. It's like collapsing the wave function of an electron to bring it from a cloud to a particle by measuring it. Anyways, here are my current ramblings.


I've got object conjoining done, at least in a testable alpha manner. I'm not sure that the interface or object handling even resembles what I'll end up with. Currently you just grab an object and hold it in front of you à la the gravity gun from Half-Life 2. It bobbles in the middle of your field of view, collides with objects and can be thrown or dropped via left and right mouse clicks, respectively. While the object is in this held state, I freeze its rotational degrees of freedom, because otherwise they just rotate unhindered (they're essentially in zero-gravity, afterall) and this becomes extremely unwieldy when trying to align parts for conjoining.

So maybe I'll integrate some kind of "editing" screen, or "fine tune editing" screen, wherein you can position and rotate the component as needed before securing it. OR, actually, now that I think about it, maybe I'll just add a "snap to" option, wherein it snaps to rotational axes and aligns itself with nearby objects. Now there's a thought.

Also on the topic of object conjoining, I'm unsure I want to retain the means by which two objects are joined. Currently I'm using Unity's FixedJoint, adding one to the held object when the player deems. This then establishes a physical breakable bond between the two objects. I really like that it is breakable, because that adds a new dynamic to the physics puzzle component, but at the same time the joints are very wobbly and stretchy. I want these to be rigid structures, which means I'd have to find some other way. I'm going to look into the possibility of just adjusting object hierarchy instead. What this means is that, instead of creating a joint between two objects, I'll make one the child of the other, so it exists in the local space of the parent object. If I'm lucky, I can set isKinematic on the child object to true, and then it won't move independently of the parent object - it will be strapped to it rigidly. The downside to that is that I don't have the option of a breaking force, which does sound kind of nice to me. On this front, time will tell.

Another aspect I've felt the need to explore is combat. I've put fairly little thought into this, but I think I have a rough idea of how I'd like it to proceed. All the NPCs will be robots, and they'll be comprised of a collection of metal pieces formed to some kind of exoskeleton about an energy source. The premise of the combat is to yank parts of the shell away and expose the energy source therein. The player can then capture the energy source, causing the empty unpowered exoskeleton to collapse and the enemy is defeated.

Originally I had thought of doing this as a turn-based situation, where the player's attacks consist of choosing an shell component to grab off, and the enemy's attacks are physical, and detract from the player's arbitrary HP system. However, I'm wondering if it might be better to have it remain real-time, and the player has to maintain a "grab" on an object for a specific time in order to remove it from the enemy. The player selects an object to grab via a VATS-like system (see Fallout 3), while the enemy moves around, necessitating that the player maintains his hold, almost like trapping a ghost in Ghostbusters. Meanwhile, the enemy still attempts physical attacks, and successful ones cause the player to lose his grip.

This is probably enough rambling for now, so I'll end here. More to come once I have something to report.

No comments:

Post a Comment