News: We're looking for extra members and developers. May 20, 2012, 04:11:56 am
Welcome, Guest. Please login or register. *

World - Areas
Pages: 1
  Send this topic  |  Print  

  World - Areas
Author Message
0 Members and 1 Guest are viewing this topic.
Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« on: June 20, 2007, 07:57:24 pm »

This thread focusses on areas.  Each area will comprise a portion (not necessarily of uniform sizes) of the total "world" that is instantiated.  As well, for such a simple game, areas should have continuous transitions into each other.  There should be no load time between them.  This is somewhat similar to how things worked in Diablo 2, except that I don't want to see abrupt transitions like staircases to a different "level".  The staircases themselves should be a continuous area connecting the two floors.

Discontinuities caused by area transitions can be a serious issue for AI's, as it was often possible to confuse or escape AI's completely in other RPG games.  As well, players can be confused by such abrupt transitions.  One common trick is to run up a set of stairs, then quickly run down it.  The pursuer, hopefully, runs up at the same time you ran down, and he may think he's lost you when in fact he just passed you.  This dirty trick wouldn't be possible in a continuous transition.

However, while such a continuous world may be easy to support if it contains only 5 or 6 areas (a small "gladiator" style world meant for a short game), it wouldn't be nearly as easy in a massive roleplaying setting where there might be hundreds of areas, and as such there will need to be some conditions as to which areas are loaded and when.

The contents of these areas can be split into five categories:
Terrain; immutable terrain would serve mostly as flavour and backdrop to an area. We must consider how to implement terrain in the game, and then how the view will interpret this. Walls, ridges, and other permeanent terrain features that may act as blockages would also go here.
Obstacles; these are objects, not necessarily immutable, that may be placed on top of terrain.  A rock, a tree, a destructible wall.  Obstacles are not necessarily inert; they may be dangerous, mobile, and destructible.
Items; stuff you can pick up; picking up items won't be diablo style, it will take a moment and you will be defenceless to attack while doing it, making it effectively impossible to snatch up something valuable in the middle of a fierce melee.
Benign Creature; these creatures respond when provoked, and will not actively do anything.  Benign creatures can do anything a player can, and most certainly will require an AI.  The decisive aspect of a benign creature is that if there are not active creatures nearby (ie, a player) they essentially go dormant and do nothing.  They may heal or return to a default position, but nothing more unless scripted to do otherwise.
Active Creature; including players, active creatures are the 'important' ones.  Unlike benign creatures, active AI's will move and perform tasks in areas even when players are not around - meaning those areas will be "active" even if uninhabited by players.  An active creature might be a soldier who (alogn with several others) is fighting across many areas.


So, the to - do list:

- how to implement terrain.  We can deal with art style later, this is how do we determine how it will be represented in memory.  If we go with something tile based, that will impact the eventual style, however.
- how to implement areas, transitions, and loading and saving of areas
- how to implement area contents and obtacles
- how to implement creatures and the actions they can perform, as well as the distinction between active and benign.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #1 on: June 20, 2007, 10:20:14 pm »

Quote
how to implement terrain.  We can deal with art style later, this is how do we determine how it will be represented in memory.  If we go with something tile based, that will impact the eventual style, however.
i think tile based would be easiest, both for programming and art/design

Quote
how to implement areas, transitions, and loading and saving of areas
we could simply have one big "room", in which objects are smart with their memory usage. for example, a players position is only sent to those players who would be able to see him

Quote
how to implement area contents and obtacles
i'm building a simple game engine based on a game engine we used at school (but that was for mobile phones), in which you would simply make a class "Obstacle" and let all other solid obstacles extend that

Quote
how to implement creatures and the actions they can perform, as well as the distinction between active and benign.
they would also have their own class in that engine
Logged




Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« Reply #2 on: June 20, 2007, 11:50:12 pm »

I think we're both thinking along the same lines, it's just we need to be a little more specific.  After some thought on the matter, I do agree that tile-based sounds right, but we'll need to make a distinction of how we'll implement this.

Quote
we could simply have one big "room", in which objects are smart with their memory usage. for example, a players position is only sent to those players who would be able to see him

The problem with that is what if we want to make the illusion of layers?  We may want to have a main floor, a staircase, and then a second floor that geometrically appears to be right over top of the first.  This can only be done through some sort of area transition, where the lower floor fades out while we're on the staircase, and the upper floor fades in.  I also wanted to see if we could try something tricky and deactive unused areas so that we don't check their contents until an active creature enters them. 

Instead of periodic checks, we check them when they are reactivated, see how long they've been deactivated for, and then do one big update based on that time interval (so a benign creature in a deactivated area wouldn't regenerate health, but when the area is reactivated he will account for the lost time.  He may also move back to a default position).  This way we wouldn't bother updating potentially hundreds of inactive creatures every cycle.

Quote
they would also have their own class in that engine
Well duh Roll Eyes, but how would we fit them into everything overall?  Even my little brother can write a class that carries important data and algorithms, but fitting them together is the hard part.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #3 on: June 21, 2007, 12:00:51 am »

yeah I guess I wasn't very specific on that last bit Roll Eyes

anyway, I say let's just add more features gradually, always thinking a bit ahead, and we'll just see how it works out
Logged





Pages: 1
  Send this topic  |  Print  
 

Jump to: