30 April 2006

Some more details about the architecture of the new game.

Over the last few days, I had to decide what would be the max size of the game map.
I think it will be either 256x256 tiles, or maybe 384x384.
For those familiar with Eternal Lands, a 256x256 tiles map is 4 times bigger than Whitestone, which is 128x128 tiles.

A 384x384 map would be a little more than 1 square KM. It will take approximatively 10 minutes to go from one end to another, and about 15 minutes to go in diagonal.
Of course, in the actual game it will take more than that, since there will be all kind of obstacles, monsters, and various other detours such as quests.

Any size bigger than that would be overkill for the following reasons:
1. It would take way too much time for someone to create.
2. Would take a lot of memory.
3. More than 100K 3d objects would be required, which would slow down the game too much.

In Eternal Lands, there are 2 kind of maps: Inside maps and outside maps. The inside maps have a constant ambient light, and, obviously, there are no sun shadows, nor day and night.
In this game, since there will be only one map, a mechanism had to be devised to allow indoor places (caves, castles, etc.) and outdoor maps.
This issue is addressed by various script functions and callbacks. For example, when the player enters an area which is a cave, we do the following things:
a. Set the game to render the map as if it is an inside map.
b. Change the ambient light level.
c. Hide all the 'roofs'.

The roofs will be part of a group. A group holds a list of 3d objects (their name, not their instance).
We can have different groups, such as doors, roofs, vegetation, and so on.
The scripting language will have a function to create groups and add objects to groups. There will also be scripting functions that allow you to hide or show all the objects in a group. For example, hide all the roofs, remove all the trees, and so on.
All those functions will be an area effect, so they will only affect a specific area. No reason to hide all the roofs in a map, if you only enter a house. It's time consuming, and can be impractical as well.


Anonymous donmc said...

space-based MMO, x-com clone, ultima 7 clone, what's next? Sometimes you say you've stopped working on EL, then othertimes you are back on the case.

I have always been impressed with the fact that EL was an indie MMO that actually made it out the door. There's no shortage of newbie game developers with big dreams of making their own MMO. Virtually all of them fail to get off the ground.

You, on the otherhand, actually finished your MMO, but your subsequent projects don't seem to get very far. I can understand the need for prototyping, but it seems when you start out with the intention of finishing the game.

Is Ultima 7++ going to see the light of day, or will this be another one collecting dust on the shelf?


1/5/06 15:27  
Blogger Radu said...

That is a very good point, and I've asked myself the same question.
Some of my previous prjects didn't make it.But on the other hand, this is normal, many real game studios, that invest milions, cancel some of their projects.
The first game, Barren Moon, was placed on hold (not really canceled) because some people have promised they will work with me, and then they left. I couldn't do it all by myself.

The X-COM clone, it's still there, but you have to understand that it's a two part game: a strategic part, and a tactical part.
The modified single player engine I am working at will also be used for the tactical part of that game, and I am trying to design it in such a way to be able to reuse it in many subsequent projects of mine.

And I still work at EL a lot, but I'd go crazy if I'll work at it all the time. I need some 'hobby' project :)
EL used to be my hobby, now it's my full time job :)

1/5/06 19:05  

Post a Comment

<< Home