Jump to content

RANDOM MAPS: Suggestions, Bug reports and Ideas about random maps here.


 Share

Recommended Posts

I know this thread is for random maps, but there isn't a scenario thread and things seem to get dealt with when posted here.

To my knowledge, the scenario Laconia still uses the old version of the Spartiā́tēs in the starting army that is supposed to get massacred.

IIRC, those are Hellenistic Spartan pikemen.
Also, units don't seem to be able to reach the top of the southwestern acropolis in some versions of the scenario Acropolis, specifically Acropolis 2, 3, and 5, when there is an unfinished Greek temple or treasure on top of it.

Those are there for eye candy, IIRC.
Link to comment
Share on other sites

  • 1 month later...

(Continuing discussion from http://www.wildfiregames.com/forum/index.php?showtopic=17185&st=60#entry267877)

Though that might me more of a topic fitting http://www.wildfireg...showtopic=16242 :

I don't like to have a similar amount and distribution of resources on all maps. I like variety. Indeed I'd like to have at least one map that only got wood (and maybe some food). Stone and metal would have to be traded than.

That's terrible for multiplayer. Unless you don't want random maps to be played in multiplayer (only the yet-to-be-implemented skirmish maps), there NEEDS to be resource balance for all players. As for different maps having more or less of specific resources, yes, that's fine (there could be a high wood but low stone map) as long as the resources are equal for all players. It can't be too extreme though, or else certain maps start to heavily favor certain civs: in your example, that map would be much better as the Gauls than as the Romans.

Link to comment
Share on other sites

Are all occurences of "trees outside the map scope" fixed now? Because I've seen some trees outside the map of gulf of bothnia in my build from April 5th.

Also, every now and then, a berry bush appears inside a stone or metal mine, and workers from the AI desperately want to get it.

I do launch my games from command line lately, if that makes a difference (regarding the allowed map sizes etc, although I normally use the default map size)

Edited by sanderd17
Link to comment
Share on other sites

(Continuing discussion from http://www.wildfireg...=60#entry267877)

That's terrible for multiplayer. Unless you don't want random maps to be played in multiplayer (only the yet-to-be-implemented skirmish maps), there NEEDS to be resource balance for all players. As for different maps having more or less of specific resources, yes, that's fine (there could be a high wood but low stone map) as long as the resources are equal for all players. It can't be too extreme though, or else certain maps start to heavily favor certain civs: in your example, that map would be much better as the Gauls than as the Romans.

What I meant is:

- There should be a bunch of maps optimized for multiplayer. Those should grand the players access to all resource types and all of them should be equally hard to reach for all players. Those maps are often symmetric. Due to the focus on playability those maps tend to be quite similar and unrealistic in landscape and resource derivation though.

- There should be some maps focusing on realistic landscape and/or resource derivation as well as some maps that grand not "sufficient" access to all types of resources for multiplayer games (I think however the second this is more a question of taste than on playability). Those maps can be separated in another category like "others" while the others might go to "MP optimized" or something.

Link to comment
Share on other sites

  • 1 month later...

in RMS map is possibly can have options like have:

  • in game session info map. Features of map. like Mining resources, food resources.
  • Random Civilization sorted by: Maritime power, Great Empires, Tribal Civilizations, Greek States.. etc to people can like random but dont like all kind.
  • Save preferences or last settings to don't waste time configurating the RMS map for each match.
  • Geological Sorted map: Desert type, Forest, Mountain and high Hills etc.

And Give to Scenarios set Maximum Population option.

Edited by Lion.Kanzen
Link to comment
Share on other sites

For some reason RMS in %HOMEPATH%\Documents\My Games\0ad\mods\public\maps\random (on windows) don't show up in Atlas any more since revision 13483 (the autobuild). So one of the previous patches might have broken it.

Any suggestion what might cause that?

Edited by FeXoR
Link to comment
Share on other sites

The dev.cfg in binaries/config/. You could either move your maps to a new mod and append -mod=whateveryourmodiscalled or delete the dev.cfg (to prevent the game from finding the file and svn up replacing it, you should just create a dev.cfg.DELETED file next to it).

Link to comment
Share on other sites

  • 2 months later...

Whenever I try to adjust water height in the Atlas editor it crashes after a few seconds, with no visible changes to water height.

Clayton, this thread is only about random map scripts, not about Atlas. Any relation with this: http://trac.wildfiregames.com/ticket/2114 ? Or with other existing Atlas bugs. If not, can you find a way to reproduce it, and make a ticket in trac?

Link to comment
Share on other sites

Clayton, this thread is only about random map scripts, not about Atlas. Any relation with this: http://trac.wildfire...com/ticket/2114 ? Or with other existing Atlas bugs. If not, can you find a way to reproduce it, and make a ticket in trac?

Sorry, the title is a bit misleading; "Suggestions, Bug Reports...", I thought it was concerning the map editor itself.

Link to comment
Share on other sites

  • 2 weeks later...

General heightmap manipulation question
In all the heightmap manipulation I work on most of the time the heightmap is parsed from one function to the other and deepcopy(heightmap) is used quite often.
This is not the fastest thing to do and needs more memory than directly applying the changes to g_Map.height.
On the other hand this is more suitable for experimenting with the heightmap, all those functions have return values (to be used as seen fit by the code calling it) and in case of generating multiple maps in one script (AFAIK not possible yet) it would not be otherwise possible (and it's still less memory intensive than parsing a whole "Map" object).

So the question is: Do we want the hightmap to be parsed or do we want all the functions to manipulate g_Map.height directly?

A third option would be to add all the terrain manipulation functions as prototypes to the "Map" object and follow object oriented programming style (which would make the function names more cryptic/longish/unreadable though).

Edited by FeXoR
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...
  • 3 weeks later...

I have a bug to report in Alpha 15 on Cantabrian Highlands, the ramp didn't form properly for the AI's starting position. The save game where the problem occurred is attached. And is there anyway to get the towers version of the Iberian circuit walls on maps such as Cantabrian Highlands to always frame the ramp instead of sometimes being right in the middle of the ramp?

savegame-0001.zip

Edited by Zeta1127
Link to comment
Share on other sites

  • 2 weeks later...

i have a huge bug on random map:

* Random map: Persian highlands, Giant

* reveal: No

* units 18 "9 mine 9 enemy"

resource 3.000 "in all resources"

pop cap "unlimited"

teams, unlocked

speed 1

the bug means that the progress bar is frozen at 100% but the render of map only arrives 5 minutes later

Edited by newcivs
Link to comment
Share on other sites

  • 3 weeks later...

@Zeta1127 about the Iberian Wall:

It's possible. I'm busy ATM but I'll look into it (and other things) in about a month.

However, it's quite likely that the base would not grand enough space with walls and walls (or buildings in general) near/on cliffs cause problems.

I guess the Cantabrian Highlands start location hills are randomly shaped clumps. The shape is not predictable and so the walls have to be placed with care.

Also the unit drop points of wall towers have to be fixed first. Otherwise un-garrisoned soldiers will likely spawn in the area between the wall and the cliff.

@wraitii about polygonal graph heightmapgeneration:

At first glance the process looks quite computational intensive. I'll check in the semester break.

I noticed an inconvenience in Atlas heightmap import function:

- JPEG files generate waves at rough cliffs due to compression

- PNG files are not correctly importet (or at least not all, e.g. post-14196-0-33651600-1390475904_thumb.p)

Edited by FeXoR
Link to comment
Share on other sites

  • 6 months later...

Proposal for the randomBiome overhaul:

randombiome.zip

@ Spahbod:

We obviously have to find out what you though when you added e.g. '"12-13":Other miscellaneous terrain textures.' and find some more telling names.

I'm not sure if I really whant to get involved in this but it would REALLY help if you don't ever dare to add something like this to a RMGEN lib...

If it's not ready just keep it in your map and after it is suitable as a lib extract it to a lib... but PLZ not before!

(Because otherwise it gets used and the change becomes a lot harder...)

So if we find some telling names I will continue ^^.

P.S.: IMO the tree actor should only be a temporary solution (This is cause by a bug in the unit and player AI and so it should be fixed there in the end).

We really should stop "working around bugs" (no matter if caused in RMGen) so they are noted as those and get fixed.

Edited by FeXoR
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Proposal for collision detection (THX much Itms for adding template data loading from RMGen):

collision_detection.zip

ToDo:

- Add collision detection for gates

- Return the blocking entity IDs (and eventually remove those entities, ATM it just warns then)

- Extract the part from Map.addObject() to a standalone function e.g. addObstruction() returning a list of entity IDs it's blocked by

- Decide what's to do if something is blocked by something else in general (if such a decision seams reasonable)

- ATM it needs quite long to check rectangular objects and (proper) walls are always blocking the adjacent wall parts (So what's to do here?)

- Decide what scale to use (ATM it's 1 meter, simulations collision detection is 1/2 meter, terrain tiles/RMGen scale is 4 meters... Larger scale means less precision but faster checks OFC. Scale can simply be changed by changing Map.obstructionGridSizeInMeters)

Any ideas welcome!

Edited by FeXoR
  • Like 2
Link to comment
Share on other sites

Here's the patch for collision detection and as "standalone" as possible:

rmgen_collision_detection.diff

The entity IDs are stored in the collision grid and are returned if something is to be placed but collides.

However, I didn't find a safe and fast way to find the blocking entity by ID (is in g_Map.objects or in g_Map.terrainObjects).

So if anyone knows how to do this (without going through the entirety of both lists) or what the IDs are for in the first place, plz let me know.

This would be extremely illuminative...

EDIT: Like suggested by sanderd17 I'll add a function that can be called with the actor string, the position and the angle to check for collision without actually placing anything (so a temporary abstract object is generated but not placed)

However, to generate the obstruction map the collision check has to be called every time an object (with obstruction, checked in the function) was/is about to be placed.

It might be better to just log collisions because they are rarely fatal.

To know what the entity ID is for would be very nice (in fact vital if e.g. the IDs must be continuous since the above function (as well as not placing "units" because they are blocked by "buildings") will then break things)!

The remaining questions are:

- What's the entity ID for?

- Does the 0.5 m grid catch all units (like e.g. any small chicken)? (It's checked but there might be rarely occurring cases)

- How to get an object by ID (For me this seams to need to go through all g_Map.objects and g_Map.terrainObjects and compare the entity ID to their ".id" property which would be horribly slow. If we don't do it too often (the average map contains about 20 collisions) this may still be an option)?

A fast solution to find an entity object by it's ID would be not to use "this.objects.push()" to add objects but use "this.objects[entityID] = " and then check for with "if (entityID in g_Map.objects)" (or "if (g_Map.objects.hasOwnProperty(entityID))") and at map export do the same check (and cycle to 150+ undefined objects, yes, but only once so that's OK IMO).

Same goes for map.terrainObjects ofc.

That's for sure not the cleanest solution but for a clean solution I need to know what the entity ID is supposed to do/ment for!

Edited by FeXoR
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...