Wednesday, November 11, 2009

Wavering moment of doubt

Hmmm. Our story doctor, Melissa, showed me Unreal 3's editor. I learned how to use the previous version, Unreal 2004, a couple years ago. Unreal 3 is now much improved, in areas that always pissed me off before.

Hmmm. The new level editor makes me want to use Unreal Editor 3 to make Emeralda. I don't know what to do. It might be a worthwhile endeavor to make the game in both, just to compare, but I think Bill's been waiting long enough to see something tangeable, considering how infrequently I can work on it.

Hmmm.

Here's a comparison (scroll down cause it seems Blogspot has trouble with tables):
















SecondLife/SpotOn3DUnreal Editor
Massively multiplayer functionality already built in, including chat, voice, commerce, and messaging capabilities.Can have multiplayer functionality, can include a chat HUD, but that would take extra work. Voice chat and commerce would be out of my skillset. However, we could charge a one-time fee through PayPal.
The server that runs the game is always up, and maintained by Linden Labs.I would have to run the game server 24/7 on a computer that I own.
Monthly land ownership dues starting at $80 per month.

A one-time license fee. I've emailed to find out how much. TorqueX is only $100, but I know Unreal costs more.

Update: Looks like I'd need a "royalty-bearing license", which is $100 according to this page.

Can only run on PC.Can build for PC, Xbox, or PlayStation 2. (Hmm. TorqueX can build for PC or Xbox, and gives you more control. But I'm less familiar with it than with Unreal.)
Designed for social realms.Designed for first person shooters, but you can modify scripts to omit weapons, change default avatars to they don't look like soldiers, and provide other objects to manipulate. That would take a LOT of work, though.
Custom 3D objects (sculpty prims) are very restrictive. Ie, you can only start with specific objects (cylinders, spheres) with a set number of vertices. This makes sharp edges and crisp textures almost impossible on flat surfaces.You can design any 3D object with any number of vertices you want! Complex objects too.
Custom 3D objects (scupty prims) take a long time to load, including their textures.Unreal object instantiation is fast.
Lag due to lots of factors.Less lag, more under my control.
Limited number of objects on your land.Unlimited number of objects.
Limited space/land.Unlimited space/land.
Restrictive terraforming.Unrestricted terraforming and bump-mapping.
Simple UI, but still daunting to our demographic (35-65 yo women).More control over the UI.
Noteriety and popularity, and useful to our players for other things besides playing our game.No other usefullness.
Object animations cause lots of lag.Again, Unreal is faster by default, and faster still because of how few people will be on the server.
Avatars are highly customizable, which is a pretty attractive feature.Letting people customize their avatars would require a LOT of work. Might be out of my skillset.

Wow. Still don't know what to do. I'd better chat with Bill.

Bill's new blogs

Wow, Bill's written a whole bunch of new blogs! I've added links to them under "BLOGS RELATED TO THE GAME" on the right side. I've glanced at them and it's clear I'll need to read through them. Good stuff, Bill!!

Sunday, November 8, 2009

How could I not know about the foliage in SecondLife/SpotOn3D?

I was messing about in SpotOn3D. One of the developers was online and we started chatting. Turns out, you can create trees and things as easily as creating cubes and spheres. Who knew?!?! I should've, that's for sure.

All you do is right-click your land, click Create, select Tree or Grass, and then click where you want it. Each time you create a tree, it's a different tree. It seems random - I got a spruce, then a fir, then a snowy tree, then a deciduous, etc. The generated trees weren't named.

I thought, man, what if, when I'm building Emeralda, I want a specific tree? I'll have to cycle through creating a bunch of trees til I have the right one. So, I thought I'd catalog them. I created tree after tree, and grass after grass, until I started getting repeats. Then I named them all, took copies into my inventory, took screenshots, and named the screenshots so that I would have a reference of what the trees in my inventory looked like.

Wednesday, November 4, 2009

How real should we get?

I was sitting in front of the computer, wondering how to design the world of Emeralda. It was daunting. I realized, I wasn't even sure how to make a tree look real. So, I thought, "I'll go around town and take photos of cool stuff." After all, the game is set in the Pacific Northwest, so the architecture and nature should look like what we have here.

I found some gorgeous, huge trees in Magnussen Park. I love evergreens. They're my favorite kinds of trees. So, naturally, I spent a LOT of time in the park. I tried to find the "wind-channeling pipe sculpture" from which the musical band Sound Garden took its name, but I think access is still restricted because of 9/11. On the way there, I caught sight of a really cool, Art Deco-feeling gate. I love the light at the top. I think I'll use something like that in the game as a visual indicator of an entryway, or to guide a player's route.
By the gate, I noticed leaves on the ground. It's details like this that make a landscape more realistic. At least, in autumn. Should I change up the landscape in the game depending on the time of year? Should I change deciduous trees from green to orange?

I found this coffee shop in Lynwood. I love how it looks. It's like a... I don't know, a lighthouse.
I also saw some other cool architecture, like this apartment building, or these houses. I love the green vine above the porch, and the landscaping.

But wait a minute, if I recreated these things in the game, sure, the game would look like the Pacific Northwest, but I'd also be recreating the ways by which people move around. For example, players would have to open a virtual door. Players would have to enter a building to see inside it. Players would have to wind their way around paths in a manicured landscape.

Why, if I have the tools of a virtual environment at my disposal, would I force people to do the mundane tasks of everyday real life? In SecondLife/SpotOn3D, players can fly. It's easier and faster to lift off the ground in a straight line than to enter a building and walk up a flight of stairs. Why have sealed buildings when there's no rain or cold weather to trouble my players? Why have windows when there's so much to see outside, so just omit the wall altogether. If Emeralda was a first-person shooter game or a similar genre, then yeah, I would provide walls and buildings, for cover and extra challenge. But this is an explorer's game. Let freedom reign!

Tuesday, November 3, 2009

Bill started a blog too!

Yay! Bill started a blog too. I think it'll be interesting to see the development of the game from both of our perspectives.

http://makingemeralda2.blogspot.com

Thursday, October 29, 2009

Did I mention the game trailer?

We made a trailer for the game - just a rudimentary machinima that Bill could show during one of his etching and printing presentations at a college back east.

The important result of this presentation was that it let us know we were on the right track. People came up to Bill after his presentation and said that if the game was available, they'd buy it.

On a more subtle note, the trailer is so ambigious, that they could have been picturing a game completely different from the one we're making. :)

Wednesday, October 28, 2009

The story thus far...

Bill

Bill is an artist and an ex-art professor with decades of experience, spectacular ideas, and a huge and gorgeous portfolio. He builds printing presses by hand, and ships them all over the world. Years ago, due to the narrowing vision his academic peers had for the art of print-making, he came up with an idea that would drag his university into modern day by melding a curriculum with a game: Emeralda, designed to teach the concepts and skills of print making. Actually, there is so much more to it, that I can’t stand using that as our game definition. The game almost has its own religion… in my head.

Me

I’m a technical writer by trade who happens to love programming, designing games, writing fiction, and painting. I’ve got an amateurish level of skill programming in C/C++, C#, VB.NET, and various scripting languages. Due to a foray into game design, I’m familiar with Autodesk Maya, Unreal, Torque, XNA, and various Adobe products. Due to my work, I know Expression Blend, Silverlight, and WPF.

I’m a jack of all trades and master of none. Bill is a master of art, design, and life. We can’t lose, right?

The beginning

I met Bill because of one of those amazing moments where a passing comment is made between two strangers in a coffee shop, like, “Really? My friend likes to design video games.”

We embarked on a year of brainstorming sessions with minimal progress being made on the game itself. :) In fact, I think I’ve only built a 3D model of the press and the box that it comes in. Bill’s done a lot more, like writing copious scripts to support the backstory.

I love our meetings because they’re like a chaotic storm of ideas and free association. The coffee helps. We had a third, valuable co-conspirator, David, but alas, he became frustrated with our lack of structure, and rightly so. Structure helps move things along. Microsoft is 80% structure. But there was too much value to be had in those brainstorming sessions, for me anyway. The ideas and epiphanies that come out of those meetings, my God! Who would willingly shoe-horn all that into a structure?

And yet, we… or rather I… have really gotten nowhere on the game itself. I decided to implement in SecondLife because a lot of the secondary (read: boring) stuff we want to do (membership, commerce, building tools, etc) is already implemented for us. “SecondLife will enable us to work up a prototype quickly, as a proof of concept!” Yeah, I said that. A year ago.

External challenges

Unforeseen issues came up with SecondLife. Like the cost of owning the size of land we’d need to implement the game. Like me being employed full time while trying to learn Linden Scripting Language or learn how to make 3D models that could be brought into SecondLife. (To make a 3D model for SecondLife, you have to start with a sphere or cylinder with a specific number of vertices and a seam – you can’t start with just any primitive object and any random number of vertices you want, like, you can’t start with the most valuable primitive – a cube).

Implementation challenges

Deciding how to reconcile the features of SecondLife with the gameplay we wanted has been daunting. For example, if we want a time machine that the player can enter and then appear at a new scene – a scene that is hidden from you for the rest of the game – you can’t do that. The “physical” places in the SecondLife world are always there, and there for everyone. If I wink some objects into existence programmatically to represent the new scene, anyone else (like another player who happens to be logged on at the same time) will be able to see them.
I thought, OK, make the new scene underground. Well, that would be nice if you could cut a hole in the ground, but you can’t. And you can’t terraform the ground to have a sideways opening, like a doorway – you can only raise and lower the land. I’d have to use 3D objects to mimic a cave and merge it with the ground, but there’s a limit to how many objects you can have on your land, so I’d rather not use up some of my quota on a piece of ground.
I thought, OK, let’s put the new scene in a secret, single 3D object underground, and for the time machine effect, let’s use SecondLife’s teleport feature. But you can’t teleport underground. When you teleport, you always end up on the surface of the land or on the topmost object at that spot.
And this has only been one of the challenges. Other problems occur when I want the game to behave a specific way, like I want the player to have a very realistic experience with the virtual press, and make it possible for them to make mistakes organically, but now I don’t think that can be done in SecondLife. Actually, I don't think it can be done in any tool (except maybe in XNA once NATAL ships).

Story challenges

Deciding on the backstory has been the biggest challenge. I felt that we needed something nailed down so that I could drop hints or use pieces of the story during the gameplay. Like, if a toaster has specific significance in the backstory, I can make a toaster exist as some key user interface in the game.

Bill had SO MANY ideas of various flavors, and due to my questioning and our brainstorming, he has everything fitting together now… but there’s so much! It reminds me of what I heard about John Cleese when he presented his first script for Fawlty Towers to the BBC – they asked him to rewrite it because there were so many funny lines, funny scenes, and punch lines that they were too close together to give the audience time to stop laughing from one to the next. What a critique! Bill’s backstory is like that, except with events and how they fit together. He’s got enough material for three novels in three different genres!

Acquiescing to the feature set

Have you ever played with a graphics program to try out one of the tools, and accidentally created something quite visually appealing? I’m gonna buy into that whack-a-mole optimism. I’ve seen people come up with really cool ways of massaging the SecondLife feature set. For example, the game Frootcake and the others by the same creator were implemented in a really cool way, making the best use of SecondLife features. So, I decided to stick with SecondLife (instead of moving to TorqueX or another engine). I decided to work within the feature set and let it spontaneously determine alterations to the gameplay of Emeralda.

Recent forward momentum

We had a story doctor come in. Melissa is a published science fiction writer, an editor, and she’s deep into games. We met with her for two hours and it was awesome! She totally asked us the right questions to get us to scrutinize everything about the story and the game to make sure we weren’t leaving loose ends, or breaking our own world rules, or if the story emphasis fit the game. It was like a gentle shoe-horn into structure, and it was a necessary step. Melissa had the charm to coax change, and Bill and I had the elegance to work with it. We now have a great, working backstory that I can design against. Besides, I plan on only using some pieces of the backstory in order to augment gameplay. That way, Bill can dream up anything else he wants and put it into the scripts he’s working on.

Another recent change was that I happened to stumble upon a private implementation of SecondLife called SpotOn3D. It’s run by a startup company and it's in a V1.0 phase, which means, OMG, cheaper land and no fees for importing objects and images!!! We got a big chunk of land at a fraction of the price. Plus, in exchange for feedback that will help the SpotOn3D company keep improving their product, the people who run it are available to answer questions! They’re also helping me connect with people who are experts, like the creator of the MMORPG game in SecondLife called DarkLife. I’m all set! I just need to get butt in chair.

And now you’re caught up.