Create an account


Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Easy to configure *map* balance system

#1
Lightbulb 
This thread is mostly aimed at my fellow developers, just curious if and how it would be possible. --

Right now, in order to change the balance of a map (permanently) you need to edit the .map file itself to for example swap a health pickup with a weapon instead. This is easily a problem because in order for mappers to change the balance of their map, they have to recompile the whole thing just to make some small change. Another problem is that if we update the balance configuration and a map has a poorly balanced health distribution or weapon distribution because of it, we have to painstakingly edit that ourselves.. This can discourage us from editing things such as health balance and stops progress I think.

So my solution would be essentially this: Instead of placing the item entities directly on the map itself, we would create a database for each map which would contain an index of entities and etc. Then all we have to do is edit what the database spawns, and effectively allows you to completely replace the map balance without having to rebuild the map. This idea could be considered similar to waypoints, where you have a database of locations and waypoints which can be edited easily. If we went with the same approach as waypoints, we actually could even add an in-game editor for it. This would EASILY be fantastic for mappers who want to work on the balance together with other players. (inb4 stole idea from red eclipse)

One potential issue would be: Maps without the entity database may lack items (NOTE: It would still be possible to place items the "Regular" way, this wouldn't break backwards compatibility) -- A workaround would be to make netradiant place these marker entities and use this database system instead of placing real weapon entities directly on the map. Then when a map is compiled, it would automatically export the entity database file. (But again, still having the ability to place the entities the regular way) It also may be possible to use such a system to replace pre-existing entities, but i'm not entirely sure. If it is, that means we don't even NEED to recompile and replace entities on old maps - we can just edit them using the database. Though, doing that method would mean we couldn't change the origin of the entity. There's one huge advantage though -- Maps made for Xonotic are TOTALLY then not backwards compatible with Nexuiz Tongue So never will a Xonotic map end up back on Nexuiz unless someone recompiles the map and places item entities directly.

BTW, if .ent files can already be used for this, then we should expand upon that for this very purpose -- Create a front end to it and allow the .ent files to be loaded/unloaded dynamically. This allows you edit (within game) and to save them permanently with the map.

This is just an idea I came up with earlier when I was on my server with theShadow_ -- he wanted to change the map balance on his WIP "aqueous" and since we really didn't have any way to edit the entities directly and easily, we couldn't do anything.



I would probably be able to code it if this is actually possible/viable, but I won't even attempt it if people think it's a waste of time.

Thanks for your time, please let me know what you think.

#2
Oh my, I guess didn't fully understand what you meant earlier when you explained it to me, at least not to this extend. This would be great. I have no idea how, but I remember some people messing around on a server, spawning items and "grabbing" them and moving/throwing them around the map using some impulse bound to a key. This would work quite well for this, spawn items and place them wherever you want, save, play a match right away to see if placement is good. Might be nice to be able to save/load under different file names, would allow to test different item placement and go back if it doesn't work as well.

As for existing maps, if this system was in place maybe the map balance file could be generated by the game if one doesn't already exist? Ala mapinfo. Would then be easy to edit that file.

#3
About the recompiling: You can use [q3map2] -onlyents "[MapFile]", also found in NetRadiant.
This is very fast and works very well.

I generally don't like in-game editing (waypoints), it feels (and probably is) not very accurate.

However, it certainly would be interesting to outsource the entities.

Because several maps have specially marked spawn areas for the entities (shaders, models), I would prefer the idea of the marker entities. It then would also make sense to be able to name the markers, and maybe restrict them to certain entities (weapons, items).

I would also like to be able to place the bot waypoints this way (in NetRadiant), but that's another subject Tongue

#4
(02-12-2011, 05:25 AM)sev Wrote: About the recompiling: You can use [q3map2] -onlyents "[MapFile]", also found in NetRadiant.
This is very fast and works very well.

I generally don't like in-game editing (waypoints), it feels (and probably is) not very accurate.

However, it certainly would be interesting to outsource the entities.

Because several maps have specially marked spawn areas for the entities (shaders, models), I would prefer the idea of the marker entities. It then would also make sense to be able to name the markers, and maybe restrict them to certain entities (weapons, items).

I would also like to be able to place the bot waypoints this way (in NetRadiant), but that's another subject Tongue
That actually was my original idea for this (marker entities) but I figured this might be too restricting -- The idea was basically to have a file made which is an index of all the marker entities, and then you can just edit the file to tell one of the marker entities what it should be. THAT probably could be easier to work with... The problem with this is that you still can't move or create new entities from in game, BUT you actually could do just a whole bunch of marker entities and only set up a few of them. This way you could "move" a weapon just by putting it on a different marker.

But for the database method, this is actually what I had thought about for an editing system: Instead of having totally free moving, a grid could be made or something similar which aligns the entities when you move or place them. Another thing is that when you move them you can't screw up the angle they're placed in, unlike +button8

That editing system is contrary to the waypoint editing system, which certainly does suck for the most part. If we can create the best of both worlds (in game editor which is good + much better entity management) then that might be acceptable/useful.

Also: About doing bot waypoints in netradiant...... Hmm, not sure why that was never thought of Tongue Seems like it would make the job much easier for mappers.

#5
A grid system has the disadvantage that it will restrict the placement of the entities based on the mappers intentions:
[Image: vcuochga60nr6517xju.jpg]

What comes to mind is this:
- The mapper places entity markers in NetRadiant, possibly with a default entity assignment. (Which whould make it easy to convert existing maps)
- Compiling the map auto-generates (or updates) the .ent file.
- You could then (re)place entities freely in-game, but the markers act as snap-points. If dropped within a certain distance, the entity snaps automatically to the point intended by the mapper.

From a mapper's point of view, I would also like to be able to load the .ent file into the map in NetRadiant, this way I could accurately adjust in-game placements.

#6
(02-12-2011, 01:00 PM)sev Wrote: ...
Fair enough, but I should say quickly that the grid would be able to be disabled of course. It's just to help with placement -- but, even so, I think placement would never really be exact enough to the mappers liking. So yes, maybe just markers would be the way to go.



BTW, i'm not a mapper -- in fact, i'm terrible at mapping. This is why I don't know very much about it Tongue

#7
(02-12-2011, 01:00 PM)sev Wrote: - The mapper places entity markers in NetRadiant, possibly with a default entity assignment. (Which whould make it easy to convert existing maps)

Big Grin On second thought, the placement of entites in NetRadiant could stay the way it is now.
The compiler then simply regards placed entities as a markers with default assignments, instead of a definite placements of specific entities.

#8
Having something like the g_weapon_replace_bla for items and ammo would go along way.

If one wanted to swap out some items in a map they could do a set for type in the mapinfo with say
g_item_replace_health25 "health5 helath5 health25"
or g_ammo_replace_cells "cells nails"

#9
(11-16-2012, 11:37 PM)HellYeah Wrote: Having something like the g_weapon_replace_bla for items and ammo would go along way.

If one wanted to swap out some items in a map they could do a set for type in the mapinfo with say
g_item_replace_health25 "health5 helath5 health25"
or g_ammo_replace_cells "cells nails"

Yes, because random items make complete sense in competitive maps.

We have .ent files, they are exactly what Samual is asking for (a list of entities on the map that can be freely edited and that gets loaded with the map). Thread closed.



Possibly Related Threads…
Thread Author Replies Views Last Post
  What was easy for you in development? (Darkplaces and QuakeC programming) LegendGuard 2 2,593 08-08-2020, 05:25 PM
Last Post: LegendGuard
  A Garry's Mod / sandbox system MirceaKitsune 20 37,771 01-05-2019, 10:52 PM
Last Post: 3agle427
  Official Overkill balance martin-t 38 25,927 10-06-2016, 05:08 PM
Last Post: martin-t
  Custom Weapon Balance - Live on /v/ server Antares* 30 19,211 09-30-2016, 11:52 AM
Last Post: Antares*
  Spawn system Mirio 57 41,091 05-28-2016, 03:49 AM
Last Post: Smilecythe
  Balance changes?! Mario 15 14,780 05-10-2015, 06:19 AM
Last Post: FruitieX
  Bone based damage system (feature vote and debate) MirceaKitsune 42 45,074 05-17-2012, 01:29 AM
Last Post: CuBe0wL
  How do I use the newer 48 slot weapon system? May Epper 1 3,800 04-20-2012, 01:28 AM
Last Post: Mr. Bougo
  Automated build system update Nitroxis 1 4,194 06-11-2011, 02:18 PM
Last Post: Cortez666
  Automated Xonotic Git build system Mr. Bougo 72 87,004 01-27-2011, 08:20 PM
Last Post: Samual

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-