Sunday 17 April 2011

UDK vs. Unity and Unity Tutorials

In my previous post I mentioned the fact that I work on a project that uses the Unity Engine and that there are many good tutorials out there, so here are some of them:
 Unity is a toolkit that is powerful yet easy to learn, so everyone who wants to create his own game someday could have a good start with Unity.

Ok, I might sound like an advertisement, but I was surprised myself after having worked with the UDK and failing miserably in getting something other than a 3D Shooter in the end. The UDK is designed for 3D games with high end graphics(textures, shaders etc.). It is possible to create other types of games with it but most mechanics have to be changed or implemented from scratch. Unity on the other hand is more free form with more focus on portability to different gaming platforms than the UDK. The graphics may not be high end but are not outdated either. So designing games with one engine or the other depends on the designer's focus and the style of game play he prefers.

Student Project - Ideas and Engine

After starting my semester at the Games Academy here in Berlin, Germany, I am part of a small team of game design students tasked with a semester long project. The task is to create a game similar to one of four examples:
  • Super Mario Bros.
  • Micro Machines
  • BreakOut
  • Xevious
My team has chosen the first one, a platformer similar to Super Mario Bros. The game has to be similar in core game mechanics but with some "unique" features to distinguish it from the original.

As the only one in the team with programming experience I have to choose the engine we use to build the game. I had some prior experience with the Unreal Development Kit  (UDK), but decided against it because it might be too difficult to implement a 2D platformer with it. The second choice was the Game Maker by YoYo Games but I decided against that because I didn't know how to use it right or how to expand the basic features it provided. Finally I tested the Unity Editor and found it easy enough to work with and not to difficult to push to 2D game play.

The Unity Editor is for the engine with the same name and it provides tools to create games for different gaming platforms like the PC, Mac, Wii, iPhone and more. There is a free version that has enough features for most games and there are many tutorials to get started without much headache. The scripting languages used are JavaScript and C#. My preference lies with JavaScript even though I haven't scripted with it before but I used Java and C++ for earlier projects.

The actual project is still in its early planning stages but we are confident that we can get it done in the expected time frame. We are not reinventing the wheel and are able to use assets found on the internet as well as our own so it is possible despite the fact that most first semester projects are doomed to fail.

I might give some more information on the project's progress in future post but I have to check with my team mates first.

Monday 4 April 2011

Development Blog: The Magic of Innocence - Managing the player's character's journal

Most crpgs have a journal as a place where quest information and various notes are stored. Dragon Age is not different with regard to that. 

But I have always asked myself who managed that journal, who wrote all the different notes down and sometimes copied whole books into it. Some games use the first person for entries so that the player feels like his character takes the notes himself. Some games use the second person for the entries as if someone were talking directly to the player through his entries. In DAO it is the second person and I sometimes wondered who was managing it.

In "The Magic of Innocence" I wanted to be clear about who makes the entries and who "talks" to the player. It is the mage apprentice Ben who created the pc in a ritual and is the first and a permanent companion in my module.

Another aspect is the fact that the journal is just a concept and has no "physical" representation in most crpgs. That is something I dislike and therefore want my mod to be different. Fortunately, there is a item category in the game that is visible and does not count against the item limit: plot items. So the first plot item the character will get is in fact the journal where Ben writes down all the important information the player needs to stay atop of in the game. Most entries will be mostly neutral, but in order for the reader to know that it is Ben, who writes them, some of these entries will include his opinion, so it can be quite interesting to have an entry about something and then the player finds out that the information is not as accurate as he believed it to be. This approach is interesting but could potentially be devastating to the point that the player doesn't trust the journal any more so entries that are not based on facts have to be marked as such. I am thinking about adding a new category to the codex entries labels something like "ideas" or "rumours". In that category all entries floating around as hearsay and Ben's musings will be separated from the "facts", like the entries used by the original campaign or quest notes which only record past deeds.

Development Blog: The Magic of Innocence - Morality meter and approval systems

Dragon Age: Origins uses an approval system with its followers that is point based and displayed on something like a number line or number ray (not sure what the right word in English is), lets call it approval bar. With changing values the reaction toward the character changes. For positive changes the follower is more open to the player's ideas and with negative values it is possible that the follower would leave or even turn hostile.

Using that system for my own mod is something I will try to implement. The basics are there but effectively tied to the original followers from Origins. So far I can change the simple point values and get the value via script. To use the whole range of options available I have to dig a little more, make copies of more core scripts and adjust the system to my followers. It is a bit of work but would be nice to have in the long run.

As for having something like a "morality meter", that is a little bit more complicated. I would like to have something that the player can see in the GUI without searching for it. After some experimenting I found out that I can also enable the approval bar for the player character (pc). It easily fits into the GUI and the values are handled the same as for followers (no surprise there, its the same system). But the player won't know that this approval bar is different from the others and changing the icons just for the pc doesn't work, it is a part of the GUI that I can't edit.
Another idea came from another modder in the BSN toolset forums that suggested using items as tokens for a reputation system she uses in her mod. These items would be assigned as plot items to not count against the item limit and to be in a separated section of the inventory screen. Using those tokens for different factions as signs that you had dealings with them is quite a good idea when the core game had nothing to represent factions in the first place like other crpgs have.
Combining the pc approval bar with tokens for morally wrong decisions could be just what I wanted. If the pc passes a specific value on his/her approval bar a token is put in the inventory and by the description of said token the player can see if the consequences are worth the action. I will not make these tokens a bad thing per say. They will have consequences both beneficial and limiting. For example there could be some talents that get unlocked that mirror the decisions previously made but at the same time some npcs might not want to have dealing with the pc anymore or even turn hostile as a result. There will be ample warning of mayor changes both in the mentioned token descriptions and by journal entries that Ben makes.

Saturday 2 April 2011

Development Blog: The Magic of Innocence - Upload Beta 2 and bugfixes

Beta 2 is ready and uploaded. But as expected there are some bugs in it because I still used some only one and the same computer for testing and development. There were some remains from mods I had installed like new textures and meshes. Some of those I included in the upload other I just forgot entirely so the result had missing hair meshes for the main character and also some icons.

Some of the new lines of dialogue were a little bit rushed and therefore prone to spelling and grammar mistakes. I am no native English speaker and have to check the text more than once in the future.

I wanted to upload a new version before my semester start on Wednesday so I was in a hurry, big mistake. I now have to check the content for bugs and grammar mistakes nonetheless. Hopefully there are no major bugs in it and my changes to the previous version improve the experience. So far I have one play test from another modder and he made some important comments that I need to look out for in future updates. It is still a work in progress, I never claimed anything else.

With some more time on it, I will fix the reported bugs today and tomorrow. I'll also have another look at the conversation flow to make it more smooth.

The class abilities are the next big thing I have to tackle because so far they are only pictures without any code behind them.

And I really should make a design document and collect my notes to improve my structure. There are dozens of posits and sheets of paper littering my desktop and only some of them have something important on them. In digital form there is one to-do list that I made last year and forgot about it so it is hopelessly outdated...

Friday 1 April 2011

The countdown is running...

On Wednesday I start my semester at a local Game Design School and I have to change my schedule from sleeping past noon to getting up early in the morning. My time working on the Dragon Age: Origins Mod "The magic of innocence" will be much shorter depending on the workload from school but it will not cease entirely if I can manage it somehow.

The input with new ideas will be great and meeting like-minded people might give me the opportunity to recruit some help or get more structure in the chaos that are my notes so far.

What will I learn there?
I do a course on game design and game programming so basically applying my prior knowledge in programming and designing a role playing system in the field of computer games. The whole is 2.5 years long and costs an fortune but I will get new connections with developers local and international on the side.

I will keep you (or me, as I am talking to myself so far) up to date with news and will maybe post one or two interesting episodes here (provided they don't collide with my contract).