27 Dec, 2010, KaVir wrote in the 21st comment:
Votes: 0
DemiGod said:
I would prefer to keep most rooms as single rooms. Certain rooms, however, will incorporate the idea of having a window in a building able to look down, snipers on mountain sides, etc. Distant players or mobiles, essentially. In the main room, and in other "standard" rooms, objects would be placed that have coded properties that allow you to take cover.

That sounds more like a hybrid system to me - a room-based mud, with rooms maintaining their own internal coordinates. Is that what you've got in mind?

If so, how will you handle the transition between rooms and coordinates when a player is moving around?
28 Dec, 2010, DemiGod wrote in the 22nd comment:
Votes: 0
What if the coordinates of the courtyard are split int 3x3.

[x][][c]
[][y][]
[][][z]

The players in the courtyard only sit in the Y coordinate of that matrix. The window is the X coordinate and the tree is the Z coordinate. Each room is designated with certain player attack/defense modifiers that give a feeling of having advantage or disadvantage. The tree, perhaps would render you invisible to the other coordinate unless you went to it or shot at it. The car could be in the C coordinate which would have similar effects as the tree plus +20 defensive strength. The X coordinate [building window] could have an invisible property to the other coordinates as well as a +20 attack strength.
28 Dec, 2010, DemiGod wrote in the 23rd comment:
Votes: 0
Going up into the building and reaching the room with the window will require walking through 10 rooms which finally places you back into the X coordinate of room 1 .

[room 1 = courtyard]
28 Dec, 2010, Cratylus wrote in the 24th comment:
Votes: 0
wat
28 Dec, 2010, Ludwig wrote in the 25th comment:
Votes: 0
28 Dec, 2010, KaVir wrote in the 26th comment:
Votes: 0
That doesn't really sound coordinate-based at all, it's more like those muds that define subsections within rooms - like in some RPIs where you can sit down at a table in the tavern and talk with other people sat at the same table, but you can still hear other people in the tavern (and they in turn can try to eavesdrop on you).

You should be able to do it with furniture, just make a few changes so that you can hide behind it, etc.
28 Dec, 2010, DemiGod wrote in the 27th comment:
Votes: 0
Thanks Kavir, I'll see if I can approach it that way.
28 Dec, 2010, David Haley wrote in the 28th comment:
Votes: 0
Whether or not you need coordinates here depends on how much you care about position. Yes, you can just "hide behind" a car or table as KaVir suggested, but then you've lost the fact that if I circle around the car you're not hiding behind it anymore. So, if you care about things like that, you need at least basic notions of position beyond simply "hiding behind" the car. Whether or not you care depends on your game design.
28 Dec, 2010, DemiGod wrote in the 29th comment:
Votes: 0
I think we developed a system that will take care of all that just by using objects. Thank you for the heads up.
28 Dec, 2010, Cratylus wrote in the 30th comment:
Votes: 0
DemiGod said:
I think we developed a system that will take care of all that just by using objects. Thank you for the heads up.


How do you do it?

I'm curious to know how you solved this problem without coordinates.

-Crat
http://lpmuds.net
28 Dec, 2010, David Haley wrote in the 31st comment:
Votes: 0
Yes, I think many people would benefit greatly from knowing how you did that… a lot of people want positional cover information without having to implement positional location data, so if you don't mind sharing it'd be helpful.
28 Dec, 2010, Scandum wrote in the 32nd comment:
Votes: 0
It's fairly easy to avoid coordinates if you store how (from a central viewpoint) someone is hiding: hide inside car, hide behind car, hide under car, hide on top of car. Then someone could enter 'look on top of car' to see if anyone is on top of it.

It'd be a relatively easy upgrade from classic furniture enhancements. A weapon upgrade could allow entering 'throw grenade under car' and splash damage could calculate the damage for surrounding locations on the furniture object, then splash damage spread to the central location, then further spread to surrounding furniture.

Ranged attacks should probably reveal where the attack is coming from 'Someone fires a crossbow at you from under a burned down car.' upon which the other person can move under the car for a fist fight, or hide behind a trash can and enter 'aim shotgun under car' followed by 'fire', possibly crouching to get a better angle. If someone is behind a car one could crouch and fire under the car, or climb on top of the car in order to shoot behind it.

Possibly 'beside' could be additional location that gives better access to someone behind the structure. Two soldiers could continuously move beside, under, on top, and in front of the car, while exchanging shots at the location they belief their enemy to be at. Booby traps could be left as well. If 'beside' is too generic to add a full sense of position one could add 'to the left' and 'to the right' of an object, this once again as seen from a central position in the room.

Dealing with splash damage and visibility is probably the tricky part of the implementation, as a scan (or just a good old look) on top of a car might automatically reveal that someone is crouched behind it.

The room itself could be treated as furniture as well, allowing the placement of objects to the left, right, under, above, behind, and in front of the central location. The only real fine tuning would be the size of the object (tiny small medium large huge) with climbing on top of something a trashcan not hiding you from a medium sized creature, while climbing under a huge truck wouldn't decrease visibility much either unless looked at by a huge person.

Doing this in a coordinate system is possible as well, but then you need a whole translation layer to describe 'more or less' the same scenario.
28 Dec, 2010, David Haley wrote in the 33rd comment:
Votes: 0
If you hide behind the car, and I walk around the car, you are no longer behind the car: you're right in front of me…

You can approximate this stuff, and whether or not you care about detailed positional information is again up to the game design, but it is unclear to me how you can have both lack of coordinates and full positional information.
28 Dec, 2010, Scandum wrote in the 34th comment:
Votes: 0
You can't walk around the car, though you can interact with the car to move behind it, and a decent engine would display this correctly. An engine might allow you to move to the same location (left side of the room?) as the car, though this probably shouldn't change much other than perhaps a bonus to looking at objects in the same location.

Now to what degree you can detect people on other furniture might be somewhat of a challenge with this setup. One engine might treat the backside of two cars in the left section of the same room as identical, another might treat it as near identical with a concept of distance (less damage if you fire a shotgun at someone in the same location but on a different object).

The logic gets complex, but probably not as complex as a full coordinate system with the same level of interactivity.
28 Dec, 2010, DemiGod wrote in the 35th comment:
Votes: 0
Scandum is on the right trail to what we came up with. I will definitely fill you guys in when we have it in motion and can actually demonstrate it.
28 Dec, 2010, Cratylus wrote in the 36th comment:
Votes: 0
DemiGod said:
Scandum is on the right trail to what we came up with. I will definitely fill you guys in when we have it in motion and can actually demonstrate it.


No need, really.
29 Dec, 2010, Runter wrote in the 37th comment:
Votes: 0
As was said here already it depends on what you want to do. I've worked on hybrid spatial systems that were quite simple, yet powerful…for what I was doing. Some of these decisions include requirements of dimensions, collision, physics, containment, line of sight, etc. The way you model things directly is of consequence how simple or complex (or even possible) the implementation of these features will be. For example, it makes little sense to have a very complex model if all you want to do is a traditional mud room based system. From your description (although I may be misunderstanding) it sounds on the simplistic side.
29 Dec, 2010, David Haley wrote in the 38th comment:
Votes: 0
Scandum said:
You can't walk around the car, though you can interact with the car to move behind it, and a decent engine would display this correctly. An engine might allow you to move to the same location (left side of the room?) as the car, though this probably shouldn't change much other than perhaps a bonus to looking at objects in the same location.

What does it mean to move behind the car? How does the engine know where I am with respect to the car if there are no coordinates, even just relative to the car? If I move to the left side of the room, how do I know if I'm where the car is, or is the tree between me and the car? How far left in the room did I go – enough to be past the car? Can the person hiding behind the car then switch sides? How do you know what side you're on with respect to other people in the room?

How does all of this work when you have not two but four people in the room?

DemiGod: maybe you don't care about the questions above, and you don't want to model complex spatial interaction. It is perfectly fine to not model complex spatial interaction (as long as you're aware of the consequences of your choices, of course). However, you said that you solved all of these problems without using coordinates; that is a very surprising statement to people here hence the questions.

In any case, you said that you have a system already designed to address this. Can you talk about it? There would be value in it even without a working demonstration. Since you came asking for others for their experience, feedback and ideas, I think that it would be nice to share your own experience.
29 Dec, 2010, Scandum wrote in the 39th comment:
Votes: 0

Lets assume you have a coordinate system and have all the information, how are you going to display this non graphically? Something like:

You see a burned down car seven feet north-west of you with Heidi crouched down on the asphalt road one foot east of it. A tree grows twelve feet south of you with Bubba sitting in its branches twenty-two feet above the ground. Arnold stands six feet south-west of you smoking a cigarette. A gold watch lies two feet east of you on the asphalt road. Pamela is squatting down in the bushes thirty feet north of you.

This sounds simple, but figuring out that Heidi is crouched down besides a car, and that Bubba is in a tree, that Arnold is just standing there, and that Pamela has her bush in the bushes, is quite difficult. So you'll likely end up with:

Heidi is crouched down six feet north-east of you. Bubba sits twelve feet south of you. Arnold stands six feet south-west of you. Pamela is squatting down thirty feet north of you.

Very awesome.
29 Dec, 2010, DemiGod wrote in the 40th comment:
Votes: 0
The system is not attempting to gauge the exact location of players - you may feel that it is not complete, but we don't feel the need for that level of accuracy in a text-based game. We are still adding values and variables to it, though it will primarily be working with the idea of cover or no cover.

If there is an object in the room, you can take cover behind it. That changes your players' status to "behind cover of X". The mobile now will update its "vision" to see you behind X. The variables that are in effect at this point are simple defensive and offensive changes to two shooters, a "hiding or not hiding behind cover" variable - meaning you can hide completely or shoot over the hood, for example - and other variables that affect splash damage and so forth. A flank command by the mobile will simply negate the effect of the player being behind cover. You obviously won't try to take cover on the side of object that the mobile is on.

I'm not listing everything because it's not a fully developed system yet and there could be flaws or variables we still need to implement. The point is to demonstrate a system that will allow cover without having to be so specific about where EXACTLY in space you are. I realize that does not take care of every aspect you mentioned, but it will do quite nicely and be simple enough, yet intuitive enough, to be fun for the player.
20.0/51