"Portals Revisited" - By: Pepsi

Blitz3D Forums/Blitz3D Programming/"Portals Revisited" - By: Pepsi

Rook,
Reference: PORTAL PAL???

that would be here:
http://www.blitzbasic.com/Community/posts.php?topic=34893

Frank,
I think it's more up on user friendliness of the editor's GUI & controls which can make something hard or not. As an example, the most basic way I can think of to place a portal in a section is to pick a triangle around the doorway where the portal would go and then pick a vertex point of that triangle. After that, pick the next triangle next to the doorway and pick a vertex point of that triangle and so on. Keep doing that until you have selected all the needed vertices which would make up the portal in which would fit nicely in the doorway. Those vertices would be selected in a clockwise order to be saved out and loaded in the game so we can rebuild the portal mesh to use. Yes, that could get tedious, but to me it would be just as tedious in actaully making a level the way you want from a rough draft.

I have figured out a nice method where I can actaully pick any given vertex, click the mouse button once and have a selection of possible portals in which wouldn't be that many portals made for just one vertex. Things like that can make portal placement a whole lot easier. For levels like quake or unreal levels where you have a limit of a size, I have another method where I can take a single mesh level and scan between placed portals to automatically create & seperate the sections and write out needed portal information. Just haven't code that stuff yet.

Yes, I consider myself a noob at level design too. Heck, I'm happy if I can turn out something halfway descent with Maplet in which Gile[s] can save the day for me! :) All I can say is that it will take practice to gain any experience necessary to get use to portal placement just as with any other tool you that you would have to figure out and use.

Automated Portal Placement is definetly something advance in the undertaking to develope. I'll simply stay away from it because I feel like I would do a better job with manual portal placements. This secluded portal method is more designed for manual placements to make sure that the portals can not see each other. Secluded portals for a BSP/Auto-Placed Portal System would, IMHO, add nightmarish complexity to develope it. If you can make such a beast, I would only imagine you being in heavonly bliss that you achieved such a task.

Again back to level designing for us noobs, we just need to learn by experience that adding more "detail" to the structure of the sections, adds more polygons. I do think that CSG operations have spoiled level designers. I had decided that I don't like CSG operation based onthe fact that they do indeed create more unnecassary polygons and can lead into not creating correct geometry if not implemented right. It's nice to help speed up level building, but I think nicer level design can be achieved without it's blocky carving and filling. Just IMHO though as I'm not a pro level builder/designer or anything close to it...

I will agree that LOD is wonderful at reducing frame rates. But I have decided for myself that I will not touch LOD algorithms unless mabie for character models. I have this mental problem where I get this passionate hatred in a game when I see the terrain pop in and out. No matter if I can barely see it in the fog. It shoots down whatever realism that non-lod terrains or non-lod indoor meshs brings. But, I'm just picky like that. Obviously, without LOD, the level designer needs to limit the number of polys for each level section to keep a healthy frame rate. Experience will rule the day.

Those are definetly good points you brought up. Hopefully whenever I get this done and release the source code, one can add more to it like LOD systems and whatever else to fill the needs for his/her own project design. Right now, I'm trying to stick to the basics. Again, I really want to do this and get it done soon as I know people like to SEE the talk in action instead of listening to it. :)