stelic / limitload

Limit Load is an arcade cockpit flight game with story-driven campaigns.
http://www.limitload.org
Other
26 stars 2 forks source link

Level design tools #9

Open DMJC opened 6 years ago

DMJC commented 6 years ago

What tools exist to design levels for this game? And what tools exist to design aircraft models/cockpit models?

stelic commented 6 years ago

There is no graphic editor, everything is done through the code. I wrote a detailed manual for scripting missions. It's "scripting.rst" file in doc dir.

Sadly, it can be a real chore, when you want to add some object in the world at spcific coordinates. Many position and hpr functions (like, pos_from_horiz) in misc.py are used to mitigate that to some extent.

stelic commented 6 years ago

Oh and as for the tools for modeling, I suppose any 3d modelling program will do, that have support for exporting models into *.egg files.

https://www.panda3d.org/manual/index.php/Converting_from_Blender

I use Blender myself.

With that said, models must have certain organization. Whole model properly centered, then proper mesh groups, mesh group names, parents, centers of rotation, etc. Also, a model is needed for each LOD of particular object. It is the best you open one of the jets in blender from here...

http://www.limitload.org/resources/

...and see for yourself a typical organization (mesh group names, what is parented with what, and so on). I would say it's easy to understand.

DMJC commented 6 years ago

Have you ever looked at creating a graphical editor for missions? The way I would do it is to get the game engine to load inside a gtk or qt window, and turn off the game's ai processing. Reuse the engine code to handle the drawing of the objects and then build a gui around your scripting language. QTFred for Freespace 2 is a great example of how to do this. https://github.com/scp-fs2open The concept of Simple Expressions (sexps) to write game code could be adapted to almost any game. As you stated the 3d model format can be exported from Blender which is fine. Blender can import/export from any other 3D modeller you'd expect people to use.

stelic commented 6 years ago

We were pondering in the past to implement a tool that would serve as quasi-editor, to ease positioning of the objects, and there may be something that might work. But there are some more important things to finish first.

Thanks for the tip, will check this example to perhaps pick perhapse more ideas for this :)

poVoq commented 6 years ago

I still think this project would greatly benefit from an integration with this: https://github.com/Moguri/BlenderPanda The node based editor would probably be also great for easy visual mission scripting.