Skip to main content
gamedev.net
🔒 Locked

Editor design questions.

Started by Etnu Jul 1, 2004 at 6:16 PM 4 replies 1k views
Original Post
Etnu
Etnu
Ok, I've been working on the editor for my engine (designed for strategy RPGs -- turn based or real time), and I've come to a critical design decision. Right now I've got my editor operating ala "Sim City" -- you have tools to raise, lower, level, push left, push right, etc. You can apply these deformations to either all vertices within a given radius, all matching materials within a given radius, all vertices (deform the whole map about the origin), all matching materials, or only the currently selected faces. You can also add faces using a few different primitives (sheets, cubes, and probably some others that I haven't implemented quite yet). This is simple enough. What I'm contemplating, however, is not quite so simple. Would people generally prefer something like this for maps of this type (mostly outdoors, and likely played from an overhead view), or would it be more intuitive to have a CSG type editor? I'm not really familiar enough with CSG to implement a fully-fledged editor just quite yet, but I understand the concepts well enough that I think I could do it given a few weeks (months...) The way I see it, there are a few advantages: - Easier to do BSP / portal culling. This really doesn't matter much since a simple octtree is good enough for occlusion culling in the current implementation. - By storing brushes, it's easier to quickly make "exact" changes to geometry, as opposed to the 'deform in x direction' style currently being used. - easier to adapt the engine to other gameplay styles (especially first-person). And a few disadvantages: - Lose the ability to do quick deforms about an arbitrary location in space. - Perhaps slower to develop levels of this type. So, what do you guys think? Should I keep going the way I have been, or should I try to implement a CSG-style editor? I suppose I could retain elements of both and give users the option of how they want to edit the geometry...but that'll likely make a mess of the code. Hrmph.
---------------------------Hello, and Welcome to some arbitrary temporal location in the space-time continuum.
iNsAn1tY
iNsAn1tY
The question you need to ask yourself is: do I need that extra functionality? From the sound of things, you're doing mostly terrain editing, and that terrain will be viewed from above. Will units be able to go underground? Will you need to cut things out of the terrain? Will you be making large interiors that people can go inside? If the answer to this is no, then you probably don't need CSG. Plus, you already half talked your way out of it by saying that it has no real advantage to you anyway, because you can use an octree, as opposed to CSG-friendly BSP. Also, "deform in x direction" is fine if changes don't need to be too precise.

On the other hand, if you want units to be able to go underground, you might need some mechanism to deal with that. C&C: Tiberian Sun has tunnels that you can send units into, but they're just hidden from the player until they emerge at the other end. Perhaps you could use a trick like that instead of using CSG?

Have you played Battlefield 1942, or C&C: Generals? (I know Battlefield is FPS most of the time). They work on simple terrain systems. In the Battlefield editor, you have a heightmap, then you just create flat areas where buildings are going to go, import models, and place them where required. C&C: Generals seems to work in a similar way.

I'd stick with what you have, develop your game and it's editor a little more, then check the game design again to see if CSG is needed. It probably won't be, if the assumptions I made above are correct...
My opinion is a recombination and regurgitation of the opinions of those around me. I bring nothing new to the table, and as such, can be safely ignored.[ Useful things - Firefox | GLee | Boost | DevIL ]
Etnu
Etnu
Yes, there are both indoor and outdoor environments (you might have to battle in a library, for example) -- the structure is similiar to Final Fantasy Tactics in that regard.

I'm fine with the development of the CSG interface, I'm just trying to see how users might ultimately prefer it, since I'd be releasing the editor along with the engine.

---------------------------Hello, and Welcome to some arbitrary temporal location in the space-time continuum.
vaneger
vaneger
how far along is the editor and what are you using to make it? im intending to make a RTS/RPG style game similar to FFT and this kind of thing could cut my development needs and tiem down a ton.
IFooBar
IFooBar
Quote:
Original post by Etnu
The way I see it, there are a few advantages:

- Easier to do BSP / portal culling. This really doesn't matter much since a simple octtree is good enough for occlusion culling in the current implementation.

- By storing brushes, it's easier to quickly make "exact" changes to geometry, as opposed to the 'deform in x direction' style currently being used.

- easier to adapt the engine to other gameplay styles (especially first-person).

And a few disadvantages:

- Lose the ability to do quick deforms about an arbitrary location in space.
- Perhaps slower to develop levels of this type.


Taking those pros and cons into account, I'd just keep on going the way I am. A very important point you mentioned is in the disadvantages area of the CSG type editor, the "Perhaps slower to develop levels of this type" one. If you are already on your way with the current editor and it is actually easier to develop levels in this editor then it is on the other, then I'd stick to this one. Unless, you definetly plan on using this engine for other types of games. If that is a surety, then I'd say go for the CSG style.
[size=2]aliak.net
Etnu
Etnu
It's not really intended for anything other than strategy games (and other genres that might use a similiar graphical style). It'd probably work well for Sports games, racing games, and a few others as well, I suppose, but it definitely wouldn't be suitable for a first-person shooter or the like.

I think I'm going for the hybrid approach. Although coding this is going to be a bit of a challenge, I think it'll ultimately pay off to enable CSG-style editing for man-made type geometry (walls and whatnot), and raise / lower style editing for 'natural' geometry (dirt, grass, etc.).

I'd go for the CSG-only route, except, well, have you ever tried creating natural looking hills in most CSG editors? It's even a pain in the ass in UnrealEd, and that's probably the best one out there.

---------------------------Hello, and Welcome to some arbitrary temporal location in the space-time continuum.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.