Changelog 2014-09-01

Summary

Well, yet another month is in the books. Weird August fact that only I find interesting: I know I don’t post a great deal on this blog compared with other blogs, but looking back over the years it seems that August is the month I have posted the least overall. In fact, until this year, I hadn’t posted a single blog entry in August since the first year of the blog, in 2008. I have no idea what this means.

This week was relatively quiet, but still important tasks were accomplished or started. As I mentioned last week, I installed Parallels on my Mac dev machine so I could do my modeling/animation/exporting work side-by-side with my programming and testing work without having to reboot into a different OS every time I needed to switch. While I did get most everything up and running nicely, this past week was spent further finalizing the setup, and getting a few straggler programs re-installed and set up correctly. Everything is now just the way I had it before, and it really works well. I have not been a big Parallels fan before now, since I never thought the product was mature enough to run the way I needed it, and I wasn’t a fan of the way it modified the Windows installation in order to run. Plus, Windows under Parallels would endlessly grind a standard hard drive like nothing else, enough to drive me insane. But now, with the latest Parallels and a beefy SSD drive, it seems to have hit a nice sweet spot. It still doesn’t run intensive stuff blazingly fast, but it’s absolutely workable now.

While that was going on, NR started to work on a new IFL animation for the main candle, so we can animate the candle being blown out. I still have no idea if we can get that working, or what we’ll do about a trail of smoke, but we’ll find out soon. I also used the new Windows-Boot Camp-Parallels setup to bring the Windows version up to 05b, same as the Mac side. Recompiling went smoothly, which was a big relief. Finally, I went through all of Constantin’s Act 1 interactions and played with the audio files to ensure the voice was in sync with the animations. With that done, I can turn once again to Drogo’s Act 1 animations to make some needed tweaks.

=========
CHANGELOG
=========

One week period leading up to 2014-09-01:

  • Finished setting up Windows under Parallels/Boot Camp on the new SSD drive
  • Recompiled the Windows code to bring it up to v05b
  • Finished modifying Constantin’s Act 1 audio files to ensure voice is in sync with animation
  • Began work on a “blow out” IFL animation for the main fatherCandle (NR)

I’ve been working on Constantin a bit lately, so this week’s screenshot shows him during Act 1, in his dormitory room. He’s telling me his feelings about the monastery.

Constantin takes a moment from skinning the hare he caught.

Constantin takes a moment from skinning the hare he caught to speak with me.

Be the first to like.
Posted in Vespers | Leave a comment

Changelog 2014-08-25

Summary

Well, it’s been a little bit since the last update, hasn’t it?

Work has been somewhat slow lately, owing to several things. A week of vacation was followed by a week of work-related travel, so not a lot of progress was made over that time. We did accomplish a few things; NR finished his work on the last two holy water rmodels (“dull” and “boiling”), and passed them on to me for implementation, so at this point all holy water versions are complete and functional. The “dull” version was a bit challenging because I wanted the water to appear cloudy, and that isn’t an easy thing to do in Torque. The solution that worked best was to create underwater smoke emitters, which was effective at making the water appear slightly opaque. The “boiling” version was a bit easier to finish since I already had underwater bubbles ready from the “hissing” version, so all I had to do was make the bubbles larger and spread them out a bit. The result is, I think, some very nice water to look at. Elsewhere in the game, not much additional progress was made, other than finalizing the implementation of the KISS verb, so that is now functional, although it took a little extra work than expected due to some errors with the ghost NPCs.

This past week was spent mostly making upgrades to my dev machine. My current setup is on a Mac Pro with a Boot Camp installation of Windows; most of the programming, testing, and asset management is done on the Mac side, while the modeling, animation, and exporting is done on the Windows side. Moving back and forth was getting to be a pain, since it required rebooting each time, so I decided to install Parallels on the Mac in order to run both OSes simultaneously. While that worked, Windows was just too sluggish running on a standard hard drive partition, so I upgraded to a new SSD drive, which meant recreating a new Boot Camp partition. This was not a big problem, until I ran into some issues reactivating some of my Windows software. After a couple of frustrating days working with several customer service folks, everything is now finally back up and running, but on a much speedier SSD drive. The new Parallels actually works quite well with this setup, and I think I’ll be very happy with it.

=========
CHANGELOG
=========

Three week period leading up to 2014-08-25:

  • Finalized “dull” and “boiling” versions of holy water, and final models exported and installed; all holy water versions are now complete
  • KISS command implemented and working
  • A little bit of work tweaking Drogo’s Act 1 animations accomplished
  • Dev machine upgraded to new SSD drive, new Boot Camp installation of Windows set up and is now ready for development use

This week’s screenshot shows a preview of the “dull” holy water in the church font from Act 2. The fresco is visible behind it (although that’s the fresco from Act 1, not Act 2).

The holy water has turned dull and cloudy...a sign of things to come?

The holy water has turned dull and cloudy…a sign of things to come?

Be the first to like.
Posted in Vespers | Leave a comment

Player Freedom vs. Railroading, Revisited

Although I’m still implementing material for Act 2 in Vespers, I’ve been working with NR on creating some of the new material for Act 3. In Act 3, there is considerably more action, and the story branches out in a couple of potential directions. There are a set of interactions and events that occur inside the monastery, and others that occur outside the monastery, where the player had not been able to venture before in Acts 1 and 2.

In reviewing the interactions and events for Act 3, I referred back to the design document I made, which I discussed a while back in another post. In so doing, I began to think about storyline issues I hadn’t considered before.

Be warned, spoilers are in that previous post, as well as below.

In the design of the original Vespers, Jason clearly intended that the events inside the monastery would be experienced before those outside the monastery, and he designed the game so that the player was guided in this order. Once the player wakes, he is encountered by Constantin, who urges him to follow him to the Cloister to investigate an important event. Following that, a series of subsequent events is triggered that advances the storyline in strange and interesting ways. The impact of the “inside the monastery” action is powerful and does a remarkable job setting the tone for the rest of the game, including the other, subsequent events mentioned that occur outside the monastery (as well as those in Act 4).

[SPOiLER WARNING] Vespers, Act 3. Click for a larger view.

[SPOILER WARNING] Vespers, Act 3. Click for a larger view.

But that got me thinking…I had never tried to play the text game where I pursued the “outside” events prior to the “inside” events. Is it possible? Would the “inside” events still be available afterward? What effect would it have on the flow and impact of the game?

I’m not sure if Jason specifically intended it, but it turns out that it’s quite possible to skip the “inside” events and go right outside the monastery to encounter the “outside” events. Technically, there is no reason why the player couldn’t do this, as doing so neither interrupts the storyline nor causes any problems with puzzle or character disconnect. Outside the monastery, the player can visit the other buildings on the grounds, and tackle several puzzles. If the horse puzzle can be solved, the player can travel outside the monastery grounds, which eventually leads to the avalanche puzzle. Surviving that, the player can then return to the monastery to trigger Act 4, where there are several other puzzles and events that lead to the dramatic climax.

But by doing so, what happens is that the player no longer has the opportunity to experience those initial “inside” events, since upon returning back to the monastery for Act 4 those events are now in the past and no longer relevant. It’s a missed experience – not one that is important for advancing the plot, but one that is important for setting the tone and dramatic tension of the game. By skipping the “inside” events, the game seems to have much less impact, and some parts don’t seem to flow quite as logically as they could.

So the question with regard to skipping the “inside” events is no longer, is it possible, but rather, should it be possible?

As Ron Gilbert said in his classic 1989 article, Why Adventure Games Suck, “Anyone who has designed a story game knows that the player rarely does anything at the right time or in the right order.” Although the context of his statement had to do with timing and drama, it’s also applicable to the conversation here: what is the right balance between player freedom and railroading?

Of course, this is not a new topic for discussion, with other people addressing different aspects of it in the past. It goes back longer than this, but there was the Ars Technica article from last year that addressed the various issues with storytelling and player freedom with BioShock Infinite, which included mentions of the LucasArts SCUMM titles. As the author stated:

When playing Infinite there’s an uneasy tension. You can either respect the pace and plotting of BioShock Infinite’s story, or you can set the story to one side, killing any sense of urgency but giving you the time to explore. You can’t really do both, however, without abrupt changes in tone and jarring changes of pace.

It’s somewhat the same with Vespers: the player can set the story to the side and explore the outside of the monastery, but in doing so ends up potentially skipping key parts of the story, resulting in a still-cohesive but less enjoyable experience of the story. But is that freedom (or even the illusion of it) worth the potential for a less complete experience?

There was also the follow-up to that article in Gamasutra, which touched upon some interesting concepts (including the “storytelling” cotinuum and the “living another life” continuum) but also included this snippet at the end:

For game designers, when designing a game it is important to consider the purpose of your game at the outset and how much player freedom and choice you envision granting. If the purpose of your game is to tell a very specific story, it may not be wise to give the player too much freedom or choice. However, if you want to tell a story that the player can change, you should also give the player some freedom to explore and interact with the world, because it is becoming a world they are truly part of.

Vespers certainly tries to tell a specific story, and in doing so Jason largely limited player freedom. Although there is an openness to certain parts of the game, the sense of freedom is largely an illusion, and there are only a few significant options when it comes to player choice. Descriptions and NPC interactions do change with those choices, but the impact on the overall story is not large.

But the quote did get me thinking about how narrowly we sometimes think about interactive storytelling in games, how much work has started in this field, and how much more there is to explore, discover, and experience. I think the true advances in gaming over the next several years will be in the evolution of methods to integrate story generation, pacing, and plot into the game mechanic, so that the game doesn’t necessarily serve as a vehicle for the story, but rather as a means for gameplay and story to come together, piece by piece, within a general framework. We’ll see.

Be the first to like.
Posted in game design, story in games, Vespers | 2 Responses

Changelog 2014-08-04

Summary

Work continued this week on the holy water, as we turned our attention to the two remaining versions needed. One is a “dull” version for Act 2, and the other is a “boiling” version for Act 4. NR and I went back and reviewed a couple of AVIs that could work for these animations, and he started the work on converting them to PNGs and IFLs. He created first pass versions of the DTS shapes with the animations, and so far so good. We’ll need to continue the work on them to refine the look and feel, but hopefully all that should be done in the next week or two. The rest of my time was spent fixing old issues and adding new functionality. The new functionality is the PRAY FOR command, which was relatively straightforward since there aren’t too many valid targets for that command. As for the fixes, there were a few: the response to the EAT HARE command in Act 1 is now correct, the background events (wind, wolf howl, voices, etc) are now delayed at the beginning of Act 2, and we now allow for skipping the “Act 2″ text when it is displayed on the screen. Finally, I started going back to make needed fixes to Constantin’s voice recordings for Act 1 (to provide proper synchronization with the animations), as well as minor tweaks to Drogo’s Act 1 animations, which could use a little spicing up.

=========
CHANGELOG
=========

One week period leading up to 2014-08-04:

  • Began work on “dull” and “boiling” versions of holy water; first pass DTS shapes created and tested
  • Final adjustments to “dull” and “boiling” animations begun (NR)
  • PRAY FOR command implemented
  • Fixed response to EAT HARE in Act 1 (tied to “Wait until I’m finished” animation)
  • Background event daemon adjusted to include delay before starting in Act 2 (and beyond)
  • Act text keymap created for the screens displaying the “Act” intro text
  • Act text display fixed to allow skipping for Act 2 and beyond
  • Began corrections to Constantin’s Act 1 topic response sound files for better synchronization with animations
  • Began tweaks to Drogo’s Act 1 animations

This week’s screenshot shows Drogo during Act 1, responding to a question about Ignatius.

 

How do you feel about Ignatius, Drogo?

How do you feel about Ignatius, Drogo?

Be the first to like.
Posted in Vespers | Leave a comment

Changelog 2014-07-28

Summary

It was an interesting and successful week, with another foray into the C++ engine code. I haven’t done that since the upgrade to AFX 1.1, so it took a while to get reoriented to the code. I’m not particularly good with C++, but I know enough to get by and make necessary minor changes. This time, I needed to find a way to make objects partially transparent, at a level specified by me. To this point, we were incorporating opacity into the object prior to exporting it to DTS format, but the game engine doesn’t seem to play well with that. With respect to the holy water, it was resulting in weird visual problems, where the water was either completely invisible (a layer sorting problem) or it would flash in and out of visibility depending on the viewing angle (a problem of uncertain origin). So to work around this, I wanted to try modifying the engine code to force it to display any object with a specified alpha transparency, rather than having that embedded within the object itself. I knew the Torque engine already did something like this — each object has a fade function, which causes the object to fade completely in or completely out. So it was just a matter of hijacking this code so that the fading function stops when the object reaches its specified opacity, rather than all the way to 0. It took a few days of effort, but I finally got it working, and it seems to have solved the problem with the holy water visual issues. Huzzah!

With that complete, NR and I worked on getting the different holy water objects re-exported and reinstalled into the game, and now they all appear to be working correctly. Once that was done, I then worked on adding bubbles and steam to one of the holy water versions — the version that appears early in the game if the player chooses to travel the “evil” pathway. Particle systems in Torque take a bit to get used to, but in the end I got it all working, and I’m very happy with the results.

In the process, I came across some better images for fire and smoke particles, and I used those to modify the appearance of the fire in the Locutory and the Calefactory. I think it looks significantly better now.

=========
CHANGELOG
=========

One week period leading up to 2014-07-28:

  • Set up new engine development partition on the dev machine with Xcode 3.1.2 and confirmed ability to compile engine code
  • Started and finished modifying the engine code to allow objects to have a specified alpha transparency via the startFade() routine and fading code
  • Compiled new game application (v05b)
  • Created and validated script code to set holy water opacity at 0.7 with ablility to fade in and out appropriately
  • Tested new alpha specification code with all current holy water objects, working well with no visibility issues
  • Created script to add bubbles, steam, and hissing sound to Act 1 holy water when player is “evil”
  • Grabbed new fire and smoke particle images for locutory/calefactory fire and adjusted settings for better looking fire
  • Continued to modify “spinning” version of holy water (Act 4B) for optimal appearance (NR)

This week’s screenshot shows a snapshot of the updated fire in the Locutory. It’s hard to capture it all in a single screenshot, since it looks better when animated, but you get the idea.

A nicer looking fire crackling in the locutory.

A nicer looking fire crackling in the locutory.

Be the first to like.
Posted in Vespers | Leave a comment