(Edit note: the original version of this post didn't sufficiently focus on the topic I've actually wanted to discuss. I hope this one is more to-the-point.)
Hi all,
I'm trying to grow a game from a "tactical adventure with probability manipulation" concept. Right now I'm evaluating various approaches to the player/character viewpoint problem, and I'd be grateful for other developers' insight on this topic.
I expect the game to be part adventure/rpg, part tactics/stealth, which in my case provides the following requirements:
- Adventure/RPG: hand-crafted set-piece puzzles; the ability to examine almost anything and interact with most of objects; looking for hidden objects (not always the same as pixel hunting). Large enough locations to explore; the ability to freely move within the locations.
- Tactics: ability to achieve certain goal through the correct timing/positioning/use of the environment. The more degrees of freedom the situation has, the richer are the tactical possibilities. The ability to survey the "game board" at a glance is highly important for tactical gameplay, especially if it's in realtime.
- Stealth: the incentive to act cautiously and attract minimal attention in general. Usually, the more suspense it provides, the better.
The "luck-driven" aspect in my case means that any random occurrence has a chance of happening -- which, in particular, implies that any corner, shadow and closed door may potentially contain a pleasant/unpleasant surprise, depending on the character's luck modifier. This forces the player to be more cautious and to not rely on a single plan.
Some of these requirements work better or worse with certain kinds of views/perspectives/projections:
- Fixed views, Side view -- hardly the viable choices here...
- First person -- good for investigating something in detail and hiding surprises from the player, bad for surveying the play field.
- Third person (behind-the-shoulders) -- lets us to actually see the protagonist and is still good for examining things. On the downside, it lets the player to look around the corners and still isn't useful enough in the tactical context (however, if the game is turn-based or can be paused, tactical gameplay with it might be quite ok, I guess).
- Orthographic/far-away view -- perfect for tactical aspects and allows for plausible out-of-frame surprises; as a side bonus, 3D models look more convincing from afar. Bad for examining things up close and searching for hidden objects; the player can see both much more and much less than the character.
The 1st and 3rd person approaches are rather straightforward to implement, but the orthographic one is more complicated. From what I know, there are several distinct ways to deal with its challenges:
- Examining things in detail: a) switch to a 1st/3rd person view in such situations; b) when the player clicks on an examinable object/area (e.g. a picture/table/shelf/chest), a specialized UI is opened with a close-up view.
- Making sure that everything the character is supposed to see is clearly presented to the player: a) design all locations with "no overlapping" rule; b) render every important object (or its outline) above everything else; c) make the obstructions (semi)transparent.
- Preventing the player from seeing more than the character: this one has to employ some sort of line-of-sight calculations in any case, the difference is only in what's getting hidden. Some implementations just hide characters/monsters and items, others hide parts of the level as well.
The 3D line-of-sight effect in theory seems to provide the best of both worlds -- the game can seamlessly transition between close-up investigation and tactical planning views, both indoors and outdoors, without the view getting blocked or surprises being revealed ahead of time.
The obvious way to implement it would be to render a depth cubemap from the character's POV, and during the main pass to discard/make transparent the fragments that are "in shadow". However, after having made a test implementation, I'm not sure I'm happy with the results.
Do you think the see-through building is disorienting and/or looking surreal? The piecewise-visible character certainly is (however, the characters and such might be handled separately).
Also, either this kind of effect is very GPU-hungry, or my OpenGL/GLSL skills are really crappy (or maybe both), but among the 3 computers I've run the simple test scene on, only the relatively modern one (CPU: AMD A10-6700 APU 3.70 GHz; GPU: AMD Radeon HD 8670D) was able to provide decent FPS. If you like, you can try it for yourself (the executable is in MainGame/bin/Debug, requires .NET/Mono and at least OpenGL 2.1) -- I'm rather interested in determining the kind of hardware this effect can be used with.
=======================
For the sake of completeness, here is a rough description of the "luck-driven tactical" gameplay I had in mind:
The main gameplay "shtick" would be the protagonist's ability to cause unlikely things to happen, namely by a specific form of wish-making that uses her luck as a "fuel". In some ways, this resembles WatchDogs' hacking (indirect control of the game world), but since it's based on luck, no wish is guaranteed to happen the way you expected, or to happen at all (hence there must be lots of potential paths to solving any puzzle). This part of the gameplay is supposed to have a "tactical/stealth" feel, as the player would have to devise strategies and control their execution without drawing much suspicion.
Also, since luck governs a lot of things in the game, a lot of things are supposed to be actually undefined until the moment the protagonist "Schrödinger-observes" them (e.g. whether a door/chest is locked, whether there is a guard behind the corner, et cetera).
Of course, the common understanding of wish-making implies being able to wish anything at all -- which is hardly implementable in a computer game -- so I came up with the following system. The "wishes" are made through the use of certain artifacts ("wish pearls"), and each pearl can be "charged" with one of the following:
- Prime wish – based on a concrete character/object/phenomenon encountered by the protagonist.
- Constructed/abstract wish – created from other wishes through a process resembling fortunetelling/solitaire (with magical cards).
- "Blank" wish – a special kind of wish created by "clearing" the pearl.
The protagonist can "wish" for the pearl's "contents" to happen (in general or somewhere specific), and "the Fortune" would start looking for ways to make it happen (I think it can be done via a distributed-over-time search of a causality graph); requesting another wish with this pearl or recharging it would cancel the search.
Each non-blank wish is made up of basic elements that function like words (noun, verb, adjective, etc.) and can be connected into descriptions/statements (and which, in turn, can be dissected into the constituent words or combined into sentences) using the magical cards. Prime wishes contain words that characterize the character/object/phenomenon at the moment the "snapshot" was taken. The "blank" wish is a special kind of wish that asks the Fortune to help the protagonist in any way the Fortune sees fit.
So, in a way, this mechanic is somewhat analogous to the one in Scribblenauts -- and, like in Scribblenauts, it's supposed to encourage or even force the players to get creative and improvise... Which means that the players would expect the game to recognize and acknowledge every solution that might realistically work.
=======================
So, in short, I'm lacking the experience to determine whether the 3D-line-of-sight effect can be polished into a viable approach, or it just isn't possible in principle. What's your opinion? What techniques would you otherwise suggest for such kind of game?
P.S.
Though somewhat beyond the focus of my questions, the general feedback on the "luck-driven gameplay" is also welcome