Develop a map template scene (based on Map.tscn) #110

Closed
opened 2021-11-21 15:03:00 +01:00 by unfa · 6 comments

All maps should follow a common structure and inherit from a template scene, otherwise mapping will be very chaotic and there will be no consistency between maps.

Map.tscn should be a good starting point. Everything that is map-design specific should be taken out, and only things that are common should stay.
Locked-down Node3Ds with appropriate names should be usedto organized different categories of nodes in the map scene. Thinkgs like:

  • Camera (the default camera used when not playing)
  • Environement (node with default world settings - take from Map.tscn)
  • Geometry (visible and colision for visible geo)
    • Blockout (CSG nodes with dev textures used to do initial work on the map layout, before it's exported to Blender and given the finial look - it will the nreplace this
  • Props (instanced static objects to decorate the level)
  • Decals (static decals to decorate the levels)
  • Lights (default sunlight should be present, all static lights go here)
  • Effects (dyamic lights, fog volumes, particle effects, ambient sounds)
  • Zones (Area3D nodes for water, low gravity, airflow, conveyour belts etc.)
  • ReverbZones
  • Spawnpoints (we need to determine what team can use a spawnpoint - this should be turned into a custom node)
  • Triggers (invisible triggers for thing like map objectives, environemnt hazards, maybe lifts doors or traps in the future)
  • Movers (moving lifts, doors, platforms or just animated elements of the level. Theese may need need their own collision, navmeshes or waypoints etc.)
  • AI (static navmeshes, waypoints, special information for bots - where to take cover, where to jump, where to jetpack etc)

Did I forget anything? We'll most likely need to iterate on this.

All maps should follow a common structure and inherit from a template scene, otherwise mapping will be very chaotic and there will be no consistency between maps. `Map.tscn` should be a good starting point. Everything that is map-design specific should be taken out, and only things that are common should stay. Locked-down Node3Ds with appropriate names should be usedto organized different categories of nodes in the map scene. Thinkgs like: - Camera (the default camera used when not playing) - Environement (node with default world settings - take from Map.tscn) - Geometry (visible and colision for visible geo) - Blockout (CSG nodes with dev textures used to do initial work on the map layout, before it's exported to Blender and given the finial look - it will the nreplace this - Props (instanced static objects to decorate the level) - Decals (static decals to decorate the levels) - Lights (default sunlight should be present, all static lights go here) - Effects (dyamic lights, fog volumes, particle effects, ambient sounds) - Zones (Area3D nodes for water, low gravity, airflow, conveyour belts etc.) - ReverbZones - Spawnpoints (we need to determine what team can use a spawnpoint - this should be turned into a custom node) - Triggers (invisible triggers for thing like map objectives, environemnt hazards, maybe lifts doors or traps in the future) - Movers (moving lifts, doors, platforms or just animated elements of the level. Theese may need need their own collision, navmeshes or waypoints etc.) - AI (static navmeshes, waypoints, special information for bots - where to take cover, where to jump, where to jetpack etc) Did I forget anything? We'll most likely need to iterate on this.
Poster
Owner

Not sure how we'll handle skyboxes.
I like the 3D skyboxes that idtech and Source engine uses.
And I think these should be possible in Godot pretty easily, but I never managed to do it...

Not sure how we'll handle skyboxes. I like the 3D skyboxes that idtech and Source engine uses. And I think these should be possible in Godot pretty easily, but I never managed to do it...

One more thing would be having an "objective" scene. We could then inherit this scene to add different kinds of objectives, like "capture the flag" and "payload" and stuff like that.

One more thing would be having an "objective" scene. We could then inherit this scene to add different kinds of objectives, like "capture the flag" and "payload" and stuff like that.
Poster
Owner

That's right. We could also maybe crate a spawnroom scene and have 2 (for two teams) placed by default in the template.

I imagine a spawnroom could be defined by a box or a plane where the game would randomply pick a location on unless it's occupied already. Isn't this how it works in TF2?

That's right. We could also maybe crate a spawnroom scene and have 2 (for two teams) placed by default in the template. I imagine a spawnroom could be defined by a box or a plane where the game would randomply pick a location on unless it's occupied already. Isn't this how it works in TF2?
Collaborator

In tf2, you create the individual spawnpoints manually in the same manner we have now...only they are team oriented.

then, around the room intended to be the spawn point you draw an 3d entity box spawnroom covering the whole space.

The function of that entity is to:

block enemy players from entering the room

give insta spawn to a player that decides to change classes while in the room

drop the "flag" if a player is carrying it in ctf.

and doesn't allow engineers to build inside, if I'm not mistaken.

Another noticable feature of a spawnroom in tf2 is the presence of doors that will open only for the team that spawns there...otherwise it would rain rockets and grenades inside from afar.

In tf2, you create the individual spawnpoints manually in the same manner we have now...only they are team oriented. then, around the room intended to be the spawn point you draw an 3d entity box spawnroom covering the whole space. The function of that entity is to: block enemy players from entering the room give insta spawn to a player that decides to change classes while in the room drop the "flag" if a player is carrying it in ctf. and doesn't allow engineers to build inside, if I'm not mistaken. Another noticable feature of a spawnroom in tf2 is the presence of doors that will open only for the team that spawns there...otherwise it would rain rockets and grenades inside from afar.
ardem closed this issue 2021-11-27 22:31:41 +01:00
ardem reopened this issue 2021-11-27 22:32:09 +01:00
Poster
Owner

The basic map template is done now, I'll augment is progressively using the notes above.

The basic map template is done now, I'll augment is progressively using the notes above.
unfa self-assigned this 2021-12-07 04:26:24 +01:00
gilgamesh added the
enhancement
label 2021-12-14 15:21:16 +01:00
Poster
Owner

I'd say this is done fro now. Maybe not with all features listed, but they will be added as needed one by one.

I'd say this is done fro now. Maybe not with all features listed, but they will be added as needed one by one.
unfa closed this issue 2022-01-03 15:28:16 +01:00
This repo is archived. You cannot comment on issues.
No Milestone
No project
No Assignees
3 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: unfa/liblast#110
There is no content yet.