Adding Support for .map
Files
#4291
Closed
RolandMarchand
started this conversation in
Features
Replies: 1 comment
-
https://discord.com/channels/426912293134270465/474679851018616833/1277699813864902728:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello everyone,
I'd like to start a conversation about adding support for map files to Raylib.
For those who may not be familiar, a map file is a text-based format used in classic games like Quake and Half-Life to define level geometry, entities (such as lights, NPCs, and triggers), and world data (such as map names, file paths, skyboxes, ambient light, and sound). These files describe the structure and content of game levels using brushes or meshes.
Typically, game engines don't use map files directly but compile them into formats better suited for rendering, like bsp or obj files, the latter already being supported in Raylib.
Why add map support? One of the key reasons is workflow efficiency. map editors like TrenchBroom are highly effective for level design, offering a user-friendly and convenient toolset for creating game environments.
For comparison, Godot, another popular game engine that lacks a built-in level editor (similar situation to Raylib), has seen significant success with an add-on that brings map support through Qodot. Users have reported a positive experience with this workflow, which highlights the potential benefits for Raylib as well.
Currently, I’m working on implementing map support in my own prototype engine, and the MAP parser is nearly complete. If there's interest, I'd be happy to port my map library to Raylib and submit it as a pull request.
We should evaluate the feature set supported by map files, as our approach could range from simply converting to obj to also incorporating lighting and trigger events. In my engine, I aim to support nearly all features of .map files, including entities.
Looking forward to hearing your thoughts!
Beta Was this translation helpful? Give feedback.
All reactions