AtomicGameEngine / AtomicGameEngine

The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
Other
3.17k stars 563 forks source link

Support for external BSP/CSG based level creation tools #714

Open HeadClot opened 8 years ago

HeadClot commented 8 years ago

So there are allot of level creation tools out there for Quake. Most of which are free, open source and/or are cross platform. All of them support the .map format.

Opposed to writing a custom BSP/CSG tool for the atomic game engine why not create a importer for .map format levels for atomic game engine?

What are the benefits?

  1. Level Designers and artists can create levels quickly with out a 3D modeling application and get them inside atomic quickly and easily.
  2. Time saved by using existing tools and battle tested technology used to ship games that is already open source.
  3. The format is well documented and can be easily implemented link
  4. We get a bunch of robust level editing toolsets for free that people are already familiar with.

So what should this "Importer" do?

  1. Import level geometry / Brushes from the .map file
  2. Preserve UV Coordinates and texture placement within the map.
  3. Import the textures that are in use inside the .map file
  4. It should remove faces with "no draw" on them. (Optimization)

What should the "Importer" NOT do?

  1. Import game play specific entities (These can be defined in the atomic game editor)
  2. Import game play specific volumes (These can be defined in the atomic game editor)

To finish this feature request off I am posting an image of something that I am made with the Hammer Level Editor. I am a novice level designer an I made a some what good looking replica of the Lincoln Memorial as a test for this feature request. I have used hammer once or twice in the past and I am no pro with it. But this should show you how beneficial such tools can be.

Image

JoshEngebretson commented 8 years ago

Hey @HeadClot

I am really keen to support CSG editing with radiosity lightmap workflow. Have you seen Trenchbroom? A new version was released just last week which levels up the editor significantly. Let me know what you think if you check it out. The download comes with some great docs, that the site is currently not showing:

http://kristianduske.com/trenchbroom/

screenshot

HeadClot commented 8 years ago

Hey @JoshEngebretson - I have seen and used trenchbroom just not the new version that was released a week ago. By radiosity light map workflow do you mean Global Illumination or just regular light maps?

Calinou commented 8 years ago

Keep in mind that Trenchbroom is a map editor for Classic Quake, which comes with a very limited map format. Quake 3 Arena's BSP is much more powerful, and is used in a lot of open source games.

JoshEngebretson commented 8 years ago

The new version supports Q1 and Q2, the main difference with Q3 being patch support, which I am confident Trenchbroom will get when Q3 support is added. It would also be easy to process maps in q3map2 instead of the Q1/Q2 process tools. Trenchbroom's code is really clean and according to mappers, has great workflow.

BTW, I ported Quake2 to Urho3D's renderer at one point, pvs is still important for pixel fill limited materials/devices:

https://www.youtube.com/watch?v=_eSRhcfeb_U

:smile:

HeadClot commented 7 years ago

Ok, So I checked out trenchbroom 2.

I love it.