Game Engine Development Course

August 1st, 2010

We are going to hold a series of course, to delve into the development of a modern game engine. If you live in Tehran, you might want to check out the notice on Garshasp’s Farsi blog.

VN:F [1.9.3_1094]
Rating: 9.6/10 (7 votes cast)
VN:F [1.9.3_1094]
Rating: +2 (from 2 votes)
Author: Yaser Zhian Categories: Engine, General, R&D, code Tags:

Of the Prince and the Pahlevan

May 4th, 2010

The Prince of Persia series of games are probably among the most popular games of the past two decades. The goal of this post is to delve into the cross sections of Prince of Persia and Garshasp from the settings and story standpoint and a little bit of gameplay. Prince of Persia is a game made by the western Countries and us being the developers of Garshasp from Iran (Persia) get a lot of questions regarding the overlap of Garshasp and the Prince.

Lets look from a few angles:

Inspirations:
The story of Prince of Persia series are inspired from the book of One Thousand and One Nights. A book written in post Islam Persia (after the invasion of Iran by Arabs) which contains one thousand and one stories. Sinbad as among the most popular characters of the book. The main creator, Mechner, specifies Shahnameh as a source also but there doesn’t seem to be much influence.

The story of Garshasp is inspired from Avesta which is an ancient book written by Zarathustra and also “Garshasp Nameh” written by Asadi Tusi, written a bit after “Shahnameh” by Ferdowsi. The main characters and events in the game have had the most influence from Avesta which is is a main source for Persian Mythology, most of the stories of this book have roots in more ancient times and the main theme contains huge elements of fantasy, unlike the book of One Thousand and One nights which has a more realistic style to it.

Settings:
Prince of Persia belongs to the stories from a point in time where Arabic culture is popular and which is the advent of the Islamic Architecture for buildings. This can be seen from most of the buildings and designs in the series. The type of swords (curved) used in the game are all Arabic swords (Saif). There are a lot of Indian symbols in the game also. There is even some Arabic texts written on some walls in some series. Overall the Prince of Persia games do not usually seem that Persian to the Persians.

Garshasp does not belong to a specific time in history, it belongs to the time of Mythology. Hence no particular architectural style has been followed in the design of the game. However great effort has been done by the artists to not use the post Islamic elements of Persia and study the ancient art of Iran to create a fantasy mythological art style which is highly inspired by the ancient pre Islamic Iranian themes. No Arabic or Indian symbols are used in the game. The same is true for the music composed for the game.

Character:
The Prince in Prince of Persia is of course a prince which tries to fight the evil rulers and there is usually a princess around where he is trying to rescue. The character is very skillful in acrobatic moves and has a slim build.

Garshasp is a type of super hero which is often known as the “Adventurer Type”. He works for nobody, does not stay in one place for long, travels a lot, is really powerful and fears nothing. He is known in Avesta as the Monster Slayer and he lives his life to punish the dark forces of Ahriman. A dark future haunts his life and he will play a big role in the final battle of the universe. His sole is put to sleep by Ahuramazda in order to be waken at the end of the world when the bounded time transforms again to unbounded time.

Now a little about gameplay

Gameplay
Prince of Persia is usually heavily relying on platforming elements, then combat. Combat is much more important in Garshasp than the platforming elements.
Prince of Persia is mostly traversing indoor areas, Garshasp is mostly outdoors, starts out from a city under fire, travels to a jungle, then to the Mountains and finally in a cursed temple.
Prince of Persia has the standard third person camera but the camera in Garshasp is pre-directed cinematic camera.

Some Notes:
The name Dahaka is used in Prince of Persia series which is in fact a transform of Azhi Dahak which is the main Deev in Persian Mythology. Azhi Dahak is the brother of Jamshid who dethroned him and brought darkness to the world. It is part of the back story of the Garshasp game.

Ahriman is the name of the main boss in Prince of Persia 2008. Ahriman is the root of all evil in Persian Mythology.

Elika speaks Farsi in some parts of Prince of Persia 2008.

The Deev in Prince of Persia 5 (Forgotten Sands) speaks Farsi, quite a hilarious fact, smells like some lame Hollywood conspiracy.

Some trivia:
Garshasp started out as an RPG title, the decision to switch to the action genre was decided a little after some team members got heavily involved with playing Prince of Persia (The Two Thrones)
One of the main programmers considers POP – Warrior Within to be one of the best games made ever.
The whole team agrees that something with the combat in Prince of Persia – Forgotten Sands is awfully wrong. (How can the beautiful designed combat mechanism in the previous series turn into this funny thing?)
Although Prince of Persia was the game to push the team over to the action genre, God of War has had the most influence on the development process of “Garshasp”.

VN:F [1.9.3_1094]
Rating: 9.2/10 (27 votes cast)
VN:F [1.9.3_1094]
Rating: +9 (from 11 votes)
Author: fassihi Categories: General Tags:

Latest Trailer

April 26th, 2010

Hi resolution version of the trailer can be downloaded from:

http://garshasp.com/downloads

VN:F [1.9.3_1094]
Rating: 9.4/10 (23 votes cast)
VN:F [1.9.3_1094]
Rating: +5 (from 5 votes)
Author: fassihi Categories: General Tags:

New Weblog

April 26th, 2010

A new weblog (in Farsi) is up for Garshasp. This weblog will cover everything regarding the game (gamplay, characters, environments), the development process, Persian Mythology and answer the frequently asked questions.

http://garshasp.ir/blog/

VN:F [1.9.3_1094]
Rating: 8.4/10 (14 votes cast)
VN:F [1.9.3_1094]
Rating: +1 (from 1 vote)
Author: fassihi Categories: General Tags:

Sharif CGS 2010 Presentations

April 23rd, 2010

(Well, one of them for now…)
I thought I’d post the presentation I used for my talk in the conference on game development held at Sharif University a couple of months back.
It’s about the decisions you have to make and the things that you should do at the beginning of a game project, to make your team’s and your own lives easier later on and throughout the development cycle. This is an ongoing experience and collection of ideas for me, so I’ll be looking forward to any suggestions, discussions, critique, humiliation, praise and/or whatnot!

VN:F [1.9.3_1094]
Rating: 9.0/10 (16 votes cast)
VN:F [1.9.3_1094]
Rating: +5 (from 5 votes)

Release

March 27th, 2010

We are finally in a stage to do negotiations with distributors for releasing Garshasp. We have started evaluating the options for releasing the game in Iran using the local distribution channels and at the same time we will resume our negotiations with international publishers next week.

We are looking forward to set the exact release date very soon as it requires us to finalize our deals with the distributors first.

This is a very exciting time for the whole development team of Garshasp.

VN:F [1.9.3_1094]
Rating: 8.9/10 (44 votes cast)
VN:F [1.9.3_1094]
Rating: +9 (from 17 votes)
Author: fassihi Categories: General, Production Tags:

Run Please! (or how do we enjoy a cup of coffee while the bugs are being chased.)

March 26th, 2010

In the past weeks, a very common sight at Fanafzar was a series of 4 or 5 machines, all running Garshasp on a pre-recorded command sequence (or timedemo, or whatever you might want to call it,) trying to get the game to crash or fire an assertion or behave erratically to help us pinpoint some intermittent or hard to reproduce bug.

First of all, we have a quite cool replay feature in Zorvan (our engine) that lets us record and then play back a game session. It’s not perfect, and not quite fit for end-users, but you wouldn’t imagine how useful it has been (and will be) to us.

This replay system is serving as our unit test (“You added that feature? Let’s see if the boat sequence is playable now.”) and our regression test (“You committed that fix? Let’s see if the game is still playable!!!”) and our performance test and playability test and much more. Since the structure of our game is linear by design, we can get very good coverage with a straightforward replaying of the entire game.

In any case, since we are almost feature-frozen now, our (programmer’s) lives mostly consist of running the game till it crashes (or does something it shouldn’t do) and then tracking down the bug and working it out.

I guess the next step will be finding the few major performance bottlenecks and optimizing them (that we have put off till now because they would have made debugging and adding features quite hard.)

My point in all this was that debugging is usually considered a gruesome and intimidating task, or boring and uninteresting at best. Right now, I quite enjoy debugging our engine and game for two main reasons: first is the replay system (which makes debugging much more effective, targeted and efficient) and second and more important is finding out bugs in my own (and our own) mental processes by finding bugs in the code that resulted from those processes.

It can be illuminating to find out what you had missed when you designed or implemented a piece of code, or the bugs caused by lack of communication or a problem in the general work flow (these are not common, but interesting nonetheless.) This form of revelation that results from finding a bug in your code is quite a rush and can make us better programmers.

VN:F [1.9.3_1094]
Rating: 8.8/10 (25 votes cast)
VN:F [1.9.3_1094]
Rating: +9 (from 9 votes)

in Siavoshgard

March 16th, 2010

“… where the hell did he go? …”

VN:F [1.9.3_1094]
Rating: 8.6/10 (36 votes cast)
VN:F [1.9.3_1094]
Rating: +7 (from 11 votes)
Author: fassihi Categories: General Tags:

New screens

February 3rd, 2010

So we decided to come up with some updates at the far end of the production phase.

As you can see above we got new beauty shot for Garshasp with his mystical mace. This is our in game model rendered in 3ds max along with some paint over that our concept artist “Soheil” has done on it.

And here are some in game screen shots which came out right from Iranvij, our Level editor tool. I managed to grab some props too.

Hope you like it.

VN:F [1.9.3_1094]
Rating: 9.4/10 (45 votes cast)
VN:F [1.9.3_1094]
Rating: +14 (from 18 votes)

Optimize

January 15th, 2010

Optimization is the current focus of the technical team. There are three main areas that we are aiming to optimize in order to broaden the PC users which will be able to play the game with acceptable frame rate. The first area is graphics card Video Memory usage, mainly related to the textures and vertex buffers which need to be loaded in the video memory. As it appears, the first part of the game is consuming a lot of the video memory due to loading the vertex buffers. PIX from DirectX has proven to be a highly valuable tool to profile the Graphics card memory. Although for more serious profiling we are using NvPerfHud from Nvidia.

The second area is the RAM usage. GlowCode is helping us find memory leaks. Our target goal for system memroy is 1Gig.

The third area is CPU consumption and the performance of individual function calls. Intel VTune is a real useful tool in this are for measuring code run time. De-synchronizing some sub system loops with the main graphics loop is among the main things needed to be done to free up some CPU time. An example for this de-synchronization is to update the AI loop once in a half second.

On the business side of things, negotiations with distribution channels have already started.

VN:F [1.9.3_1094]
Rating: 8.2/10 (37 votes cast)
VN:F [1.9.3_1094]
Rating: +8 (from 10 votes)
Author: fassihi Categories: Engine Tags:

Game Connection 2009

December 8th, 2009

We are glad to be participating in Game Connection 2009 in Lyon, France, which starts tomorrow morning. The extended and enhanced planned version of Garshasp will be presented to publishers.

VN:F [1.9.3_1094]
Rating: 8.4/10 (39 votes cast)
VN:F [1.9.3_1094]
Rating: +7 (from 13 votes)
Author: fassihi Categories: Production Tags:

The Monster Slayer

November 1st, 2009

Garshasp

Art by Soheil Danesh.

VN:F [1.9.3_1094]
Rating: 8.7/10 (64 votes cast)
VN:F [1.9.3_1094]
Rating: +13 (from 19 votes)
Author: fassihi Categories: Concept Art Tags:

Garshasp being presented at Dubai World Game Expo 2009.

October 27th, 2009

Hi,

Garshasp is being presented at Dubai’s 2nd World Game Expo 2009. Garshasp was also presented at this expo’s debut which was held last year around same time. This expo is important to us thus all Middle East companies are presented and we hope to find potentials in the continent. There will be other companies from USA, UK, Holland, India, Korea, Emirates,  Japan, Jordan, UAE.

It is another great chance for us to present the game and find potentials for international release of the Garshasp. Also this is another battle ground to test our might against the real competitors, the western companies.

There is not much time left until invasion of Siavoshgard by Ashmooghs and Deevs …

-Aidin

VN:F [1.9.3_1094]
Rating: 8.5/10 (35 votes cast)
VN:F [1.9.3_1094]
Rating: +4 (from 6 votes)
Author: aidin Categories: Exhibition Tags: