Or at least trying!! The whole team has been cranking up on Stygian Abyss. While my time is mainly taken up by Live Content and bug fixes, I've been contributing quite a bit to the expansion. Lately, it's all been about world building. Except, there's no resting for me on the 7th day because after 6 days, I'm far from being done!
Seriously, world building is the coolest thing ever. I always wanted to dabble into that. Granted, I did a bit of it when I was Level Designer, but it's not quite the same. Back then, I would design the layout, size, shape, main path... Now I get to do all that, but also get to dress it, make it organic and give it life. And man, is that ever time consuming! Any of you who have spent insane amounts of time customizing and decorating your UO house (or for non-UO players, if you have done it in games such as The Sims), try to imagine doing the same but for an entire city!
Why does the whole process take so much time? Well, first you need to decide what kind of environment we're building. In this case, we're on the Gargoyle City so the artists and designers had to come up with a look. I mean, if you were to walk into a Gargish civilization tomorrow morning, what would you expect their architecture to look like? How would that architecture be affected by the world they evolve in? When laying out the city, you have to factor in their type of society and the reality they live in. A nation in peril and under constant threat will likely build its cities like fortresses whereas societies accustomed to peace and abundance are more likely to be very spread out and maybe even nomadic.
Then comes the whole inner streets of the city itself. Government buildings should be easily accessible while fairly well protected. Markets should be laid out in a way to facilitate shopping while avoiding bottlenecks, regrouping similar trades, with the banks not too far away, with all of the above near main roads. How is the interaction between inhabitants affecting that layout (hierarchy, politics, religions...)? Are the roads wide enough? Are the buildings spacious enough? How annoying is it going from point A to point B? If I was living here or visiting this place for the first time, what would be a natural path for me to follow? Would I get hopelessly lost if I landed here tomorrow morning? Does the main path make sense or am I itching to rez-kill the architect?
But the worse part (yet also most fun) is decorating. Yeah, that building is sexy but it needs life. Problem is, it's one thing to decorate your own house, but decorating a world is a whole different ball game. It has to make sense for the target civilization. It must account for their customs, beliefs, politics and economics. But also for the fact that hundreds of players, their pets, spammers and spellcasters will be strutting their stuff alongside the NPCs that populate that world. So yeah, you could go all out making it pretty, but too pretty can also mean too laggy.
Until I started in this industry, I never really paid much attention to how buildings or cities were laid out. Well, except when something was clearly wrong with it or aggravated the heck out of me. If you walk into a castle and the prison is accessed through the king's closet, you would probably raise an eyebrow. You might actually be cussing up a storm because you spent 2 hours looking for the cells in the lower levels of the castle (as traditionally is the case) only to stumble on them by accident when exploring the higher levels while trying to complete a different task. But when a world/city is well planned, because things flow so well, you do not realize how much work was put into making it a seamless experience for you.
I'm not going to break any world building speed record but I sure am having a blast. So far, I've seen what I've made. I won't call it good (you be the judge of that!) but I think it's alright. Though as a wee bit of a disclaimer: once SA launches, if you ever fall through a hole in the floor and your character breaks a leg, don't throw stones at the world builders. It's probably my fault! :P
Wednesday, February 18, 2009
Tuesday, February 10, 2009
Benefits of Failure
Odd title, right? But so accurate. And a shameless rip off of J.K. Rowling's Commencement Address at the Annual Meeting of the Harvard Alumni Association. Tomas Bryce linked me this speech a while back and it's well worth watching. So much of what she said rang true for me, especially this part:
"...the fact that you are graduating from Harvard suggests that you are not very well-acquainted with failure. You might be driven by a fear of failure quite as much as a desire for success. Indeed, your conception of failure might not be too far from the average person’s idea of success..."
The average person's idea of success... That sums it all. I've always had good jobs and respectable pay, which equated to contentment. I wasn't miserable, far from it. But I wasn't happy. Without happiness, is there truly success? The lack of misery kept me to that routine. I sometimes questioned if this is what I was meant to be, but I had already begun my slow death: I was getting "comfortable". I had just bought my 2nd duplex and was already planning an early retirement. The houses would be paid off by the time I'm 50 and the rental income from all 4 apartments, minus maintenance costs, would have me living comfortably. Great plan until disaster struck.
Out of pure stupidity, I had bought that second house without proper inspection, because I "trusted" the owner/seller who had also sold me the first house a few years before. I ended up with major emergency repairs to pay for. To make matters worse, a tenant in each of the duplex decided they weren't going to pay their rent anymore. With the Quebec Rental Board being extremely protective of tenants, it took nearly 5 months before I was rid of the first tenant, and 6 for the 2nd. Aside from that huge income loss from those 2 unpaid rents for half a year, I also had even more repairs to do in the 2nd tenant's apartment. He completely wrecked it then fled the premises a week before the judge finally granted me the eviction warrant. It was 1 week before Christmas.
Icing on the cake? I was working as a soundwoman in movie dubbing at the time. The industry entered a downward phase. Since we were unionized, layoffs were based on seniority. With only 2 guys hired after me, I was the third to go. Nobody moves in the winter in Montreal. So it was a few more months before I could find new tenants. By then, I was this close to losing both my houses.
It was a long uphill battle, but one I was determined to win. Movie dubbing was picking up again. The studio called me back but it wasn't the same. I already knew then that this wasn't it. I left them not too many months later for a better paying job. One day, looking for a 2nd part-time job to help get back to the "comfort" zone I once had, I stumbled on a job opening as QA Tester for Ubisoft. The schedule didn't fit mine but it got me browsing their site. And that is how I discovered they had just opened a campus in Montreal. The enrollment period for next year's students was ending in 2 or 3 weeks.
At the time, my head really wasn't into putting together a portfolio, but I knew I had to. Thank God for the events I had organized as a player in UO or I wouldn't have known what to send them to try to convince them I had "the right stuff" to be a designer. It was many months before classes started but the timing was perfect, just when I got my finances back under control.
What I got from this ordeal is: 1) it's ok to fail as long as your learn from it (namely don't ever trust a Realtor, spend that extra $500-$1000 and get a proper inspection!); 2) don't let failure defeat you but rather consider it as an opportunity to reassess yourself, your goals and explore ways to reach them. If not for all that mess, I probably would have remained in movie dubbing for a long time, and never truly been happy; 3)Never give up. I never lost hope (though I confess it wavered a lot) and it paid off as didn't lose my houses. Last but not least, 4) it was the trigger that sent me on the path to achieve the dream I had as a little girl of becoming a designer. If not for this, who knows how many more years may have passed before I realized there was finally a game design program in Montreal? By then, I might have considered myself too old to go back to school. God knows I wasn't the youngest at the campus! Yet if not for graduating from the program and working in the field in Montreal, I never would have qualified for the immigration requirements to work in the US.
Pain can sometimes be a much needed wake up call and a blessing in disguise.
"...the fact that you are graduating from Harvard suggests that you are not very well-acquainted with failure. You might be driven by a fear of failure quite as much as a desire for success. Indeed, your conception of failure might not be too far from the average person’s idea of success..."
The average person's idea of success... That sums it all. I've always had good jobs and respectable pay, which equated to contentment. I wasn't miserable, far from it. But I wasn't happy. Without happiness, is there truly success? The lack of misery kept me to that routine. I sometimes questioned if this is what I was meant to be, but I had already begun my slow death: I was getting "comfortable". I had just bought my 2nd duplex and was already planning an early retirement. The houses would be paid off by the time I'm 50 and the rental income from all 4 apartments, minus maintenance costs, would have me living comfortably. Great plan until disaster struck.
Out of pure stupidity, I had bought that second house without proper inspection, because I "trusted" the owner/seller who had also sold me the first house a few years before. I ended up with major emergency repairs to pay for. To make matters worse, a tenant in each of the duplex decided they weren't going to pay their rent anymore. With the Quebec Rental Board being extremely protective of tenants, it took nearly 5 months before I was rid of the first tenant, and 6 for the 2nd. Aside from that huge income loss from those 2 unpaid rents for half a year, I also had even more repairs to do in the 2nd tenant's apartment. He completely wrecked it then fled the premises a week before the judge finally granted me the eviction warrant. It was 1 week before Christmas.
Icing on the cake? I was working as a soundwoman in movie dubbing at the time. The industry entered a downward phase. Since we were unionized, layoffs were based on seniority. With only 2 guys hired after me, I was the third to go. Nobody moves in the winter in Montreal. So it was a few more months before I could find new tenants. By then, I was this close to losing both my houses.
It was a long uphill battle, but one I was determined to win. Movie dubbing was picking up again. The studio called me back but it wasn't the same. I already knew then that this wasn't it. I left them not too many months later for a better paying job. One day, looking for a 2nd part-time job to help get back to the "comfort" zone I once had, I stumbled on a job opening as QA Tester for Ubisoft. The schedule didn't fit mine but it got me browsing their site. And that is how I discovered they had just opened a campus in Montreal. The enrollment period for next year's students was ending in 2 or 3 weeks.
At the time, my head really wasn't into putting together a portfolio, but I knew I had to. Thank God for the events I had organized as a player in UO or I wouldn't have known what to send them to try to convince them I had "the right stuff" to be a designer. It was many months before classes started but the timing was perfect, just when I got my finances back under control.
What I got from this ordeal is: 1) it's ok to fail as long as your learn from it (namely don't ever trust a Realtor, spend that extra $500-$1000 and get a proper inspection!); 2) don't let failure defeat you but rather consider it as an opportunity to reassess yourself, your goals and explore ways to reach them. If not for all that mess, I probably would have remained in movie dubbing for a long time, and never truly been happy; 3)Never give up. I never lost hope (though I confess it wavered a lot) and it paid off as didn't lose my houses. Last but not least, 4) it was the trigger that sent me on the path to achieve the dream I had as a little girl of becoming a designer. If not for this, who knows how many more years may have passed before I realized there was finally a game design program in Montreal? By then, I might have considered myself too old to go back to school. God knows I wasn't the youngest at the campus! Yet if not for graduating from the program and working in the field in Montreal, I never would have qualified for the immigration requirements to work in the US.
Pain can sometimes be a much needed wake up call and a blessing in disguise.
Friday, February 6, 2009
Survivor's Guilt
This week was a pretty darn rough one. As someone was very quick to post on Stratics, we've just been through a substantial round of layoffs. Not just at the Mythic studio, but throughout EA. It's one thing when you hear the statistics, see some random dude bawling his eyes out on the news after getting laid off, but when it happens right in front of you to people you know and care about, it's a whole different ball game.
There's a number of things that go through your mind while what feels almost like apocalypse comes crashing down. At first, it's the panic: OMG, what will I do if it's me? Where will I go? How will I meet my obligations? Then it's the denial/rationalization: nah, it won't be me because (insert reason here)... Then the ugly finger pointing: if any one needs to be let go, it should be (insert name here) because (insert argument here). And then the list of casualties starts popping out, and each time you see one of the bosses walking towards you, your heart skips a beat and you pray that they will keep walking. Please let it be someone else... And when it turns out to be someone else, you struggle with relief, sorrow, sympathy and guilt.
When all has been said and done, the victims aren't just the ones who got laid off. The ones left behind are too, especially in a more family-type studio where a lot of people have been together for years and many actually are married couples or relatives/siblings. Not only did many of use lose long time friends but a lot of us also feel guilty that we were "spared" because we have less obligations, don't have families to support, don't have as much seniority, etc.
But life goes on. You resume your daily routine but the absence of those who left is felt even more strongly. It's not just the loss of the camaraderie, but also their contribution, that extra weight they used to carry that you now have to shoulder. All those things you always took for granted and now you're like errr... And it gives you a renewed appreciation for them. Too bad it's when they're gone.
I take the party to count my blessings. I still have a job I love, with an amazing team. I've seen how devastated our leaders were going through this painful process and how determined they are to make sure this doesn't happen again. A lot of studios shutdown but we weathered that storm. Way I see it, it's up to us to make sure our buddies will a home to come back to when the sky clears in a hopefully not too distant future.
There's a number of things that go through your mind while what feels almost like apocalypse comes crashing down. At first, it's the panic: OMG, what will I do if it's me? Where will I go? How will I meet my obligations? Then it's the denial/rationalization: nah, it won't be me because (insert reason here)... Then the ugly finger pointing: if any one needs to be let go, it should be (insert name here) because (insert argument here). And then the list of casualties starts popping out, and each time you see one of the bosses walking towards you, your heart skips a beat and you pray that they will keep walking. Please let it be someone else... And when it turns out to be someone else, you struggle with relief, sorrow, sympathy and guilt.
When all has been said and done, the victims aren't just the ones who got laid off. The ones left behind are too, especially in a more family-type studio where a lot of people have been together for years and many actually are married couples or relatives/siblings. Not only did many of use lose long time friends but a lot of us also feel guilty that we were "spared" because we have less obligations, don't have families to support, don't have as much seniority, etc.
But life goes on. You resume your daily routine but the absence of those who left is felt even more strongly. It's not just the loss of the camaraderie, but also their contribution, that extra weight they used to carry that you now have to shoulder. All those things you always took for granted and now you're like errr... And it gives you a renewed appreciation for them. Too bad it's when they're gone.
I take the party to count my blessings. I still have a job I love, with an amazing team. I've seen how devastated our leaders were going through this painful process and how determined they are to make sure this doesn't happen again. A lot of studios shutdown but we weathered that storm. Way I see it, it's up to us to make sure our buddies will a home to come back to when the sky clears in a hopefully not too distant future.
Monday, February 2, 2009
Stupidity
I had to write this little rant because frankly, I don't get some people. With the current state of the US economy, you'd think people would have learned not to repeat one of the mistakes that led to the situation we're in, but nuh uh!
So I've been looking for a new crib because Fairfax is everything but cheap when it comes to housing. Before I moved to the US, I had to check out apartments online and only had 1 day in VA to visit them. I ended up taking the one that was the cleanest and the closest to work. That translated in a hefty $1600/m nothing included which was a little over 3x what I was paying in Montreal. Add to this another $200 for utilities, cable/internet, that made me cry every month :P
Almost a year later, I'm looking for something more reasonably priced for a single person and was even considering a roomy. So I see this ad about a fancy pants mansion where the lady wanted to lease a room or private suite to a single person with prices ranging from $800-$1100 everything included. So even with the suite, I'd still be saving $700 a month which is nothing to sneeze at.
I go check out the place. The house is honestly badass. Beautiful hardwood floor on the first floor. The kitchen & dining room area alone are as big as the entire condo I currently live in. Six bedrooms, wine cellar, wine tasting room, at least 3 fireplaces, the works! Except turns out her so-called suite is a set of 2 bedrooms and the prices have jumped from $800-$1100 to $1200-$1600. She also omitted to mention that she was planning on renting 4 of the 6 bedrooms in sets of 2, the 5th bedroom individually, keep the 6th one for herself, the wine cellar , the wine tasting room and the basement living area each as 3 individual room. So altogether, there would be 7 roommates sharing the house.
I'm like wtf?! So me, miss reluctant to have a roomy to now be living with 6 strangers? errrrr....
At that point, I already know this isn't for me, but the lady (who happens to be very charming btw), is very talkative and gives me and Sue (another lady who was visiting the place at the same time I was) a full spiel about the situation. So this $1.x million dollar mansion was for sale. She just bought it and is signing tomorrow. But since she can't afford it on her own, she's trying fill it up with tenants to cover the mortgage, taxes, insurance and utilities. She also doesn't quite have the down payment so she needs us to commit today, sign the papers and give the security deposit so she can have everything on hand the next day when she meets with the other folks for the closing.
I'm just speechless and trying not to slap her unconscious to try to knock some sense into her. She even had the nerve to complain that the lenders would not allow her to rent all 6 rooms individually or she would have had 9 people altogether (including herself) and made more money to cover her expenses. After I left, I went to check another place. By the time I got home, she had called my place 3 times in 1 hour and sent me 2 emails to see if I was ready to commit and remind me that she needed the deposit right away.
Now I don't begrudge the woman trying to get some help meeting her obligations by renting out part of her house. Everyone is doing it these days in Fairfax. But let's be real. Why the hell would you try to buy a house you KNOW you can't afford on your own? Why put yourself at the mercy of total strangers who can walk out on you any day and default on payment every other month? Tenants don't give a hoot if you lose your house. Why set yourself up for failure? Doing such an investment with family or long time trusted friends is one thing, but this is sheer stupidity.
I initially planned on buying too instead of renting a new place. Seen many I can afford, my favorite though would require me to stretch myself a little thin. But in the current economy, I made the choice to wait few more months, lower my expenses (especially rent) and build myself a safety net. Maybe I'm being too careful, but I don't care as long as I'm not yet another statistics.
So I've been looking for a new crib because Fairfax is everything but cheap when it comes to housing. Before I moved to the US, I had to check out apartments online and only had 1 day in VA to visit them. I ended up taking the one that was the cleanest and the closest to work. That translated in a hefty $1600/m nothing included which was a little over 3x what I was paying in Montreal. Add to this another $200 for utilities, cable/internet, that made me cry every month :P
Almost a year later, I'm looking for something more reasonably priced for a single person and was even considering a roomy. So I see this ad about a fancy pants mansion where the lady wanted to lease a room or private suite to a single person with prices ranging from $800-$1100 everything included. So even with the suite, I'd still be saving $700 a month which is nothing to sneeze at.
I go check out the place. The house is honestly badass. Beautiful hardwood floor on the first floor. The kitchen & dining room area alone are as big as the entire condo I currently live in. Six bedrooms, wine cellar, wine tasting room, at least 3 fireplaces, the works! Except turns out her so-called suite is a set of 2 bedrooms and the prices have jumped from $800-$1100 to $1200-$1600. She also omitted to mention that she was planning on renting 4 of the 6 bedrooms in sets of 2, the 5th bedroom individually, keep the 6th one for herself, the wine cellar , the wine tasting room and the basement living area each as 3 individual room. So altogether, there would be 7 roommates sharing the house.
I'm like wtf?! So me, miss reluctant to have a roomy to now be living with 6 strangers? errrrr....
At that point, I already know this isn't for me, but the lady (who happens to be very charming btw), is very talkative and gives me and Sue (another lady who was visiting the place at the same time I was) a full spiel about the situation. So this $1.x million dollar mansion was for sale. She just bought it and is signing tomorrow. But since she can't afford it on her own, she's trying fill it up with tenants to cover the mortgage, taxes, insurance and utilities. She also doesn't quite have the down payment so she needs us to commit today, sign the papers and give the security deposit so she can have everything on hand the next day when she meets with the other folks for the closing.
I'm just speechless and trying not to slap her unconscious to try to knock some sense into her. She even had the nerve to complain that the lenders would not allow her to rent all 6 rooms individually or she would have had 9 people altogether (including herself) and made more money to cover her expenses. After I left, I went to check another place. By the time I got home, she had called my place 3 times in 1 hour and sent me 2 emails to see if I was ready to commit and remind me that she needed the deposit right away.
Now I don't begrudge the woman trying to get some help meeting her obligations by renting out part of her house. Everyone is doing it these days in Fairfax. But let's be real. Why the hell would you try to buy a house you KNOW you can't afford on your own? Why put yourself at the mercy of total strangers who can walk out on you any day and default on payment every other month? Tenants don't give a hoot if you lose your house. Why set yourself up for failure? Doing such an investment with family or long time trusted friends is one thing, but this is sheer stupidity.
I initially planned on buying too instead of renting a new place. Seen many I can afford, my favorite though would require me to stretch myself a little thin. But in the current economy, I made the choice to wait few more months, lower my expenses (especially rent) and build myself a safety net. Maybe I'm being too careful, but I don't care as long as I'm not yet another statistics.
Sunday, January 25, 2009
The Name Game
When Publish 57 notes came out, I got a few flames over the names of some of the new stealable items. Which frankly I accept because to be honest, I wasn't fond of some of the names either. So why didn't I change them? Well, I couldn't come up with something better. Yup, it's that simple!
Naming things or characters is probably one of the worse design challenges for me. First of all, I will think about a totally cool name in French but that sounds unbelievably cheesy in English. I also like the names to actually mean something and be relevant to the item/character they will be attached to. This translates as a lot of time spent searching name databases or trying to make up names that sound badass.
What actually got me posting this was watching our new flock of EMs going through the pain of trying to name their EM and RP characters. Some of them were ICQing me, banging their heads on the wall saying how they had spent hours/days just trying to come up with "the right name". And I could totally relate to that pain because every time I write a new quest or create a new item/reward, I go through that same headache.
Added to this is the fact that many players have a Ph D in nitpicking and will eat you alive for naming things the wrong way. I wish I could remember the details of a case a few years back where a certain resource used for crafting was the source of major flaming. Turns out the Dev had named it the wrong part of whatever the resource came from and players gave him hell saying this is not what is used to make this. This other part is! I thought it was silly to fuss over that, but that stayed in the back of my head.
While I don't believe in allowing ourselves to be bullied into basing content on fear of flames, I do believe that gaming can have educational value. People memorize the names of their "cool" items in game and it's well worth putting a little extra effort in appropriately naming stuff.
And so when I added the resource to the cocoa tree, I ended up spending quite a bit of time reading up on chocolate fabrication and cocoa trees to find an appropriate name for the resource and what it would look like. Same for the appearance of the tree itself. Ditto with the spider webs from the Halloween event. I didn't want to just plop a web deed as loot, that seemed a little lame. But paying a visit to my best friend wikipedia, I learned about gossamer and spinnerets and the rest is history.
Sometimes though, the names have hidden meanings, are meant to give people a smirk or are little winks winks. In UO, you will from time to time run into known characters such as the famous Barton who became legendary thanks to a very bratty Atlantic player. Many of you also ran into slimes named "a j wilson" after a game critic that had given UO bad reviews. Some are a bit more subtle, such as the Warren, the upset ghost (specter) of Ultima Underworld (Stygian Abyss) which was a wink wink to producer Warren Spector.
The problem is how much time spent picking names is justifiable? If you're half as picky as I am, an hour can have gone by and you're still nowhere near having found a suitable name, especially for characters. I shudder at the thought of ever trying to come up with a name for a baby! So sometime, when you see a lame name in any game, know that there are 3 probable reasons: a) the author has bad taste, b) the author gave up trying to come up with something l337, c) you have bad taste :P
Naming things or characters is probably one of the worse design challenges for me. First of all, I will think about a totally cool name in French but that sounds unbelievably cheesy in English. I also like the names to actually mean something and be relevant to the item/character they will be attached to. This translates as a lot of time spent searching name databases or trying to make up names that sound badass.
What actually got me posting this was watching our new flock of EMs going through the pain of trying to name their EM and RP characters. Some of them were ICQing me, banging their heads on the wall saying how they had spent hours/days just trying to come up with "the right name". And I could totally relate to that pain because every time I write a new quest or create a new item/reward, I go through that same headache.
Added to this is the fact that many players have a Ph D in nitpicking and will eat you alive for naming things the wrong way. I wish I could remember the details of a case a few years back where a certain resource used for crafting was the source of major flaming. Turns out the Dev had named it the wrong part of whatever the resource came from and players gave him hell saying this is not what is used to make this. This other part is! I thought it was silly to fuss over that, but that stayed in the back of my head.
While I don't believe in allowing ourselves to be bullied into basing content on fear of flames, I do believe that gaming can have educational value. People memorize the names of their "cool" items in game and it's well worth putting a little extra effort in appropriately naming stuff.
And so when I added the resource to the cocoa tree, I ended up spending quite a bit of time reading up on chocolate fabrication and cocoa trees to find an appropriate name for the resource and what it would look like. Same for the appearance of the tree itself. Ditto with the spider webs from the Halloween event. I didn't want to just plop a web deed as loot, that seemed a little lame. But paying a visit to my best friend wikipedia, I learned about gossamer and spinnerets and the rest is history.
Sometimes though, the names have hidden meanings, are meant to give people a smirk or are little winks winks. In UO, you will from time to time run into known characters such as the famous Barton who became legendary thanks to a very bratty Atlantic player. Many of you also ran into slimes named "a j wilson" after a game critic that had given UO bad reviews. Some are a bit more subtle, such as the Warren, the upset ghost (specter) of Ultima Underworld (Stygian Abyss) which was a wink wink to producer Warren Spector.
The problem is how much time spent picking names is justifiable? If you're half as picky as I am, an hour can have gone by and you're still nowhere near having found a suitable name, especially for characters. I shudder at the thought of ever trying to come up with a name for a baby! So sometime, when you see a lame name in any game, know that there are 3 probable reasons: a) the author has bad taste, b) the author gave up trying to come up with something l337, c) you have bad taste :P
Sunday, January 18, 2009
Comments
When programming, one of the things teachers always tell their students is the importance of commenting what you are doing. Some people would get utterly pissed for losing points for not commenting enough a script that was otherwise perfectly functional. As I only had a few scripting classes as part of the game design curriculum, I didn't realized the importance of those couple lines until now.
Designing in UO is very different than other games I've been on. Here we're jacks of all trades. We do world building, designing, decorating, storytelling and a heck of a lot of scripting. In fact close to 3/4 of our work is writing code. Problem is, this isn't like a console game where you normally have the engineers assigned to handle all the coding on specific levels and where once the game ships, that's it nobody messes with the code anymore (aside from a possible patch or two). In a MMO, and especially UO, it's not because you worked on this code today that someone else won't be using it next week or in 5 months from now. And as new content gets added or modified, properly commenting scripts takes a whole new meaning.
Ten months ago (dang has it really been that long?!) when I started on the UO team, I didn't have a whole lot of scripting experience. So this has definitely been quite a learning process. As such, I relied heavily on the work of my predecessors not only as inspiration but also as an educational tool. It's not just about how they did it, but often why they did it this way instead of that way.
What would really make me cry is opening a script with 1500 lines of code, not a single comment, funky variable names that mean nothing and function names that are even more meaningless. I will have to leave my opinion about naming conventions to another post, because I have quite a bit to say about that!
Luckily for me, there were also quite a few scripts that were little gems of comments. "This function does this". "I've handled it this way instead of that way (which would have seemingly been the logical way) because (insert reason here)". Or simple things like "this script is being attached to (...) by (...) and does (...)". And "I'm returning an integer instead of the object because (...)" or "I've added this block here to deal with an exploit where players (...)". Yes, this last part I've seen in plenty of scripts!!!
You cannot begin to imagine how invaluable those little comments are even for yourself. I go back on some of the earlier scripts I wrote and if not for my own comments I would be asking myself why the heck I did it this way. It saves so much time to not just sit there trying to figure out the logic. It can also spare others the pain you went through trying to figure out how something works next time around. By this I mean you tried to get something to work for days/weeks and finally realized that passing this type of variable will not work because the value is actually assigned elsewhere and totally bypasses what you are doing. Adding a one-liner comment saying: "note that this variable is handled by included script/function (insert name here)" will make you very popular with the next person to fiddle in this script.
On a side note, while you should always be professional in the comments you write in your scripts, some humor in good taste is never a bad idea. I like stumbling on the random comment that will make me smile, smirk or flat out lol. Speedman had a cute one that was more of a John Steinbeck wink, wink in the mace and shield glasses script where the first comment line read "Of Mace and Men". In one the Champ Spawn scripts, rather than giving one of the functions a bland "choose random players to give the scroll to", the comment was along the lines of "now the fun of picking some lucky dogs". In one of the buff scripts, the function where the buff was actually given to the player had "Beef me up, Scotty!" as a comment. Another that made me giggle (because I have a really silly sense of humor) was the "Ph4t L3wT, gImM3!gImM3!" comment where the reward was being generated on a boss monster.
In short, you should always comment your work. It shouldn't be a novel. One or two lines is usually more than plenty for a block of code. But it will do wonders for you and the people who will need to go into stuff you've done, especially if you had to handle something in a non-traditional way. The occasional smart humor is plus. Just remember that moderation is always in good taste!
Designing in UO is very different than other games I've been on. Here we're jacks of all trades. We do world building, designing, decorating, storytelling and a heck of a lot of scripting. In fact close to 3/4 of our work is writing code. Problem is, this isn't like a console game where you normally have the engineers assigned to handle all the coding on specific levels and where once the game ships, that's it nobody messes with the code anymore (aside from a possible patch or two). In a MMO, and especially UO, it's not because you worked on this code today that someone else won't be using it next week or in 5 months from now. And as new content gets added or modified, properly commenting scripts takes a whole new meaning.
Ten months ago (dang has it really been that long?!) when I started on the UO team, I didn't have a whole lot of scripting experience. So this has definitely been quite a learning process. As such, I relied heavily on the work of my predecessors not only as inspiration but also as an educational tool. It's not just about how they did it, but often why they did it this way instead of that way.
What would really make me cry is opening a script with 1500 lines of code, not a single comment, funky variable names that mean nothing and function names that are even more meaningless. I will have to leave my opinion about naming conventions to another post, because I have quite a bit to say about that!
Luckily for me, there were also quite a few scripts that were little gems of comments. "This function does this". "I've handled it this way instead of that way (which would have seemingly been the logical way) because (insert reason here)". Or simple things like "this script is being attached to (...) by (...) and does (...)". And "I'm returning an integer instead of the object because (...)" or "I've added this block here to deal with an exploit where players (...)". Yes, this last part I've seen in plenty of scripts!!!
You cannot begin to imagine how invaluable those little comments are even for yourself. I go back on some of the earlier scripts I wrote and if not for my own comments I would be asking myself why the heck I did it this way. It saves so much time to not just sit there trying to figure out the logic. It can also spare others the pain you went through trying to figure out how something works next time around. By this I mean you tried to get something to work for days/weeks and finally realized that passing this type of variable will not work because the value is actually assigned elsewhere and totally bypasses what you are doing. Adding a one-liner comment saying: "note that this variable is handled by included script/function (insert name here)" will make you very popular with the next person to fiddle in this script.
On a side note, while you should always be professional in the comments you write in your scripts, some humor in good taste is never a bad idea. I like stumbling on the random comment that will make me smile, smirk or flat out lol. Speedman had a cute one that was more of a John Steinbeck wink, wink in the mace and shield glasses script where the first comment line read "Of Mace and Men". In one the Champ Spawn scripts, rather than giving one of the functions a bland "choose random players to give the scroll to", the comment was along the lines of "now the fun of picking some lucky dogs". In one of the buff scripts, the function where the buff was actually given to the player had "Beef me up, Scotty!" as a comment. Another that made me giggle (because I have a really silly sense of humor) was the "Ph4t L3wT, gImM3!gImM3!" comment where the reward was being generated on a boss monster.
In short, you should always comment your work. It shouldn't be a novel. One or two lines is usually more than plenty for a block of code. But it will do wonders for you and the people who will need to go into stuff you've done, especially if you had to handle something in a non-traditional way. The occasional smart humor is plus. Just remember that moderation is always in good taste!
Monday, January 12, 2009
Troubled Waters
I was having a heated debate with a friend of mine regarding the quality (or lack thereof) of recently released MMOs, upcoming ones, expected expansions and so on. It was interesting seeing how our opinions differ now that I'm on the inside compared to how similar they were when I was on the outside.
The fact is a number of new MMOs have failed despite a strong start and a lot of hype. Some expansions failed to deliver on revenues and player retention while other games have postponed themselves into oblivion. You have to ask yourself why do we always seem to miss our deadlines? Why do we cut corners or deliver stuff (too often) sub par or not to the level of reasonable expectations? Is it bad management? Incompetence? Cluelessness? Carelessness? Some dumb suit/corporate noob making decisions on stuff he doesn't know jack about?
Sometimes, it is indeed a bit of a mix of all of the above. But in truth, most of the time it's just that shit happens. Every time you think you've got a smooth sail ahead, you end up running into a freaking iceberg. If you're lucky, the iceberg just grazed your ship and with some paint you cover the scratches and you're as good as new. But often times, you hit it head on and next thing you know, you're taking water from every side. Fight hard as you may, sometimes there's just not enough escape boats. That's when you hear of games closing and projects being canceled. There was just no saving it. It was taking too much water and you have to make the decision: do we cut our losses and save who/what we can, or do we all go down with the ship?
Some other times, the ship doesn't sink despite a mighty blow. The crew will work around the clock, pull every trick imaginable, do whatever it takes to see that it reaches the shore. It will be banged up, battered and look like crap, but it will have made it. Was it worth saving though? What's the point of a cruise ship that no one will set foot on? I mean, you could take another year and pull the whole fixer upper but are there any funds left to do that? How about the crew? After weathering such a bad storm, a few people will think twice about setting another foot on that deck. And if despite all that you manage to pull through, there is the real possibility that by the time you're finally ready to launch, your potential customers will say "bah, the whole cruise ship deal is so last year!" Too bad you were wallowing neck deep in troubled waters then.
There are never any certainties in game development. Sometimes things simply go your way. You've got wind in your sails and everything is a joy ride. Other times, it's just one squall after the other. As a "sailor" myself, I can empathize with crews who have seen their own ships go down or are struggling to keep it afloat. I know how much blood, sweat and tears gets poured into it.
Whenever you start a journey, you can never know how far it will take you. The (must see!!) miniseries From the Earth to the Moon is a fine example of what game development can be like. Obviously, the series isn't about video games, but it shows how many unexpected hurdles you need to overcome during development process. How even the tiniest mathematical error can cause major setbacks. And that at times, only a near catastrophe can give you that much needed second wind.
I'm blessed to be part of an amazing crew, with a captain I respect and a ship I love. She has withstood her fair share of storms and God only how many more await us ahead. But I have good faith that she and we will take each other home safely.
The fact is a number of new MMOs have failed despite a strong start and a lot of hype. Some expansions failed to deliver on revenues and player retention while other games have postponed themselves into oblivion. You have to ask yourself why do we always seem to miss our deadlines? Why do we cut corners or deliver stuff (too often) sub par or not to the level of reasonable expectations? Is it bad management? Incompetence? Cluelessness? Carelessness? Some dumb suit/corporate noob making decisions on stuff he doesn't know jack about?
Sometimes, it is indeed a bit of a mix of all of the above. But in truth, most of the time it's just that shit happens. Every time you think you've got a smooth sail ahead, you end up running into a freaking iceberg. If you're lucky, the iceberg just grazed your ship and with some paint you cover the scratches and you're as good as new. But often times, you hit it head on and next thing you know, you're taking water from every side. Fight hard as you may, sometimes there's just not enough escape boats. That's when you hear of games closing and projects being canceled. There was just no saving it. It was taking too much water and you have to make the decision: do we cut our losses and save who/what we can, or do we all go down with the ship?
Some other times, the ship doesn't sink despite a mighty blow. The crew will work around the clock, pull every trick imaginable, do whatever it takes to see that it reaches the shore. It will be banged up, battered and look like crap, but it will have made it. Was it worth saving though? What's the point of a cruise ship that no one will set foot on? I mean, you could take another year and pull the whole fixer upper but are there any funds left to do that? How about the crew? After weathering such a bad storm, a few people will think twice about setting another foot on that deck. And if despite all that you manage to pull through, there is the real possibility that by the time you're finally ready to launch, your potential customers will say "bah, the whole cruise ship deal is so last year!" Too bad you were wallowing neck deep in troubled waters then.
There are never any certainties in game development. Sometimes things simply go your way. You've got wind in your sails and everything is a joy ride. Other times, it's just one squall after the other. As a "sailor" myself, I can empathize with crews who have seen their own ships go down or are struggling to keep it afloat. I know how much blood, sweat and tears gets poured into it.
Whenever you start a journey, you can never know how far it will take you. The (must see!!) miniseries From the Earth to the Moon is a fine example of what game development can be like. Obviously, the series isn't about video games, but it shows how many unexpected hurdles you need to overcome during development process. How even the tiniest mathematical error can cause major setbacks. And that at times, only a near catastrophe can give you that much needed second wind.
I'm blessed to be part of an amazing crew, with a captain I respect and a ship I love. She has withstood her fair share of storms and God only how many more await us ahead. But I have good faith that she and we will take each other home safely.
Subscribe to:
Posts (Atom)