Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 5 - Modders Workshop > Thread: Random Mixed Neutrals on any map
Thread: Random Mixed Neutrals on any map This thread is 2 pages long: 1 2 · NEXT»
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 21, 2008 03:20 PM bonus applied by VokialBG on 21 Aug 2008.
Edited by Asheera at 12:26, 29 Aug 2008.

Random Mixed Neutrals on any map

Hello all, in this thread I'll give you (the map makers especially) the possibility to place random mixed neutrals on any map. I'll use the script for this.

First, add this piece of code to the start of the map script, or in "scripts/common.lua" file (my creation):




-- Function for handling the generation of neutrals
function CreateCreeps(creeps, creep_groups)
 local additional_stacks = {}
 local x = 1

 -- go through all creeps
 for i, creep in creeps do
   -- get current creep properties
   local creep_name = "Creep_" .. i
   local groups = creep_groups[creep.group]
   local group = groups[random(length(groups))+1]

   -- create the monster on the map with the first stack
   local stack = group[1]
   CreateMonster(creep_name, stack.type, stack.min+random(stack.max-stack.min+1), creep.x, creep.y, creep.u or 0, creep.mood or 1, creep.courage or 2, creep.rot)

   -- the additional stacks need to be created later, because it seems the engine doesn't create the creeps immediately when CreateMonster is called
   -- this means that an object with the name 'creep_name' doesn't exist yet, and AddObjectCreatures will thus fail
   -- so for now we just store the additional stack information in our temporary array
   local numStacks = length(group)
   for j = 2, numStacks do
     stack = group[j]
     additional_stacks[x] = {Name = creep_name, Id = stack.type, Num = stack.min+random(stack.max-stack.min+1)}
     x = x + 1
   end
 end

 -- pause the script so the engine can place the neutrals on the map
 sleep(2)

 -- add additional stacks (NOTE: only the first stack's size is adjusted by the difficulty of the game, we need to do it here manually)
 x = GetDifficulty(); local y = 1.0
 if     x == 0 then y = 0.5
 elseif x == 2 then y = 1.12
 elseif x == 3 then y = 1.4
 end

 for i, v in additional_stacks do
   AddObjectCreatures(v.Name, v.Id, v.Num*y)
 end
end





Now for each map you want random mixed neutrals, you'll need to place a map script in it. And also, don't place any neutrals on the map, the script will handle that for you.

The Map script should look like the following (this is only an example - the possibilities are endless)




-- define neutrals
NeutralGroups =
{
 -- group 1
 [1] =
 {
   [1] =
   {
     [1] = {min = 50, max = 60, type =   1}, -- Peasants
   },
   [2] =
   {
     [1] = {min = 20, max = 30, type =   2}, -- Conscripts
     [2] = {min = 15, max = 35, type = 106}, -- Brutes
   },
 },

 -- group 2
 [2] =
 {
   [1] =
   {
     [1] = {min =  7, max = 11, type =   3}, -- Archers
     [2] = {min =  5, max =  8, type =   5}, -- Footmen
     [3] = {min =  1, max =  2, type = 108}, -- Vindicators
   },
   [2] =
   {
     [1] = {min =  5, max =  7, type = 108}, -- Vindicators
     [2] = {min = 13, max = 19, type = 106}, -- Brutes
   },
   [3] =
   {
     [1] = {min = 14, max = 20, type =  43}, -- Pixies
   },
   [4] =
   {
     [1] = {min =  7, max = 11, type = 146}, -- Wind Dancers
   },
   [5] =
   {
     [1] = {min =  7, max =  9, type =  93}, -- Shield Guards
     [2] = {min =  2, max =  4, type = 167}, -- Harpooners
   },
   [6] =
   {
     [1] = {min = 16, max = 24, type =  57}, -- Gremlins
     [2] = {min =  6, max =  9, type = 159}, -- Gremlin Saboteurs
   },
   [7] =
   {
     [1] = {min = 10, max = 15, type =  71}, -- Scouts
   },
   [8] =
   {
     [1] = {min =  3, max =  6, type =  73}, -- Blood Maidens
     [2] = {min =  3, max =  3, type = 139}, -- Blood Sisters
   },
   [9] =
   {
     [1] = {min = 12, max = 17, type =  16}, -- Familiars
   },
   [10] =
   {
     [1] = {min = 17, max = 27, type =  29}, -- Skeletons
     [2] = {min =  9, max = 12, type = 152}, -- Skeleton Warriors
   },
 },

 -- group 3
 [3] =
 {
   [1] =
   {
     [1] = {min = 30, max = 50, type =  3}, -- Archers
   },
   [2] =
   {
     [1] = {min =  6, max = 20, type = 71}, -- Scouts
   },
 },

 -- group 4
 [4] =
 {
   [1] =
   {
     [1] = {min = 30, max = 50, type = 4}, -- Marksmen
   },
 },

 -- group 5
 [5] =
 {
   [1] =
   {
     [1] = {min = 20, max = 40, type = 5}, -- Footmen
   },
 },

 -- group 6
 [6] =
 {
   [1] =
   {
     [1] = {min = 10, max = 15, type = 7}, -- Griffins
   },
 },

 -- group 7
 [7] =
 {
   [1] =
   {
     [1] = {min = 10, max = 15, type = 8}, -- Imperial Griffins
   },
 },

 -- group 8
 [8] =
 {
   [1] =
   {
     [1] = {min = 6, max = 9, type = 10}, -- Inquisitors
   },
 },

 -- group 9
 [9] =
 {
   [1] =
   {
     [1] = {min = 4, max = 6, type = 11}, -- Cavaliers
   },
 },

 -- group 10
 [10] =
 {
   [1] =
   {
     [1] = {min = 4, max = 6, type = 111}, -- Champions
   },
 },

 -- group 11
 [11] =
 {
   [1] =
   {
     [1] = {min = 1, max = 3, type = 14}, -- ArchAngels
   },
 },
}
MapNeutrals =
{
 [1] = {group =  1, x =  5, y = 76, rot =  90},
 [2] = {group =  2, x = 17, y = 83, rot =   0},
 [3] = {group =  3, x = 26, y = 91, rot =   0},
 [4] = {group =  4, x = 76, y = 90, rot =  90, u=1},
 [5] = {group =  1, x = 80, y = 99, rot =   0},
 [6] = {group =  1, x = 55, y =  1, rot = 270, u=1},
 [7] = {group =  3, x = 32, y = 44, rot =   0},
 [8] = {group =  8, x = 11, y = 37, rot = 180},
 [9] = {group =  5, x =  4, y = 82, rot =  90, u=1},
}

-- place neutrals on the map
CreateCreeps(MapNeutrals, NeutralGroups)





The MapNeutrals table holds the neutral "objects" on the map. You have to specify the position (x, y), if it is underground (u=1 means it's underground) and the group of the neutrals. The group is a look up in the NeutralGroups table. For example, we see that group 1 spawns two possible neutrals (chosen randomly with equal chance at the start of the map):

1. 50-60 Peasants not mixed with anything
2. 20-30 Conscripts AND 15-35 Brutes mixed neutral stack

The same for the other groups (group 2 is an interesting one, it has a lot of possible "choices" at the start of the map to choose from - some mixed, some not)

(yes, type is the creature ID)




NOTE: it takes some time to generate the neutrals at the start of the map (if there are a lot) - please be patient and wait until you can enter the town - that's a sign that the neutrals have been successfully added

I hope Map Makers will like to create maps with mixed neutrals from now on (no more Garrisons mixed neutrals only, etc)
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 21, 2008 04:22 PM
Edited by Asheera at 17:52, 21 Aug 2008.

Misunderstandings? Post them here and I'll clarify

EDIT: 28 Views and no Replies
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
radar
radar


Responsible
Legendary Hero
Castle/Haven player
posted August 21, 2008 06:01 PM

who the hell are you
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 21, 2008 06:06 PM

Quote:
who the hell are you
I'm from Nival[/joking]

Now seriously, I just studied LUA and H5 scripting in my free time
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
TheDeath
TheDeath


Responsible
Undefeatable Hero
with serious business
posted August 21, 2008 06:09 PM

Ash, I don't know how to say this, but you're a geek

Only geeks study programming/scripting in their free time

welcome to the HAXXOR community

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 21, 2008 06:11 PM

Aren't all community members geeks since they are fans of a video game?

But enough offtopicness
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Nebdar
Nebdar


Promising
Supreme Hero
Generation N
posted August 21, 2008 08:42 PM

Nice idea but as for me it seems a lot of work it has to be done so much that I'm overwhelmed.

so i have to delete all random neutrals and they will pop up anywhere?

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
VokialBG
VokialBG


Honorable
Legendary Hero
First in line
posted August 21, 2008 08:52 PM
Edited by VokialBG at 21:09, 21 Aug 2008.

I suck with the map editor, but yes this should work well. However there is easier way (at least it is for me):

http://heroescommunity.com/viewthread.php3?TID=24782

Since it's for LUA, we can keep it here, in the Workshop.
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 21, 2008 08:59 PM
Edited by Asheera at 21:24, 21 Aug 2008.

Quote:
Nice idea but as for me it seems a lot of work it has to be done so much that I'm overwhelmed.
You don't have to do really much work, since you don't have to understand the function (just copy-paste it)

Quote:
so i have to delete all random neutrals and they will pop up anywhere?
It will be pretty hard to re-create the neutrals on an already neutral populated map, because you'll have to make the neutrals from scratch.



Let's consider a new map and you want to add neutrals. Place a normal Random Neutral on the map where you want the random mixed stack, copy its position and place it in the MapNeutrals table. Something like this: (an example -> 5 and 76 are some arbitrary numbers)
MapNeutrals
{
 [1] = {group =  1, x =  5, y = 76, rot =  90},
}


The rot value is the creep's orientation in degrees. Note that in the editor you have it in radians, and you'll need to convert it (multiply the radians by 57.295779513082) and then write it in the script. Also add a new value (u=1) if the stack is underground. After you're done adding the data to the script, delete the creep from the map.

The "group" is defined in the other table, NeutralGroups. For example, the "normal" default neutrals have 7 groups - for each tier (you know, level 1 creep, level 5 creep, etc). My system is much more flexible, as you can add an unlimited number of groups, not to mention mixed stacks.

The NeutralGroups table contains, on the first layer, the groups.

NeutralGroups =
{
 -- group 1
 [1] =
 {
 },
}


A group contains a list of possible neutral monsters. The function which I provided chooses from this list randomly.

NeutralGroups =
{
 -- group 1
 [1] =
 {
   [1] =
   {
   },
   [2] =
   {
   },
 },
}


Now, a neutral monster contains a list of neutral stacks. And each stack contains a minimum value, a maximum value, and a creature type (the ID). The function I provided chooses a random value between the min and max when creating the neutral stack.

NeutralGroups =
{
 -- group 1
 [1] =
 {
   [1] =
   {
    [1] = {min = 50, max = 60, type =   1}, -- Peasants
   },
   [2] =
   {
     [1] = {min = 20, max = 30, type =   2}, -- Conscripts
     [2] = {min = 15, max = 35, type = 106}, -- Brutes
   },
 },
}


In the above example, group 1 neutrals will spawn either 50-60 Peasants (not mixed stack), or 20-30 Conscripts + 15-35 Brutes (mixed stack)




Let's consider that you add another neutral with the same group on the map in underground. It should look like this:
MapNeutrals
{
 [1] = {group =  1, x =  5, y = 76, rot =  90},
 [2] = {group =  1, x = 54, y = 46, rot = 180, u = 1},
}





You can simulate the Nival neutrals with my system as well. It has 7 groups (for each tier), each with 8 sub-groups (for each race), each with different min/max values depending on creature growth, and different types depending on the creature ID of course.



EDIT: Vokial, I know you can place them, but my system generates RANDOM mixed neutrals.
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Nebdar
Nebdar


Promising
Supreme Hero
Generation N
posted August 21, 2008 10:04 PM
Edited by Nebdar at 22:05, 21 Aug 2008.

Quote:


First, add this piece of code to "scripts/common.lua" file (my creation):




-- Function for handling the generation of neutrals
function CreateCreeps(creeps, creep_groups)
 local additional_stacks = {}
 local x = 1

 -- go through all creeps
 for i, creep in creeps do
   -- get current creep properties
   local creep_name = "Creep_" .. i
   local groups = creep_groups[creep.group]
   local group = groups[random(length(groups))+1]

   -- create the monster on the map with the first stack
   local stack = group[1]
   CreateMonster(creep_name, stack.type, stack.min+random(stack.max-stack.min+1), creep.x, creep.y, creep.u or 0, creep.mood or 1, creep.courage or 2, creep.rot)

   -- the additional stacks need to be created later, because it seems the engine doesn't create the creeps immediately when CreateMonster is called
   -- this means that an object with the name 'creep_name' doesn't exist yet, and AddObjectCreatures will thus fail
   -- so for now we just store the additional stack information in our temporary array
   local numStacks = length(group)
   for j = 2, numStacks do
     stack = group[j]
     additional_stacks[x] = {Name = creep_name, Id = stack.type, Num = stack.min+random(stack.max-stack.min+1)}
     x = x + 1
   end
 end

 -- pause the script so the engine can place the neutrals on the map
 sleep(2)

 -- add additional stacks (NOTE: only the first stack's size is adjusted by the difficulty of the game, we need to do it here manually)
 x = GetDifficulty(); local y = 1.0
 if     x == 0 then y = 0.5
 elseif x == 2 then y = 1.12
 elseif x == 3 then y = 1.4
 end

 for i, v in additional_stacks do
   AddObjectCreatures(v.Name, v.Id, v.Num*y)
 end
end





Now for each map you want random mixed neutrals, you'll need to place a map script in it. And also, don't place any neutrals on the map, the script will handle that for you.

The Map script should look like the following (this is only an example - the possibilities are endless)




-- define neutrals
NeutralGroups =
{
 -- group 1
 [1] =
 {
   [1] =
   {
     [1] = {min = 50, max = 60, type =   1}, -- Peasants
   },
   [2] =
   {
     [1] = {min = 20, max = 30, type =   2}, -- Conscripts
     [2] = {min = 15, max = 35, type = 106}, -- Brutes
   },
 },

 -- group 2
 [2] =
 {
   [1] =
   {
     [1] = {min =  7, max = 11, type =   3}, -- Archers
     [2] = {min =  5, max =  8, type =   5}, -- Footmen
     [3] = {min =  1, max =  2, type = 108}, -- Vindicators
   },
   [2] =
   {
     [1] = {min =  5, max =  7, type = 108}, -- Vindicators
     [2] = {min = 13, max = 19, type = 106}, -- Brutes
   },
   [3] =
   {
     [1] = {min = 14, max = 20, type =  43}, -- Pixies
   },
   [4] =
   {
     [1] = {min =  7, max = 11, type = 146}, -- Wind Dancers
   },
   [5] =
   {
     [1] = {min =  7, max =  9, type =  93}, -- Shield Guards
     [2] = {min =  2, max =  4, type = 167}, -- Harpooners
   },
   [6] =
   {
     [1] = {min = 16, max = 24, type =  57}, -- Gremlins
     [2] = {min =  6, max =  9, type = 159}, -- Gremlin Saboteurs
   },
   [7] =
   {
     [1] = {min = 10, max = 15, type =  71}, -- Scouts
   },
   [8] =
   {
     [1] = {min =  3, max =  6, type =  73}, -- Blood Maidens
     [2] = {min =  3, max =  3, type = 139}, -- Blood Sisters
   },
   [9] =
   {
     [1] = {min = 12, max = 17, type =  16}, -- Familiars
   },
   [10] =
   {
     [1] = {min = 17, max = 27, type =  29}, -- Skeletons
     [2] = {min =  9, max = 12, type = 152}, -- Skeleton Warriors
   },
 },

 -- group 3
 [3] =
 {
   [1] =
   {
     [1] = {min = 30, max = 50, type =  3}, -- Archers
   },
   [2] =
   {
     [1] = {min =  6, max = 20, type = 71}, -- Scouts
   },
 },

 -- group 4
 [4] =
 {
   [1] =
   {
     [1] = {min = 30, max = 50, type = 4}, -- Marksmen
   },
 },

 -- group 5
 [5] =
 {
   [1] =
   {
     [1] = {min = 20, max = 40, type = 5}, -- Footmen
   },
 },

 -- group 6
 [6] =
 {
   [1] =
   {
     [1] = {min = 10, max = 15, type = 7}, -- Griffins
   },
 },

 -- group 7
 [7] =
 {
   [1] =
   {
     [1] = {min = 10, max = 15, type = 8}, -- Imperial Griffins
   },
 },

 -- group 8
 [8] =
 {
   [1] =
   {
     [1] = {min = 6, max = 9, type = 10}, -- Inquisitors
   },
 },

 -- group 9
 [9] =
 {
   [1] =
   {
     [1] = {min = 4, max = 6, type = 11}, -- Cavaliers
   },
 },

 -- group 10
 [10] =
 {
   [1] =
   {
     [1] = {min = 4, max = 6, type = 111}, -- Champions
   },
 },

 -- group 11
 [11] =
 {
   [1] =
   {
     [1] = {min = 1, max = 3, type = 14}, -- ArchAngels
   },
 },
}
MapNeutrals =
{
 [1] = {group =  1, x =  5, y = 76, rot =  90},
 [2] = {group =  2, x = 17, y = 83, rot =   0},
 [3] = {group =  3, x = 26, y = 91, rot =   0},
 [4] = {group =  4, x = 76, y = 90, rot =  90, u=1},
 [5] = {group =  1, x = 80, y = 99, rot =   0},
 [6] = {group =  1, x = 55, y =  1, rot = 270, u=1},
 [7] = {group =  3, x = 32, y = 44, rot =   0},
 [8] = {group =  8, x = 11, y = 37, rot = 180},
 [9] = {group =  5, x =  4, y = 82, rot =  90, u=1},
}

-- place neutrals on the map
CreateCreeps(MapNeutrals, NeutralGroups)








ok if i properly understand i have to copy this(without --descriptions) and i have to  "define neutrals" but it seems a lot of writing if i had to have all faction/neutral mixes right

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 21, 2008 10:45 PM

Yes, unfortunately it's a lot of work to create a wide variety of neutrals...

But someone has to start, and if Nival don't do it then it's up to us
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
TheDeath
TheDeath


Responsible
Undefeatable Hero
with serious business
posted August 21, 2008 11:15 PM

Personally, I like to write code, but you know, they call me the weird HAXXOR anyway so my advice is biased

btw this is great, I guess, mixed neutrals might stop abuses

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
SimonaK
SimonaK


Promising
Supreme Hero
posted August 21, 2008 11:48 PM

Quote:
Yes, unfortunately it's a lot of work to create a wide variety of neutrals...

But someone has to start, and if Nival don't do it then it's up to us


RTMG does it extremely well.

I already done this work.

Moreover, the best is not to create code
but to create code which creates code




 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 22, 2008 12:01 AM

Quote:
RTMG does it extremely well.

I already done this work.
You made a wide and balanced variety of mixed neutrals?

Good for you

Although it's pretty easy and straightforward to create mixed neutral groups in my table, it's a tedious job to make a lot of neutrals (to provide variety) there - and they also have to be somewhat balanced...

It will be excellent if someone (like you did) will create the table with a lot of balanced neutral possibilities... unfortunately I'm not that good at testing and balance in this game.
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
SimonaK
SimonaK


Promising
Supreme Hero
posted August 22, 2008 12:21 AM

I think the algo too complicated for nothing.

and the work to make verrrry too tiresome.

RTMG doesn't function like it and the variety of mixed neutrals is wide and balanced.

the RTMG's algo is based on random numbers.

A exemple:

5 lucks on 6 that all creatures in mixed neutrals come from same faction.
else a random number is selected to know how much factions will be mixed together.
etc.. etc..

And this random concept accepts some existence of strange mix as haven+inferno

the quantity about each tier uses a formula like:

Quote:
NewMonsterAmount = [AMO_AMOUNT * (1.4 ^ (AMO_TIER - (AMO_TIER - NEW_AMO_TIER)))]



BTW, If I would want to make your way, I would to create code which creates the code
and not directly create the code.

more dynamic, more effective, more palpitating

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 22, 2008 12:25 AM

I didn't want to be completely random though (like yours)

I think it's better to create more balanced team of neutrals (Zombies + Horned Demons is not such a good team, for example)
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
SimonaK
SimonaK


Promising
Supreme Hero
posted August 22, 2008 12:39 AM
Edited by SimonaK at 00:40, 22 Aug 2008.

I know and I understand.

But this not allow to experimente some strange randomize situations
and that is damage.

Your « balanced team of neutrals », RTMG can obtains it with random, 5 times on 6,
like a « normal » creation of team.

BTW, if I want, in next version, I could create a check to active just balanced team of neutrals.

Its enough 4 ligns of code to have just that in the map.

Maybe I think too « random maps »







 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Asheera
Asheera


Honorable
Undefeatable Hero
Elite Assassin
posted August 22, 2008 12:49 AM

Quote:
Maybe I think too « random maps »
Hehe, maybe

Still, at least with the script you'll get different neutrals each time you play the same map (no need to update it)

But your work with that Random Map Generator is awesome
____________

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Zenithale
Zenithale


Promising
Famous Hero
Zen Mind
posted August 25, 2008 05:59 PM

Really awesome! I will try soon and edit my first map with it.
____________
TWITCH|YouTube | NewArenas2023 MOD

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Warmonger
Warmonger


Promising
Legendary Hero
fallen artist
posted August 25, 2008 06:46 PM

I actually did something similar for my currently developed map Cyclophobia (didn't expect adding linked joiners to be so complicated), though didn't know it could be linked to game code itself. Good job!

Hopefully it will add some variety to duel maps.
If anyone figures out how to place creatures by their power rating, it gets even better.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 2 pages long: 1 2 · NEXT»
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.1101 seconds