make math formula .. only real possible way to make it good.
Playing through all levels wont help, as other people may use a different build that will just dominate. First you need to balance your towers, then you can balance the levels.
well, blizz improved on key pressed lag. In a slower paced game, a 0.5 second delay should not make a massive difference, especialy when you will be "walking".
If it would be really really laggy, there are other possible movement systems, as clicking with mouse where you want to go, and middle mouse button would toggle FPS camera. or stuff like that.
if it were good people would play it.. lol.. people play hitman dont they?
normally i dont grammar comment, but in english/us its 3rd not 3th (everything after 3 is th though, 4th, 5th, 100th ect) :P
GRAMMAR POLICE! :P fixed :)
Well, the thing is that games like that are kinda slow peaced,so im afraid people would fall asleep.
Wouldnt instead an faster action shooter be better? ..
I made some maps and I really put a lot of time in them, not completley polished, but they got the principle .. and when I published them, people really didint play them, and didint kinda find them fun ..
so it mostly comes down to have a good idea .. and I dont want to waste more time into something thats going to be boring
its very simple.
Side picking - the camera will rotate to that side, from wich the needed rotation is smaller.
Camera - Apply camera object Rotation 0.5 for player 1 over 2.0 seconds with Existing Velocity% initial velocity and 0% deceleration
This your trigger will rotate the camera to 0.5 Degrees (relative to the XY axis). If I remember correctly, 0 is looking allongside with the X axis, altough, if you check the camera angle in the editor, it will probably show you -90 degrees or 270. Its bugged in the editor I think.(but im not sure now)
Existing Velocity% - leave that the way it is. Its how smoot the camera should transition between positions.
Decleration - dont remember, but unless you want a really tight camera, you dont need to adjust that.
You probably need a loop, that will turn the camera only by 90 degrees, to make sure it rotates the way you want it.
Example :
Repeating loop
Camera - Apply camera object Rotation (Arithmetic(Current camera yaw of player 1 + 90)) for player 1 over 2.0 seconds with Existing Velocity% initial velocity and 0% deceleration
Wait 2 seconds.
Dont copy the arithmetic part exactley, I just wrote that on top of my head, so you have an easy time finding the correct functions.
If you want the opposite rotation, simply change +90 to -90
So are you saying you could totally randomize or customise an entire epic map with this method?
Yup. The terrain def actors are set to disapper after a few seconds, but the deformation is set to remain, so there is no risk of overwhelming someones PC and cause lag. I used it in my map when there are explosions .. works fine. If your interested seeing it in action and your from EU, try out my map "Star worms" but you need someone with you or else it will turn of soon. (Sneaky sneaky advertising my map :P)
Secondly how would you go about saying something is unpathable if it is over a certain angle?
In my map for example im using triggers to move units. So I just change a variable to let the system know you cannot go there. But you could write an algorythm that would go through the entire explosion area and check each surface if its angle is fine. If not, place a pathing blocker with size 1x1. And you probably need to create a big array wich would contain information about the pathing blockers, so you can remove them or wont create multiple on the same spot. This would tough cause that in a rectangle area, one triangle of surface may be pathable and one not, and it would restrict movement on both, or you could try placing it in the center of the triangle rather than instead of a rectangle consiting of thoes two triangles.
The effect is only visual, and trying to get the height at point will give you the pre-deformed value
The deformation is non stacking, and damages deformations arround it
Theory (skip this if your not interested in how I did it)
So, the ground surface in SC2 is actualy made of triangles. For each XY coordinate, there are two triangles set each time in the same way. Example: in the rectangle area from point [0,0] to point [1,1] there are two triangles. One is made from points [0,0] , [0,1] , [1,1] and the other one from [0,0] , [1,0] , [1,1]
I noticed that when you create a deformation actor with a footprint 1x1, it deforms only one point in the coordinate system. This gives me full power to adjust height of each point that creates the surface.
To doo this, I had to create a lot of deformation actors in the data editor. For each decimal place one actor.(Example Deformation depth 2.1 , 2.2 , 2.3) Simply a lot of pain. And to remember the deformation I made a Big array, called "Def array" its type is "real" The lenght of the array needs to correspond to the dimensions of your map.(or be bigger=waste of memory)
I created a simple globe deformation algorythm. What it does is:if the terrain point in the affected globe is higher than the bottom surface of the globe, then adjust its height.
Z coordinate calculation is quite simple. Just find out witch triangle corresponds to the XY point where you want to get the Z coordinate. Get the terrain height of all 3 points wich create that triangle. Add the stored deformation in "Def array" and you get 3 points in that triangle surface. These 3 points define a plane. The Z coordinate is the solution for your XY in that plane.
How to use my system:
Use the deform globe function to deform terrain. The Z coordinate in it is absolute.(not the height distance from terrain)
Use the Deformed Z function to get the absolute Z coordinate of the terrain. The Angle limit parameter does warn you with a text message that the surface angle is bigger than the limit(may be usefull to determine if a surface is pathable by units). If you dont want that message and instead want it to do something else, just open up the Deformed Z function, scroll to the bottom of it and find a comment "Angle limit crossed actions". All under that comment and in that condition is your to change. Add there anything you want it to do if the surface angle is bigger.
The maximum deformation is set to "5" If you want bigger deformations, you need to create more deformation actors, add them in the "Deformation actors" variable, and then in the deform globe function, at the bottom change the number in the last condition from 50 to YOUR MAXIMUM DEFORMATION multiplied by 10. Also in the last create actor action change the array number from 50 to the same as lasst time.
Thanks for your time, ask any questions, and if you decide to use this, please dont forget about me :)
Hello there. I discovered an easy way how to simply get "Key pressed" into an string. (Hope im the first to post it :P)
So im going to use it to create a decent trigger system for writing in dialogs.
I attached my map so you can use it and skip all this. If you decide to use it, please give some credit where due :) Scrold down if you want to know the trick.
About my map:
I developed a decent system for people to use. What it does is that when you click with your mouse on the area where the text is(writing box), it starts flashing/pulsing at the end with " I " to let you know its active. Then when you press a key, it will write into the box. If you click on another box, it will active that one instead. :) Supports cappital letters (while holding down shift) and spaces.
How to configure my system:
1 In the directory "parameters" Set number of texts to the number of writing boxes you want to have, players to the number of players that will use it. Dont forget to change the range of all variables to the corresponding numbers.(Set to 3 and 5 by default). Cooldown is a parameter that sets the time between the " I " flasing at the end and set the minimum time between box-activations (There is a small cooldown after activating a box before you can activate another one, you will not notice it in practise) String lenght is the maximum lenght the system will let you write in one box.
2 In the directory "dialog" Open up trigger init and do whatever you want with that dialog. Please note these things. The images I created there are only graphical, and not system needed. Labels are only graphical output of the written text. Buttons there, are the activation area. (I need to stress out that for practice use, the button should be right under the label and image, if its not, then you wont be able to activate the box and write in it.) When you see how I done it I think you will know how to make your own or more boxes,
3 When your done, and you want to end the writing cycles, just set the variavle "Active text" to 0 for the corresponding player AND restart the cooldown timer(Pulsing timer/cooldown) for the corresponding player. You have to create your own trigger/button or whatever for that for that.
4 Profit. Written texts are stored in "writed string-save" Array parameters are(Player , number of the box)
If you want to make your own system, here is the core basic you need to know:
Folow these exactley these steps.
-1. Create a Trigger.
-2. Set events to Key pressed.
-3. Create a local variable. Name it integer catcher. Set the type to -Preset and Key.
-4 New action. Set "integer catcher" to Key pressed.
(important part inc)
-5 Now, change "integer catcher"s type from -Preset/Key to integer. (it will change the variable type, but, it will still be set to "key pressed")
-6 Add new action: Text message. Set the text to: Convert integer to text, and set the value to "integer catcher".
Result? If you now run this map, and press any key, you will get a text message with an number.
This number corresponds to the key you pressed. Each key on the keyboard has its own number.
-7 Create a varriable, name it ASCI. Set its type to string. Make it a constant and paste this in it "ca0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ "
(including that gap at the end and without "")
-8 New action : If then else.
If: Within bounds(parameters: 3<=integer catcher<=39)
Then: New action. Text message. Set the text to: Convert string to text. Now set the value to Substring (parameters: ASCI , integer catcher , integer catcher).
Fin. Now, if you press a key, it will tell you the number of it, AND write the key you pressed.
I think you can do others stuff on your own.(like storign it in a string value etc ..)
If you find any bugs/issues let me know. Feel free to ask if I didint explain something good. (PS:sorry for grammar mistakes :P)
Principle : bouncing/throwing physics.
Movement : with WASD you can apply an force on your firebat to move.
Goal: bounce to the end of the hall. Dont hit any animals.
-the code is a bit messy, some unfinished/unimplemented stuff.
Sorry, i know its not very polished, I got the system working and that is important for me. I just wanted to be a part of this, and hopefully the community will take something from it :)
PS: how do I make the video appear instead of a link?
Hi. Here is a little video of what i have been working on. I am still working on the core, so, things arent really tweaked, I first need to get the systems working.
So, what to expect
-Diablo like gameplay
-Different characters
-Some story(later)
A lot of things are incomplete or placeholders, like the map for example.
PS: Damn, my voice and english sounds strange :D
Link :
What I want: feedback, ideas etc .. for example how to fix that skybox wich you may notice in the character screen ..didint find it anywhere.
Anyway, thanks for your time and SC2mapster for being a great resource of information.
So here is my problem. I got a unit with the model of a high templar. In the prewiever I found that he has an animation called "Spell A".
Now I want to make my unit play that animation through triggers.
I found there is "Send actor message Anim play". But in that you need to specify two strings. I tryed a lot of things, but no succes in playing "Spell A" animation. I inly got it working with "Spell" animation, and thats when I set hoes strigns to "Spell/Spell".
Then, there is "play animation". In that I can pick from a drop down menu, but its lacking "Spell A" .. so Im really dissapointed. Can anyone help please?
0
@Demon4231: Go
make math formula .. only real possible way to make it good. Playing through all levels wont help, as other people may use a different build that will just dominate. First you need to balance your towers, then you can balance the levels.
0
@zeldarules28: Go
well, blizz improved on key pressed lag. In a slower paced game, a 0.5 second delay should not make a massive difference, especialy when you will be "walking".
If it would be really really laggy, there are other possible movement systems, as clicking with mouse where you want to go, and middle mouse button would toggle FPS camera. or stuff like that.
0
GRAMMAR POLICE! :P fixed :)
Well, the thing is that games like that are kinda slow peaced,so im afraid people would fall asleep.
Wouldnt instead an faster action shooter be better? ..
I made some maps and I really put a lot of time in them, not completley polished, but they got the principle .. and when I published them, people really didint play them, and didint kinda find them fun ..
so it mostly comes down to have a good idea .. and I dont want to waste more time into something thats going to be boring
0
@Claymuffin: Go
its very simple. Side picking - the camera will rotate to that side, from wich the needed rotation is smaller.
Camera - Apply camera object Rotation 0.5 for player 1 over 2.0 seconds with Existing Velocity% initial velocity and 0% deceleration
This your trigger will rotate the camera to 0.5 Degrees (relative to the XY axis). If I remember correctly, 0 is looking allongside with the X axis, altough, if you check the camera angle in the editor, it will probably show you -90 degrees or 270. Its bugged in the editor I think.(but im not sure now)
Existing Velocity% - leave that the way it is. Its how smoot the camera should transition between positions. Decleration - dont remember, but unless you want a really tight camera, you dont need to adjust that.
You probably need a loop, that will turn the camera only by 90 degrees, to make sure it rotates the way you want it.
Example :
Dont copy the arithmetic part exactley, I just wrote that on top of my head, so you have an easy time finding the correct functions. If you want the opposite rotation, simply change +90 to -90
Hope this helps
0
Principle:
Simply, I want a playstyle similar to hitman. So, what do you think? It would require a lot of work, but would people play it?..
0
Didint tought of that. I have no experience with pathing. Then it should work perfectly :)
0
@DrSuperEvil: Go
Yup. The terrain def actors are set to disapper after a few seconds, but the deformation is set to remain, so there is no risk of overwhelming someones PC and cause lag. I used it in my map when there are explosions .. works fine. If your interested seeing it in action and your from EU, try out my map "Star worms" but you need someone with you or else it will turn of soon. (Sneaky sneaky advertising my map :P)
In my map for example im using triggers to move units. So I just change a variable to let the system know you cannot go there. But you could write an algorythm that would go through the entire explosion area and check each surface if its angle is fine. If not, place a pathing blocker with size 1x1. And you probably need to create a big array wich would contain information about the pathing blockers, so you can remove them or wont create multiple on the same spot. This would tough cause that in a rectangle area, one triangle of surface may be pathable and one not, and it would restrict movement on both, or you could try placing it in the center of the triangle rather than instead of a rectangle consiting of thoes two triangles.
hope im not confusing :P
0
Hello, here I will show you how to do this :)
The editor base deformation issue:
Theory (skip this if your not interested in how I did it)
How to use my system:
Thanks for your time, ask any questions, and if you decide to use this, please dont forget about me :)
0
Map idea based on : Worms
Demo testing phase (mostly testing mechanics) (Published on EU)
Contains:
Control:
Game goal:
Goal of this thread:
0
Hello there. I discovered an easy way how to simply get "Key pressed" into an string. (Hope im the first to post it :P) So im going to use it to create a decent trigger system for writing in dialogs.
I attached my map so you can use it and skip all this. If you decide to use it, please give some credit where due :) Scrold down if you want to know the trick.
About my map:
I developed a decent system for people to use. What it does is that when you click with your mouse on the area where the text is(writing box), it starts flashing/pulsing at the end with " I " to let you know its active. Then when you press a key, it will write into the box. If you click on another box, it will active that one instead. :) Supports cappital letters (while holding down shift) and spaces.
How to configure my system:
1 In the directory "parameters" Set number of texts to the number of writing boxes you want to have, players to the number of players that will use it. Dont forget to change the range of all variables to the corresponding numbers.(Set to 3 and 5 by default). Cooldown is a parameter that sets the time between the " I " flasing at the end and set the minimum time between box-activations (There is a small cooldown after activating a box before you can activate another one, you will not notice it in practise) String lenght is the maximum lenght the system will let you write in one box.
2 In the directory "dialog" Open up trigger init and do whatever you want with that dialog. Please note these things. The images I created there are only graphical, and not system needed. Labels are only graphical output of the written text. Buttons there, are the activation area. (I need to stress out that for practice use, the button should be right under the label and image, if its not, then you wont be able to activate the box and write in it.) When you see how I done it I think you will know how to make your own or more boxes,
3 When your done, and you want to end the writing cycles, just set the variavle "Active text" to 0 for the corresponding player AND restart the cooldown timer(Pulsing timer/cooldown) for the corresponding player. You have to create your own trigger/button or whatever for that for that.
4 Profit. Written texts are stored in "writed string-save" Array parameters are(Player , number of the box)
If you want to make your own system, here is the core basic you need to know: Folow these exactley these steps.
-1. Create a Trigger.
-2. Set events to Key pressed.
-3. Create a local variable. Name it integer catcher. Set the type to -Preset and Key.
-4 New action. Set "integer catcher" to Key pressed.
(important part inc)
-5 Now, change "integer catcher"s type from -Preset/Key to integer. (it will change the variable type, but, it will still be set to "key pressed")
-6 Add new action: Text message. Set the text to: Convert integer to text, and set the value to "integer catcher".
Result? If you now run this map, and press any key, you will get a text message with an number. This number corresponds to the key you pressed. Each key on the keyboard has its own number.
-7 Create a varriable, name it ASCI. Set its type to string. Make it a constant and paste this in it "ca0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ " (including that gap at the end and without "")
-8 New action : If then else.
If: Within bounds(parameters: 3<=integer catcher<=39)
Then: New action. Text message. Set the text to: Convert string to text. Now set the value to Substring (parameters: ASCI , integer catcher , integer catcher).
Fin. Now, if you press a key, it will tell you the number of it, AND write the key you pressed. I think you can do others stuff on your own.(like storign it in a string value etc ..)
If you find any bugs/issues let me know. Feel free to ask if I didint explain something good. (PS:sorry for grammar mistakes :P)
0
hello.
Finaly my racing is published on EU.
Its in beta state.
What is it about? :
- 2-8 players (would be nice if there where 8 for more fun) -Racing -Weapons -Some physics.
Everything important is explained ingame.
Please provide some feedback, thanks :)
PS:I strongly recomend to turn down graphics if you have a weaker PC, and turn off unimportant programs running in background.
0
Principle : bouncing/throwing physics. Movement : with WASD you can apply an force on your firebat to move. Goal: bounce to the end of the hall. Dont hit any animals.
-the code is a bit messy, some unfinished/unimplemented stuff.
Sorry, i know its not very polished, I got the system working and that is important for me. I just wanted to be a part of this, and hopefully the community will take something from it :)
PS: how do I make the video appear instead of a link?
0
@Sixen: Go
I hope I can use custom movement and camera systems: (example Third person WSAD)
if so, i thing I got a funny idea, hope ill be able to realize it.
0
Hi. Here is a little video of what i have been working on. I am still working on the core, so, things arent really tweaked, I first need to get the systems working.
So, what to expect -Diablo like gameplay -Different characters -Some story(later)
A lot of things are incomplete or placeholders, like the map for example.
PS: Damn, my voice and english sounds strange :D
Link :
What I want: feedback, ideas etc .. for example how to fix that skybox wich you may notice in the character screen ..didint find it anywhere.
Anyway, thanks for your time and SC2mapster for being a great resource of information.
0
So here is my problem. I got a unit with the model of a high templar. In the prewiever I found that he has an animation called "Spell A". Now I want to make my unit play that animation through triggers. I found there is "Send actor message Anim play". But in that you need to specify two strings. I tryed a lot of things, but no succes in playing "Spell A" animation. I inly got it working with "Spell" animation, and thats when I set hoes strigns to "Spell/Spell".
Then, there is "play animation". In that I can pick from a drop down menu, but its lacking "Spell A" .. so Im really dissapointed. Can anyone help please?