I am working on a turn based strategy mod Based off the game Battle for Wesnoth and I need an animator for a few custom unit animations and a gameplay designer for unit balance among other things. In terms of animations, I need melee sequences for ranged units and ranged sequences for melee units. (I don't know which units I need these for so don't just dive right in!) And in terms of gameplay I need plans for unit progression based on experience and which units will have which attacks. PM me if you are interested. Credit will be given where due.
Also, terrainers interested in making a few sample melee maps for the mod are welcome to join the team; however, considering how a few game mechanics work, you might not be able to do so until at least the beta phase. Again, PM me if you are interested and credit will be given for each map you make.
I have need of your skills in another project but I don't mind also working on your idea if I find myself capable if it. PM me your idea and I'll PM you with what I need. Chances are custom models/anims won't be of use in the early stages of your map/mod so that frees you to work on the anims I need. Sound good?
I need some custom animations for a fair amount of existing units. For example, a marine meleeing with his rifle. Mainly I need melee attack anims for range units and range attacks for melee units. I don't quite know what units I need modified yet, so PM me for details. Credit will be given where due.
Actions
If
Conditions
Or
Owner of Unit Hero == Player 0
Owner of Unit Hero == Owner of (Triggering Unit)
Then
Give Hero to Owner of Unit (Triggering Unit)
Else
Give Hero to player 0
(New trigger)
Event
Any Unit leaves NeutralHeroRegion
Conditions
Number of Units in (Region NeutralHeroRegion matching any condition with at mos Any Amount) == 0
Actions
Give Hero to player 0
This means if a unit enters and no other players' units are also there, the Hero becomes the property of the owner of the triggering unit. If the Hero is controlled by another player, the Hero becomes neutral. If all units leave the Hero, he becomes neutral.
Events
Any Unit changes owners
Conditions
Triggering Unit == Hero
Actions
If
Conditions
Old Owner == player 0
Then
Start HeroTimer as a repeating timer that will expire in 30 Game Time seconds.
Else
Set HeroTimer = New Timer
(New Trigger)
Events
HeroTimer expires
Conditions
Actions
----- Whatever you want to happen
----- Hot Potato, Perhaps?
Pick each unit in (Region NeutralHeroRegion matching conditions with at most Any Amount) and do Actions
Actions
Kill Picked Unit
This starts the timer if the Hero is gained control of by any player other than 0, or stops it if the Hero becomes neutral. The next trigger occurs when the timer expires and creates a Hot Potato effect.
I appreciate the help, but my problem isn't getting the possible hexes. And, for that matter, I just solved it! Layer 2, for example, was not only in layer 3, but also in layer 4. This occurred because layer 2 would add layer 3 and layer 2 AND layer 1 to the layer 3 group. I was only removing the previous layer, when I needed to remove two to prevent duplicates!
Best idea at the time. It was based off another, much more disorganized map. I don't know how to make doodads, and there aren't doodad groups. Besides, as they are they are unselectable, uncommandable, etc, so that the only effect of their existence is purely visual.
And yes, the real unit will only have n amount of hexes he can move at once. And also given my experience I agree with you, but it's the best I can do. I had an older set of actions that avoided this problem, but it bugged out in so many other ways. This way I made in 30 minutes and it worked almost perfectly (aside from this and another minor bug) on its first try.
I have written an action that, in a hexagonal movement system, gets all possible places to move to. In this action, each layer of hexes (which are in effect units) is stored into an array of unit groups with a number matching its layer. For the original hex, it gets the surrounding hexes and stores them into layer 1. The action then moves to layer one and gets the surrounding hexes and adds them to layer 2, and so on. I realized this would also add hexes from previous layers into new layers, so I added actions to deal with this, and it doesn't work when it seems it should! As an example, a layer 2 hex gets its surrounding hexes, which include layer 3 and layer 1 hexes, so I call:
Unit Group - Remove all units in Hexes in Layer from Unit[Int (1 in this case)] from Hexes in Layer from Unit[(Int + 1)]
This should remove all hexes in layer 1 from layer 2, but it doesn't. So I tried this:
Unit Group - Pick each unit in Hexes in Layer from Unit[Int (1 in this case)] and do (Actions)
Actions
Unit Group - Remove (Picked unit) from Hexes in Layer from Unit[(Int + 1)]
This does not work either; what gives? It's causing a massive amount of movement markers, which stop my computer for a full 3 seconds just to restart the stand animation!
Ok, I learned How A* works, and I have the possible movement hexes set up. Next, I need to implement A* so that my paths are found. Like I said, I understand how it works, but I just don't know to loop through and find the path. Can someone help out a bit? Please keep examples in GUI form, as I haven't learned galaxy yet. I realize this will be easier with it, but I don't want to take that leap yet for fear of completely screwing up.
I don't know how the tact map creator found the dimensions of the hex, but I do know he scaled it so look for that in his Hex Actor's Art tab. Then you will find the demensions in his Hex Init trigger in the Battlefield folder. I recommend copying his scaling and dimensions and then scale to your preferences with multiples like I did rather than finding your own, which is 0.89 wide and 0.6675 tall on one side (since each row of hexes will stack between each hex of the last row. As for finding the points and such, I must explain later, as I am typing this on an iPhone at work.
Each hexagon is only a unit in and of itself. The points are determined based on the width of the whole model and length on one side and are stored into a 2D array. For example, my hexes are 2.67 units wide and one side is 2.0025 units. My hex model has been scaled so don't just go in and throw values around when they're not yet right. As for making the hex unit, you will create a unit from scratch, based on Default Settings (Unit) race Neutral object type Prop, then make an actor of type Unit, base on Beacon and doodad type Not Doodad. This actor should have only two UnitBirth events: one to create and one to ModelSwap to DecalProtoss 4. There are other events, but I'm not sure they affect anything. Take a look at that map's units and actors if you get confused. I hope that helps.
Thank you for finding a way to determine the hex path a unit may take; however, I still require an algorithm for determining which hexes a unit can move to. Also, I have just recently made contact with the creator of the map I linked to in my first post, so he and I will be working together so that I can learn how his hex system works (which so far seems to have been made using only the GUI.) Maybe once my system is complete, I will make a tutorial to help out others.
Is your movement behavior of type Buff, or Attribute?
I don't know why you would use supply depots, though. I just finished making my hex system in terms of finding the points and showing them as hexes. Let me make a screenshot of what I have.
I think you would use a trigger along the lines of "Unit Enters Point Any Point (assuming the only points you have are hex points), Remove 1 RemainingHexMoves (Behavior)." This would be useful if the player clicked a hex or so short of his/her maximum movement, thus the UI would redisplay his/her remaining movement area so that he/she can move again or order a Hold Position.
EDIT: Or determine the distance of the hex clicked and the hex the unit is on and subtract that many behavior stacks.
0
I agree. Upload a map with a few custom models and/or animations. Really all I need is animations made for existing units.
0
I am working on a turn based strategy mod Based off the game Battle for Wesnoth and I need an animator for a few custom unit animations and a gameplay designer for unit balance among other things. In terms of animations, I need melee sequences for ranged units and ranged sequences for melee units. (I don't know which units I need these for so don't just dive right in!) And in terms of gameplay I need plans for unit progression based on experience and which units will have which attacks. PM me if you are interested. Credit will be given where due.
Also, terrainers interested in making a few sample melee maps for the mod are welcome to join the team; however, considering how a few game mechanics work, you might not be able to do so until at least the beta phase. Again, PM me if you are interested and credit will be given for each map you make.
0
I have need of your skills in another project but I don't mind also working on your idea if I find myself capable if it. PM me your idea and I'll PM you with what I need. Chances are custom models/anims won't be of use in the early stages of your map/mod so that frees you to work on the anims I need. Sound good?
0
I need some custom animations for a fair amount of existing units. For example, a marine meleeing with his rifle. Mainly I need melee attack anims for range units and range attacks for melee units. I don't quite know what units I need modified yet, so PM me for details. Credit will be given where due.
0
Event
Any Unit enters NeutralHeroRegion
Conditions
Actions
If
Conditions
Or
Owner of Unit Hero == Player 0
Owner of Unit Hero == Owner of (Triggering Unit)
Then
Give Hero to Owner of Unit (Triggering Unit)
Else
Give Hero to player 0
(New trigger)
Event
Any Unit leaves NeutralHeroRegion
Conditions
Number of Units in (Region NeutralHeroRegion matching any condition with at mos Any Amount) == 0
Actions
Give Hero to player 0
This means if a unit enters and no other players' units are also there, the Hero becomes the property of the owner of the triggering unit. If the Hero is controlled by another player, the Hero becomes neutral. If all units leave the Hero, he becomes neutral.
Events
Any Unit changes owners
Conditions
Triggering Unit == Hero
Actions
If
Conditions
Old Owner == player 0
Then
Start HeroTimer as a repeating timer that will expire in 30 Game Time seconds.
Else
Set HeroTimer = New Timer
(New Trigger)
Events
HeroTimer expires
Conditions
Actions
----- Whatever you want to happen
----- Hot Potato, Perhaps?
Pick each unit in (Region NeutralHeroRegion matching conditions with at most Any Amount) and do Actions
Actions
Kill Picked Unit
This starts the timer if the Hero is gained control of by any player other than 0, or stops it if the Hero becomes neutral. The next trigger occurs when the timer expires and creates a Hot Potato effect.
0
I appreciate the help, but my problem isn't getting the possible hexes. And, for that matter, I just solved it! Layer 2, for example, was not only in layer 3, but also in layer 4. This occurred because layer 2 would add layer 3 and layer 2 AND layer 1 to the layer 3 group. I was only removing the previous layer, when I needed to remove two to prevent duplicates!
0
@Nashadun: Go
Best idea at the time. It was based off another, much more disorganized map. I don't know how to make doodads, and there aren't doodad groups. Besides, as they are they are unselectable, uncommandable, etc, so that the only effect of their existence is purely visual.
And yes, the real unit will only have n amount of hexes he can move at once. And also given my experience I agree with you, but it's the best I can do. I had an older set of actions that avoided this problem, but it bugged out in so many other ways. This way I made in 30 minutes and it worked almost perfectly (aside from this and another minor bug) on its first try.
0
I have written an action that, in a hexagonal movement system, gets all possible places to move to. In this action, each layer of hexes (which are in effect units) is stored into an array of unit groups with a number matching its layer. For the original hex, it gets the surrounding hexes and stores them into layer 1. The action then moves to layer one and gets the surrounding hexes and adds them to layer 2, and so on. I realized this would also add hexes from previous layers into new layers, so I added actions to deal with this, and it doesn't work when it seems it should! As an example, a layer 2 hex gets its surrounding hexes, which include layer 3 and layer 1 hexes, so I call:
Unit Group - Remove all units in Hexes in Layer from Unit[Int (1 in this case)] from Hexes in Layer from Unit[(Int + 1)]
This should remove all hexes in layer 1 from layer 2, but it doesn't. So I tried this:
Unit Group - Pick each unit in Hexes in Layer from Unit[Int (1 in this case)] and do (Actions)
Actions
Unit Group - Remove (Picked unit) from Hexes in Layer from Unit[(Int + 1)]
This does not work either; what gives? It's causing a massive amount of movement markers, which stop my computer for a full 3 seconds just to restart the stand animation!
0
Ok, I learned How A* works, and I have the possible movement hexes set up. Next, I need to implement A* so that my paths are found. Like I said, I understand how it works, but I just don't know to loop through and find the path. Can someone help out a bit? Please keep examples in GUI form, as I haven't learned galaxy yet. I realize this will be easier with it, but I don't want to take that leap yet for fear of completely screwing up.
0
@EFoG: Go
I don't know how the tact map creator found the dimensions of the hex, but I do know he scaled it so look for that in his Hex Actor's Art tab. Then you will find the demensions in his Hex Init trigger in the Battlefield folder. I recommend copying his scaling and dimensions and then scale to your preferences with multiples like I did rather than finding your own, which is 0.89 wide and 0.6675 tall on one side (since each row of hexes will stack between each hex of the last row. As for finding the points and such, I must explain later, as I am typing this on an iPhone at work.
0
@EFoG: Go
Each hexagon is only a unit in and of itself. The points are determined based on the width of the whole model and length on one side and are stored into a 2D array. For example, my hexes are 2.67 units wide and one side is 2.0025 units. My hex model has been scaled so don't just go in and throw values around when they're not yet right. As for making the hex unit, you will create a unit from scratch, based on Default Settings (Unit) race Neutral object type Prop, then make an actor of type Unit, base on Beacon and doodad type Not Doodad. This actor should have only two UnitBirth events: one to create and one to ModelSwap to DecalProtoss 4. There are other events, but I'm not sure they affect anything. Take a look at that map's units and actors if you get confused. I hope that helps.
0
Thank you for finding a way to determine the hex path a unit may take; however, I still require an algorithm for determining which hexes a unit can move to. Also, I have just recently made contact with the creator of the map I linked to in my first post, so he and I will be working together so that I can learn how his hex system works (which so far seems to have been made using only the GUI.) Maybe once my system is complete, I will make a tutorial to help out others.
0
Picture:
0
@EFoG: Go
Is your movement behavior of type Buff, or Attribute?
I don't know why you would use supply depots, though. I just finished making my hex system in terms of finding the points and showing them as hexes. Let me make a screenshot of what I have.
0
@EFoG: Go
I think you would use a trigger along the lines of "Unit Enters Point Any Point (assuming the only points you have are hex points), Remove 1 RemainingHexMoves (Behavior)." This would be useful if the player clicked a hex or so short of his/her maximum movement, thus the UI would redisplay his/her remaining movement area so that he/she can move again or order a Hold Position.
EDIT: Or determine the distance of the hex clicked and the hex the unit is on and subtract that many behavior stacks.