.com.unity Forums

.com.unity Forums (http://forum.shrapnelgames.com/index.php)
-   Scenarios, Maps and Mods (http://forum.shrapnelgames.com/forumdisplay.php?f=146)
-   -   Utility: SemiRandom version 095 (http://forum.shrapnelgames.com/showthread.php?t=33341)

Endoperez February 24th, 2007 05:11 AM

Re: SemiRandom version 095
 
Quote:

Gandalf Parker said:
WOW THANKS for figuring out that castle defence thing! Do you mind if I make extensive use of that immeadiately on all my map routines?
(slap head, cant believe I didnt try that long ago).

I don't mind that at all. The original idea I had for this province was just to make an example that would let others create their own castled, double-defended provinces for SemiRandom. It grew a bit from that.

Ballbarian February 25th, 2007 04:31 AM

Re: SemiRandom version 095
 
It's in the early stages still, but here are a couple of examples to give a visual of the start distribution.

This one is a 103 province map with 6 players and a 4 province minimum distance buffer.
http://www.dom3minions.com/~semirand...rked_small.jpg

This one is a 145 province tower style map with 9 players and a 4 province minimum distance buffer.
http://www.dom3minions.com/~semirand..._marked_sm.jpg

Both maps were processed using the current default SemiRandom settings of 15 provinces per player & minimum neighbor count of 4 land for land starts, or 4 water for water starts.

Until this weekend, I had been too busy to work on it more than 30 minutes here and 30 minutes there. Very hard to stay focused that way. http://forum.shrapnelgames.com/image...ies/stupid.gif

Gandalf Parker February 25th, 2007 09:36 PM

Re: SemiRandom version 095
 
It looks good. Excellent coding.
Personally Im going to want more of a spread than that.
Will it evenly distribute on larger maps?

Ballbarian February 26th, 2007 10:47 PM

Re: SemiRandom version 095
 
You will be able to increase the spread by specifying a smaller number of players. It seems to distribute well on your MegaMap, but I am not happy with the water start consistency. That is being corrected now. I am also working on a little fidgeter to make the start placements less "optimized" and more random on multiple generations of the same map.

Ballbarian March 5th, 2007 10:31 PM

Re: SemiRandom version 095
 
It has been hard finding time for coding, but finally have enough working to sit back for a little while and enjoy a test game. Decided to use the Eventide random map that is being used in a multiplayer game. They have 18 players in that game, 16 being land and 2 being water. With the settings that I used, my distribution was a bit looser, so I ended up with 11 land & 2 water starts. Trying out a SC Gorgon with one of my favorite nations... Pangaea.

So pardon my laziness for a little while. http://forum.shrapnelgames.com/image...ies/tongue.gif

I intend to look more at some method for supporting "kingdoms" or thematic province clusters. The base is there, but I haven't decided quite how I want to approach the format via the GAN files. Then there are those pesky multi provinces for varied terrains. http://forum.shrapnelgames.com/images/smilies/happy.gif

Jack_Trowell March 6th, 2007 07:20 AM

Re: SemiRandom version 095
 
Quote:

Ballbarian said:
Thank you for the feedback Endoperez.

Quote:

It's still a bit too complicated for anyone with an interesting idea to just add a province, but at least those who are willing to read the readme can do so.

It feels easy to me, but just because I am so familiar with it. The ideal would be if someone like Jack with skill in programming online tools could provide a web interface which allowed building individual provinces in a SemiRandomizer script format and auto email the submissions for addition to the library. I would be able to do a windows version, but it would not be cross platform friendly. I could look at doing a yabasic province creator, but without a proper gui interface it would be a awkward to use.
[...]



I had already something like that planned for my own map randomizer, and I could indeed make it so it send new submitted province both to you and me, with appropriate formatting. (for myself I plan tu use XML, but if you want something already in your specific format, just send me the specs by e-mail and I will do it)

(I had also started working on a function to select starting province like you do, bu stopped working on it to focus on the editor)

You can contact me to the following e-mail address :
dominions _at_ realites.org

Ballbarian March 6th, 2007 04:17 PM

Re: SemiRandom version 095
 
Thanks Jack. I will try to put something together tonight and send it to you. The specs are basically just normal map commands, but the wild card is the random stuff that can be added (and the file naming for terrain matching).

Jack_Trowell March 6th, 2007 05:00 PM

Re: SemiRandom version 095
 
Yes, I have been thinking of a way to add you semi-random commands feature to my editor, and I think I found a way to use a similar system in XML.

It will take some work to code it, but it should be useful.

This is an exemple of a province in XML form :
(it's the central province from the map "fourmaggedon")

Quote:

<PROVINCE killpop="1" poptype="61" population="45000">
<commanders name="Chalidor" mag_earth="5" mag_nature="4" unit_id="Troll King" xp="300">
<units number="35" unit_id="Troll" />
</commanders>
<commanders name="Morghal" mag_earth="5" mag_water="4" unit_id="Troll King" xp="300">
<units number="25" unit_id="Troll Moose Knight" />
</commanders>
<commanders name="Urgya" mag_fire="5" unit_id="Vaetti Hag" xp="300">
<units number="50" unit_id="Vaetti" />
</commanders>
<commanders name="Urgyuur" mag_fire="5" unit_id="Vaetti Hag" xp="300">
<units number="25" unit_id="Wolf Rider" />
</commanders>
<terrain_types>manysites</terrain_types>
<terrain_types>nostart</terrain_types>
<terrain_types>farm</terrain_types>
<terrain_types>somewater</terrain_types>
<terrain_types>large</terrain_types>
</PROVINCE>

The same province, but instead of having all the commanders, you would have one of them chosend randomly, *and* a lone normal troll king with 5 vaettis bodyguards :

Quote:

<PROVINCE killpop="1" poptype="61" population="45000">
<RANDOM>
<commanders name="Chalidor" mag_earth="5" mag_nature="4" unit_id="Troll King" xp="300">
<units number="35" unit_id="Troll" />
</commanders>
<commanders name="Morghal" mag_earth="5" mag_water="4" unit_id="Troll King" xp="300">
<units number="25" unit_id="Troll Moose Knight" />
</commanders>
<commanders name="Urgya" mag_fire="5" unit_id="Vaetti Hag" xp="300">
<units number="50" unit_id="Vaetti" />
</commanders>
<commanders name="Urgyuur" mag_fire="5" unit_id="Vaetti Hag" xp="300">
<units number="25" unit_id="Wolf Rider" />
</commanders>
</RANDOM>
<commanders unit_id="Troll King">
<bodyguards number="5" unit_id="Vaetti" />
</commanders>
<terrain_types>manysites</terrain_types>
<terrain_types>nostart</terrain_types>
<terrain_types>farm</terrain_types>
<terrain_types>somewater</terrain_types>
<terrain_types>large</terrain_types>
</PROVINCE>

The "<RANDOM>" tag should be usable, when I've finished coding, with any other tag to make the function generating the map code chose randomly one of the child nodes to use in plance of the random tag.

Ballbarian March 6th, 2007 10:58 PM

Re: SemiRandom version 095
 
Looks good!

If you have already downloaded SR, then you already have this, but I will paste the relevant details copied from the included readme below:

<font class="small">Code:</font><hr /><pre>
How to author GAN scripts (province files):
===========================================
It is assumed that you are familiar with map commands and map editing. The
format is pretty simple for editing GAN scripts and there are just a few rules
&amp; suggested steps:
1. Look at existing GANs as a guide.
2. You do not need to add #nostart. This is added automatically.
3. You do not need to add #setland or #land. This is handled in the filename. (see below)

GAN FILENAME FLAGS:
-------------------
&lt;Climates&gt;
_HOT_ Hot Zone (southern map)
_CLD_ Cold Zone (northern map)
_TMP_ Temperate Zone (mid map)

&lt;Patterns&gt;
_IS_ ISLAND
_LK_ LAKE
_VC_ VOLCANO
_PN_ PENN
_VL_ VALLEY
_CO_ COAST
_LO_ LOST

&lt;Treatment&gt;
_R_ REPLACE - (#land) Set active prov &amp; kill everyone in it. Used to REPLACE randomly placed units.
_A_ ADD - (#setland) Set active prov. Units added to existing.
_M_ MULTIPLE - More than one of a single province gan may be added to the map file.
_U_ UNIQUE - Once a single instance of the province gan is "picked", it can not be picked again.

&lt;Terrain&gt;
_S/L/N_ Small/Large/Normal
_PLN_ Plains
_SEA_ Sea
_WTR_ Some water
_MNT_ Mountain
_SWP_ Swamp
_WST_ Waste
_FST_ Forest
_FRM_ Farm
_MST_ Many Sites
_DEP_ Deep
_CAV_ Cave
_FS_ Fire Site
_AS_ Air Site
_WS_ Water Site
_ES_ Earth Site
_SS_ Astral Site
_DS_ Death Site
_NS_ Nature Site
_BS_ Blood Site
_PS_ Priest Site
_EMT_ Edge Mountain

SPECIAL GAN COMMANDS:
---------------------
@&lt;value&gt; &lt;command&gt;
-&gt;select a random line from the following &lt;value&gt; lines to follow this &lt;command&gt;.

Example #1:
@3 commander
"Minotaur Lord"
240 -- Priest
-- no commander
Result= "#commander 240 -- Priest" &lt;- 1 in 3 chance to be printed in map file.

Example #2:
@1 landname
"Icky Swamp"
Result= "#landname &lt;province#&gt; "Icky Swamp" &lt;- 100% chance to be printed in map file.

Example #3:
@2
#mag_astral 1
#mag_fire 1
Result= "#mag_fire 1" &lt;- 1 in 2 chance to be printed. Note the space following "2 ".

Example #4:
@2 units
10 17 -- Archer
-- no Archer
Result= "-- no Archer" &lt;- 1 in 2 chance to be printed. ie 50% chance of these units.

@RANDOM &lt;command&gt; &lt;name or item list&gt;
-&gt;select a random name or item to follow &lt;command&gt;.

Example #1:
@RANDOM landname FOREST
Result= "#landname &lt;prov#&gt; "Simple Woods"" &lt;- Rnd name from DATA1 + rnd name from DATA2.
OR
Result= "#landname &lt;prov#&gt; "Ohmyg Forest"" &lt;- Generated name + rnd name from DATA2.

Example #2:
@RANDOM comname COMMANDER
Result= "#comname "Kullray"" &lt;- Generated name.

Example #3:
@RANDOM comname COMMANDER
@RANDOM additem HELMET
@RANDOM additem 1HANDWEAPON
@RANDOM additem SHIELD
@RANDOM additem ARMORHVY
@RANDOM additem BOOTS
@RANDOM additem MISCITEM
Result= &lt;- Random item from the named item list.
#additem "Starshine Skullcap"
#additem "Jade Knife"
#additem "Weightless Tower Shield"
#additem "Silver Hauberk"
#additem "Boots of Stone"
#additem "Bracers of Protection"
(NOTE: I recommend only 1 or 2 MISC items as duplicates are possible!)
</pre><hr />

In a nutshell there are the flags used in the filename for pattern/terrain matching and flags for add/replace and multi/unique. Plus the following two structures:
@&lt;value&gt; &lt;command&gt;
@RANDOM &lt;command&gt; &lt;name or item list&gt;

A list of the current name &amp; item lists can be pulled from "\LIST_CRATE\NameList.txt". The user should probably be given the option to select from the list or to enter a custom selection to allow for future additions or their own creations.

Oops, I was going to email this to you, but eh. I am a walking zombie tonight. http://forum.shrapnelgames.com/image...ies/tongue.gif http://forum.shrapnelgames.com/images/smilies/yawn.gif

Jack_Trowell March 7th, 2007 10:45 AM

Re: SemiRandom version 095
 
Thanks, I should have all needed informations there.


All times are GMT -4. The time now is 03:02 AM.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.