Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (523)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (592)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 2 [3] 4 5 6
  ignore  |  Print  
  Reviving Mini Adventure  (Read 21055 times)
0 Members and 1 Guest are viewing this topic.
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #60 - Posted 2005-01-28 12:49:14 »

Ah, I'd consider that an NPC->Player interaction. Nothing wrong with that.

I meant players dropping items onto the ground for other players to pick up. Thats a pain in the rear where networking is concerned.

Kev

Offline yammosk

Junior Newbie




Java games rock!


« Reply #61 - Posted 2005-01-28 15:26:43 »

Seems like the poster before yours was thinking specifically about loot. The easiest thing would to make the corpse a container that has the loot. This is the same the idea as Kevin was saying earlier. It certainly sounds like not putting items on the ground would be a lot simpler.
Offline Daniel_F

Junior Devvie


Projects: 2


Java games rock!


« Reply #62 - Posted 2005-01-28 15:46:28 »

Just a few things I thought about. (written down in a messy way)
-Will there be weather effects? Day-night/rain-snow...
-Disappearing/altering tiles? Like you pull a lever and a bridge appears/hidden door opens.
-What about in-game time?
-Will player vs player combat be available?
-Will object be static or dynamic. Like "short sword" has only attack=5, def=8 (static), or unique attributes too like quality/demage (dynamic).
-Max number of players per server, and what about the others waiting?
-What if somebody has been attacked (by monster) and the player looses connection.
-Will there be under ground dungeons/caves, multi-storey houses?
-Real estate things owned by users (for example houses).

Some of theese may be answered "depends on editor-made script" i hope Smiley
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #63 - Posted 2005-01-28 15:55:53 »

I just got a chance to log in.. its been ages.. how cool Smiley

Kev

Offline Tzan

Junior Devvie





« Reply #64 - Posted 2005-01-28 19:46:54 »

Editor screen shot comment.
I think your map makers will love you if you allow the grid color to be changable. Or just set it at a neutral gray color, or a bit darker, but not black. Right now the yellow over powers the items you really care about, the tiles.

----
Not sure what people mean by turn based. Neverwinter Nights was a sort of turn based game that ran in real time. You just need to indicate what different action you were going to take before the turn started. Otherwise you get the default attack for what you have equiped.

WOW is different, time is kept seperate for each player depending on when they entered combat mode. There are no turns. This allows combat speeds to be slightly different, 1.5 seconds per swing vs 1.8 seconds. In the NWN version you only had the number of swings per turn 1, 2 ,3 etc.  So the effects of a WOW version are more subtle and allow for more advancement ticks (50 levels) over the course of playing the game for a year.  The NWN version is more coarse grained you just a few big jumps in skill.

If you mean pausing the game for a player to take his turn, how is that a multiplayer game, if 10 people in a group need to wait for a guy to take his turn.

Is the network code for WOW so advanced that we cant do something similar? All MMOGs work this way.

-----

Chat sever
AC and MEO have chat servers. These could be on their own box or whatever. The chat server is not integrated into the game server, its seperate.

-----

World
AC and MEO have the world broken up into landblocks. Each Meo landblock is 160 meters square. The landblock any player is in plus the 8 adjacent blocks are loaded into the box, this means all the dynamic objects need to spawn and start scripts. Any landblock with no players nearby is not loaded. I dont know how MEO decides which box runs which landblock. AC broke the world into vertical strips of landblocks. The width of each strip was changed dynamically based on load. This occasionally caused a problem when popular cities and dungeons occured on the same vertical strip. MEO does not use this system, for that reason.

----

Dropping Item on the ground
No modern MMOG allows you to do this. By dragging an item to the screen, it asks if you want to destroy it.
It was possible to crash AC by dropping piles of torches, that have a particle effect. They eventually decreased the cleanup timer, so some items got removed from the gameworld faster when dropped. A snowball will only stick a round for less than 10 seconds. But a sword will stay for minutes. When a landblock is unloaded the timer stops so its possible to drop an item on the ground in AC and go back to that area a month later and still see it there, if nobody else had gone there.

Looting
MEO -Corpses are considered containers.

Nonparty looting
AC -  whoever does the most damage gets to loot it for a certain time period (lets say 60 seconds) after that its open for anyone. Grief play: a newbie needs 20 hits to kill, and starts fighting, a high level guy comes along and kills in one hit, the high level guy loots, and the newb is left to swear at the kill stealer.

WOW - Whoever hits the creature first tags it for himself, and only he can loot it, forever. Nobody else can ever touch that corpse. Grief: Well when you see someone else fighting, you cant grief him, only help him kill it, since you will never get the loot. Not sure how the exp is divided. The only way a grief works is if you tag a creature just before another guy then let him kill it, then you loot it. Its not very easy to do, since if you hit it first it will aggro on you.

Offline yammosk

Junior Newbie




Java games rock!


« Reply #65 - Posted 2005-01-29 05:37:48 »

Quote

WOW - Whoever hits the creature first tags it for himself, and only he can loot it, forever. Nobody else can ever touch that corpse. Grief: Well when you see someone else fighting, you cant grief him, only help him kill it, since you will never get the loot. Not sure how the exp is divided. The only way a grief works is if you tag a creature just before another guy then let him kill it, then you loot it. Its not very easy to do, since if you hit it first it will aggro on you.


In WoW, the player (or party) that tags a monster is the only one that gets experience. This perpetuates the goal you stated. Players cannot "steal" experience by assisting others.
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #66 - Posted 2005-01-29 06:14:57 »

Quote

Chat sever
AC and MEO have chat servers. These could be on their own box or whatever. The chat server is not integrated into the game server, its seperate.


That still seems pointless.. if you want to chat.. start an IRC channel.. If you're desperate for bespoke chat.. start your own IRC server. Why waste time writing an additional chat server?

Quote

Is the network code for WOW so advanced that we cant do something similar? All MMOGs work this way.


I've no idea, it could be brilliant. Who knows what the community can come up with heh? No signs either way yet.

Where turn based combat is concerned the only restriction so far would be that it can't be real-time.. i.e. it can't really take into account if you're close enough when you press the button to take a swing at a monster (a la Zelda). Simply becaue you can't guarantee what the two people are seeing of the world is identical. You can get round this in FPS in a multitude of ways but it just won't work for large numbers of people playing.

I just remembered I wrote this on the MiniAd forums a while ago which at the time I thought was a bit more novel  way of fighting that the average:

Quote

1) Select your target (or they select you)
2) Rounds start being played every second (or other time frame)
3) You can choose your disposition in a round (attack/neutral/defend/wimp out/move)

- attack means you'll attempt to do damage at the risk of being hurt more
- neutral means you'll get average both
- defend means you'll attempt to save yourself rather than do any damange
- wimp means you'll attempt to run away (stats based decision for success)
- move is used for ranged combat, either moving closer or futher from your opponent (melee players can move towards their target)

4) You can't leave combat or move out of comabt until someone wins or runs away


Twas inspired by something dsellars and I were talking about IRL one day.

I never really liked step 4.

Kev

Offline Tzan

Junior Devvie





« Reply #67 - Posted 2005-01-29 11:24:13 »


Quote
Where turn based combat is concerned the only restriction so far would be that it can't be real-time.. i.e. it can't really take into account if you're close enough when you press the button to take a swing at a monster (a la Zelda). Simply becaue you can't guarantee what the two people are seeing of the world is identical. You can get round this in FPS in a multitude of ways but it just won't work for large numbers of people playing.


If it cant be done why is every single MMOG doing it this way. The server is always the final arbiter as to where all the players and creatures are. In any MMOG you will have times where you get hit and see the monster 20 meters away, or swing and hit something that is too far away, or see something right in front of you, try to swing and get the error message that its too far away. This rarely happens, but it does happen, its not really a game breaking thing since after a few seconds the client will be back to normal. This happens more often when the number of players on the server gets to be too much for it to handle.

In WOW I play on a high population server, during prime time it may happen once or twice in 4 hours of play. I think melee range in WOW is 3 meters for all weapons, in a forward arc, cant hit things behind you.
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #68 - Posted 2005-01-29 11:58:20 »

I think we're still talking at cross purposes. Distance between players can be a factor of course but if you play Camelot for instance, there isn't a "swing" button which makes your sword swing out in front of you which if it hits something allows you to hit. Or for instance, firing a bow doesn't just allow you to point and shoot, it caculates whether you hit based on a set of factors.. i.e. its not real-time. In WOW you select your target and indicate you want to attack them.. the server then calculates how much damage you've done and whether you've managed to hit. Its not "real-time" per-say. If you were to decide to attack and swing your sword the other person can't move out of the way "just in time".

There is no reason that this project shouldn't emulate the other MMORPGs around.. just it would be difficult to emulate Quake 3 style combat for instance.

Kev

Offline Tzan

Junior Devvie





« Reply #69 - Posted 2005-01-29 12:25:41 »

Ok, I think we are in agreement here after all Smiley   (mostly)

I think you are refering to real physics interactions, so yes an arrow never travels to a target in real physics looking to see if its still there, same with a sword.

Its more abstact, but distances do count, and possibly lines of sight.

WOW is real time in the sense that you start to swing at a rate of 1 swing per 3 seconds. You start only after the button is pressed. The enemy player still needs to hit his button and he swings at 1 per 2.1 seconds. So there is no concept of rounds.

I guess that was my main point. MMOGS dont do rounds, they do real time combat. I dont mean real physics but the timing of the attacks are unique for each player/monster depending on when they start attacking and the speed of the attack. The player then needs to time his strategy changes with the pace of "his own" attacks, to be most effecient.



Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #70 - Posted 2005-01-29 12:30:58 »

It does sound like we've spent a few posts agreeing Smiley

I think its the difference of definition of real-time thats confusing us..

However, what do you think of the ability to queue up your actions, so maybe you say I'm going to attempt to swing for 4 rounds (maybe it takes 2 rounds per swing so you actually only swing twice) then attempt my special super killer move in the 5th round. As the server plays out the rounds it takes whatever you've queued. I guess it means you'd have to be able to modify the queue if you wanted but you'd get less click-click-click-click action. Always irritated me in Camelot.

Kev

Offline Tzan

Junior Devvie





« Reply #71 - Posted 2005-01-29 13:02:18 »

There are several games that allow you to queue up actions, City of Heroes did that. You just dont want the queue to get too big, it needs a smallish limit. I think the COH queue size was 2, SWG had a larger queue.

COH had no auto attack, you needed to click a button for every attack and you could queue up one more besides the one that was waiting to go off. Many people liked the clicking because it made them feel more involved in the combat. Since COH had no auto attack I liked the queue system they had, the combat played very nicely.

WOW has an auto combat feature. If you have a sword equiped and hit the attack button it will swing at the same timing until someone dies or moves out of range, just one click. Then you cast spells, or special moves with a click, these interupt the current auto swing. When the special move is over you go back to auto attacking with no click required. Because there are lots of other actions to take during combat the auto attack doesnt feel too boring. The special actions also use a resource, mana, rage or something that diminishes with use. Because WOW has an autoattack I dont miss the queue. Since many of my spells take 2-3.5 seconds this is plenty of time to think about what to do next.

Summary:
A game with no auto attack really needs a queue
A game with auto attack, its more optional.

I suppose you could say that Wow has rounds but each round is .1 second Smiley

By making the round time smaller you allow for a more wide range of timings and so the weapons will seem more unique. Players like to feel unique, if everyone is using the same weapon, players are sad. By puting in lots of different timings and damage ranges that all equal the same DPS (damage per second) you create a lot of variety for the players and keep the damage output equal.

There are also strategies that involve using faster weapons to interupt spell casters. But its possible that the dps of that weapon is equal to a low level two handed slow sword.



Offline dsellars

Junior Devvie




Need to write more games


« Reply #72 - Posted 2005-01-31 08:14:49 »

If you uses a queue system and the idea of choosing a stance and attack it might be possible to add a bit of statagy to the fighting rather than just sitting there waitng for combat to be over while you press a few buttons.

This would require a bit of thought as to how it would work though.  It could allow the winner of a round to "beat back" the loser.  Some kind of precedence idea could be nice too.

Gotta go now, sorry these ideas are half formed, it's a long time since I thought about this.

Dan.  

Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #73 - Posted 2005-01-31 09:31:59 »

Sounds to me like tons of people have great ideas for the combat system, so it should be no problem getting a team to work on it  Wink hopefully we could have a basic system up rather quickly and then tweek it to perfection as we go.

In the meantime I've been trying to unite all the tools for game building into one cohesive IDE by implementing a framework of sorts. I should be updating CVS soon. Cool

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #74 - Posted 2005-01-31 14:59:03 »

I have a new screenshot Grin This one shows the Map editor in the new Integrated (IDE) view. All features should be working for editing. Now to pull the tile builder and the NPC editor in.

Click to Play


Tell me how it looks.

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #75 - Posted 2005-01-31 15:07:56 »

Lovely! An uber-powerful!

Come on project approval, I wanna start designing a village Smiley

Kev

Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #76 - Posted 2005-01-31 15:13:21 »

Quote
Lovely! An uber-powerful!

Come on project approval, I wanna start designing a village Smiley

Kev



Yeah!!!! Kev; While I've got your attention what are the differnet fields in the Zones Dialog for? I'm trying to understand/Tie them into the IDE. I will probably replace the section where the Zone list lives now with a "Map Pallette" and give the Zones thier own tab. The map pallete will let you toggle vissibility of layers and the grid.

P.S. Is their any reason why I shouldn't allow the user to enter a size for the Map's on Creation. ALA wizard.Huh

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #77 - Posted 2005-01-31 16:21:13 »

Zones .. hmm.. can I remember?

I'll have to take a look at the code unless you're refering to assigning actions to the zones.


Kev

Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #78 - Posted 2005-01-31 18:42:31 »

yippee 100 reads... Now if the project would only get aproved Cheesy

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #79 - Posted 2005-02-01 10:07:07 »

Kevin;

Could you explain the way the following dialog functions/ is intended to do?

Click to Play


I want to make sure I label all gui items appropriatly. If we make these tool easy to use and understand. The community will make better content for us Cheesy

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #80 - Posted 2005-02-01 10:42:19 »

Ah ha, this one I remember...

On any given zone you'll get this dialog. It defines the actions that are available on that zone. For instance, if you had a zone over a door to house you might have...

Enter - move the player into the house
Examine - "the door is made of oak"
Talk - Enter conversation with door.

So, on the left side of the dialog you have the list of actions defined for the zone. On the right you have the details of the results of that action. To add a new Action just type in a new name and click Apply.

The default checkbox allows you to specify that this zone is the standard reaction to using a zone, i.e. double clicking on it. So, you might say that the default action for the door is to "enter". The user double clicks on the door and it takes them inside.

Below that you've got the possible actions.

ShowSign - Shows a big dialog box with the specified text on. The background of the dialog box is specified by a image name which you'll find in the resources. I had "document", "wood" and "plaque". I added this one explicitly because of the tendancy for RPGs to need to signs to explain things.

MoveToArea - moves the player to another area and zone. The area is the name of the area that we're going to move to (doh!) and the zone is the zone in the new area in which we should appears (useful things these zones!)

RunScript - Starts a script thats downloaded from the server. Don't think I got far with this.

Spawn - This is where I really started to get stuck. I was going to use zones for spawning monsters aswell.. for instance, a zone covering a graveyard might spawn skeletons, a maximum of 5 and 1 every 10 seconds etc.. never really got past filling this in.

Does that all make sense? Smiley

Kev

Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #81 - Posted 2005-02-01 10:51:59 »

so ... Enter, talk, examine are Action instances for this zone?
and ShowSign, MoveToArea, RunScript are action types(templates) ?

Also How does the user see what actions are available?

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #82 - Posted 2005-02-01 10:54:32 »

Quote
MoveToArea - moves the player to another area and zone. The area is the name of the area that we're going to move to (doh!) and the zone is the zone in the new area in which we should appears (useful things these zones!)
Does this allow for zones in other maps? Eventually we may want to have A building for example be its own map.

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #83 - Posted 2005-02-01 11:07:37 »

Quote

so ... Enter, talk, examine are Action instances for this zone?
and ShowSign, MoveToArea, RunScript are action types(templates) ?  

Also How does the user see what actions are available?


Not templates, they are the actions. The only actions defined for the whole game Smiley. Generalised things like showing messages and moving the player about are explicitly defined, stuff that happens client side without any particular need for crosschecking. Everything else should be a "RunScript" action. The list of action scripts available isn't currently shown but should be pretty easy to add.. its another tool in your IDE really... an action script definer. The intention was to cover the simple things with explicit tasks and leave the rest to action scripts.

Quote

Does this allow for zones in other maps? Eventually we may want to have A building for example be its own map.


Where I say area, you say map Smiley. In fact in the firsts scenario I created there were lots of little buildings, each defined as its own map/area with zone linking them. A few people might even have seen that one Smiley

Its probably a rarely case you want to link to somewhere on the same map/area.

Kev

Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #84 - Posted 2005-02-01 11:21:03 »

good that way map definition can be more manageable. So should the items in the dialog, (examine,talk,enter) be hard coded or user entered?

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #85 - Posted 2005-02-01 11:23:39 »

Quote
The list of action scripts available isn't currently shown but should be pretty easy to add.. its another tool in your IDE really... an action script definer. The intention was to cover the simple things with explicit tasks and leave the rest to action scripts.

So no script editor exists as of right now correct. Maybe this could be launced from the RunScript tab in the ZoneDialog, and the already defined actions could be in a list on the RunScript tab?

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #86 - Posted 2005-02-01 11:34:47 »

Quote

So should the items in the dialog, (examine,talk,enter) be hard coded or user entered?


They should be user defined, in that you can't talk to all things, enter all things all examine all things. Talking to a rock *might* be pointless. The "actions" that are predefined are the responses to these "operations". So if you perform the examine "operation" on the door the response would be showSign "action". There were only these couple of commonly used actions I could think of (showSign and moveToArea).

Quote

So no script editor exists as of right now correct. Maybe this could be launced from the RunScript tab in the ZoneDialog, and the already defined actions could be in a list on the RunScript tab?


That would be really nice! I'm really looking forward to having a play with this new integrated IDE!

I must say, you're doing a fine job! I just wish the community could get involved before the project proposal is accepted!

Kev

Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #87 - Posted 2005-02-01 11:51:37 »

Quote
So if you perform the examine "operation" on the door the response would be showSign "action".


So how do players know what actions are available on an item?

And... Thanks for the compliments. I'm doing my best.

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Offline kevglass

« JGO Spiffy Duke »


Medals: 200
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #88 - Posted 2005-02-01 12:03:43 »

Quote

So how do players know what actions are available on an item?


Ah ha! I thought you meant designers before. If a player double clicks on a zone they get the default action (keyboard control - enter). If they right click on a zone (keyboard control - shift?) they get a little menu of possible actions to perform on a given zone...

Kev

Offline krypto

Junior Devvie




while(true) { self.caffeinate (); }


« Reply #89 - Posted 2005-02-01 13:15:04 »

Now it is getting clearer... sometimes I'm really dense.
Thanks Kev. Cool

JRPG Users -  General Users Site
JRPG Developers -  The JRPG Project's Home
Pages: 1 2 [3] 4 5 6
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Gibbo3771 (12 views)
2014-11-24 19:59:16

trollwarrior1 (35 views)
2014-11-22 12:13:56

xFryIx (74 views)
2014-11-13 12:34:49

digdugdiggy (52 views)
2014-11-12 21:11:50

digdugdiggy (46 views)
2014-11-12 21:10:15

digdugdiggy (40 views)
2014-11-12 21:09:33

kovacsa (66 views)
2014-11-07 19:57:14

TehJavaDev (70 views)
2014-11-03 22:04:50

BurntPizza (68 views)
2014-11-03 18:54:52

moogie (83 views)
2014-11-03 06:22:04
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!