Topic for enhancements on RF i made
Next additions:
new script commands:
-IsInLiquid - Tests if the Pawn is in a Liquid and if yes, returns the szEntityName of the Liquid. Can be used to make ScriptedPlayers swim and also....No i won't say this to you i will keep this for my own game (when the demo is out you will see)
-SetForceEnable - Sets if force is enabled for this pawn. Used to make a pawn like a giant rock of stone that cannot be moved.
-SetWindGenerator - Sets if WindGenerator should be enabled or not if you want to make your own wind or disable the random wind (for example when you are inside a Liquid) If there is no WindGenerator entity in the level then this has no effect.
-Environment_SetWindBase - sets the 'base value' for the Wind that will be added to the normal wind created by the WindGenerator. If there is no WindGenerator entity in the level, then this has no effects.
Made the WindGenerator even better:
-added PauseTime
-added 'AnchorValue' - This is the value the wind gets when paused - Normally you would set 0,0,0 as this means no wind.
-The Max and Min Values now can be set for each direction, because normally wind does not go up and down that much like it does go right left forward and backward (hope you understand this)
Here is the WindGenerator in Action with a Spout entity:
Man i am so proud of this entity.
So far, no crashes and no bugs besides the one i mentioned with the EAS.
new script commands:
-IsInLiquid - Tests if the Pawn is in a Liquid and if yes, returns the szEntityName of the Liquid. Can be used to make ScriptedPlayers swim and also....No i won't say this to you i will keep this for my own game (when the demo is out you will see)
-SetForceEnable - Sets if force is enabled for this pawn. Used to make a pawn like a giant rock of stone that cannot be moved.
-SetWindGenerator - Sets if WindGenerator should be enabled or not if you want to make your own wind or disable the random wind (for example when you are inside a Liquid) If there is no WindGenerator entity in the level then this has no effect.
-Environment_SetWindBase - sets the 'base value' for the Wind that will be added to the normal wind created by the WindGenerator. If there is no WindGenerator entity in the level, then this has no effects.
Made the WindGenerator even better:
-added PauseTime
-added 'AnchorValue' - This is the value the wind gets when paused - Normally you would set 0,0,0 as this means no wind.
-The Max and Min Values now can be set for each direction, because normally wind does not go up and down that much like it does go right left forward and backward (hope you understand this)
Here is the WindGenerator in Action with a Spout entity:
Man i am so proud of this entity.
So far, no crashes and no bugs besides the one i mentioned with the EAS.
Everyone can see the difficult, but only the wise can see the simple.
-----
-----
Would the wind effect slow down the pawns and characters?
Thats a cool effect,bro.
****EDIT****
What is the effect thats gonna be in your game?
Please tell
Thats a cool effect,bro.
****EDIT****
What is the effect thats gonna be in your game?
Please tell
Last edited by zany_001 on Thu Mar 22, 2007 9:13 pm, edited 1 time in total.
Once I was sad, and I stopped being sad and was awesome instead.
True story.
True story.
I hope you are sitting right now, because i've built in a MAJOR improvement:
It is now possible to add 'DynamicEntities' These are just Actors that are created and destroyed at runtime by script.
They are created at point 0,0,0 and with rotation 0,0,0. You will then move them to the correct place and assign the important values with the SetEntityProperties() commands.
This could be used for example if your enemy drops an item. Then you add the dynamic entity. When you have picked it up, you just remove it again. Very simple.
The script commands are these:
-AddDynamicEntity(szActorFile, szEntityName)
-RemoveDynamicEntity(szEntityName) - please make sure that you ONLY remove DynamicEntities with this command! Otherwise this could lead to unpredictable behaiviour! (I am not sure what will happen when you remove other entities(=Actors) with this command, could produce everything from memory leaks over unpredictable attribute values to crashes)
-PreLoadActor(szActorFile) - Simply preloads an actor so that there isn't an interruption in the game flow when a dynamic entity is added and the actor wasn't loaded before.
Also, another minor script command:
-ForceXYZ(x,y,z) - other than the normal Force commands, this produces force in XYZ directions. These are world units. Could be used to transform a liquid entity into a river.
BTW, I feel i now have enough for a release. As soon as the EAS bug is solved i will put it together and release it. How should i call it? RF075D? Or even RF076? Don't know which requirements i need to meet to up up the big number...
It is now possible to add 'DynamicEntities' These are just Actors that are created and destroyed at runtime by script.
They are created at point 0,0,0 and with rotation 0,0,0. You will then move them to the correct place and assign the important values with the SetEntityProperties() commands.
This could be used for example if your enemy drops an item. Then you add the dynamic entity. When you have picked it up, you just remove it again. Very simple.
The script commands are these:
-AddDynamicEntity(szActorFile, szEntityName)
-RemoveDynamicEntity(szEntityName) - please make sure that you ONLY remove DynamicEntities with this command! Otherwise this could lead to unpredictable behaiviour! (I am not sure what will happen when you remove other entities(=Actors) with this command, could produce everything from memory leaks over unpredictable attribute values to crashes)
-PreLoadActor(szActorFile) - Simply preloads an actor so that there isn't an interruption in the game flow when a dynamic entity is added and the actor wasn't loaded before.
Also, another minor script command:
-ForceXYZ(x,y,z) - other than the normal Force commands, this produces force in XYZ directions. These are world units. Could be used to transform a liquid entity into a river.
BTW, I feel i now have enough for a release. As soon as the EAS bug is solved i will put it together and release it. How should i call it? RF075D? Or even RF076? Don't know which requirements i need to meet to up up the big number...
Everyone can see the difficult, but only the wise can see the simple.
-----
-----
- QuestOfDreams
- Site Admin
- Posts: 1520
- Joined: Sun Jul 03, 2005 11:12 pm
- Location: Austria
- Contact:
- QuestOfDreams
- Site Admin
- Posts: 1520
- Joined: Sun Jul 03, 2005 11:12 pm
- Location: Austria
- Contact:
Guidelines for releasing Reality Factory builds
I havn't work on it for quite some time now... so there's still no demo(btw....how can i see that game yer building???? cause it looks very zelda-ish to me, and i'm a huge zelda fan...)
I will release it on monday, because i still have to write the docs for it.
This release contains:
-The Enchanched Pawn Weapon System
-Particle Wind inclusive the WindGenerator
-Adding of Dynamic Entities (=Actors)
-Gravity represented as a 3 component vector
-Several other script commands that may prove usefull, see above for more info
Other notes:
-The FreezeEntity() code is not finished yet. I mean i haven't tested it enough to say anything about it. Sure is that the script is not executed.
-The EAS was thrown out of this release since it has this bug that i cannot solve. The code is there but i will disable the use by commenting it out in GameEntityDataTypes.h
This release contains:
-The Enchanched Pawn Weapon System
-Particle Wind inclusive the WindGenerator
-Adding of Dynamic Entities (=Actors)
-Gravity represented as a 3 component vector
-Several other script commands that may prove usefull, see above for more info
Other notes:
-The FreezeEntity() code is not finished yet. I mean i haven't tested it enough to say anything about it. Sure is that the script is not executed.
-The EAS was thrown out of this release since it has this bug that i cannot solve. The code is there but i will disable the use by commenting it out in GameEntityDataTypes.h
Everyone can see the difficult, but only the wise can see the simple.
-----
-----
Ok i have picked up work again for something i really need:
Hardcoded pathfinding. You will set for every ScriptPoint if it will be used for pathfinding or if it's just a normal one. Those that are used for pathfinding can still be used normally in a script.
Also there will be 8 additional entries in the ScriptPoint Entity for up to 8 points that are linked to that point.
It will be possible to design one-way-routes (yeah, you will be able to do traffic cars that only drive on the right/left without much scripting and that will move to random destinations). I will tell you more about this in later posts. i still have to get it working perfectly.
There will be a few (HighLevel) commands added:
CreatePath(...) - specify a new path manually (enter the script points)
FindPath(x,y,z) - searches for a path to xyz (world units) using script points. When the last scriptpoint is reached, you will have to move manually to your destination point - you will be able to reach
NextPathPoint() - Sets the next point on the path as the current point
PreviousPathPoint() - Sets the previous point on the path as the current point
There is a maximum of 48 points in one path currently i hope that will be enough. The pathpoints are organised like a net and there will (hopefully) not be much impact on the speed if you've got many many script points in a scene. Currently the system has still problems with dead ends - it will lead you directly into them if you got bad luck And then you will not get out of them. I hope to correct that soon. The current system is fast, i hope it will be too if i'll also do dead end testing. However, the speed will not differ much unless there are dead ends between the point where the search starts (the pawns position) and the destination point.
I hope you understood that.
Hardcoded pathfinding. You will set for every ScriptPoint if it will be used for pathfinding or if it's just a normal one. Those that are used for pathfinding can still be used normally in a script.
Also there will be 8 additional entries in the ScriptPoint Entity for up to 8 points that are linked to that point.
It will be possible to design one-way-routes (yeah, you will be able to do traffic cars that only drive on the right/left without much scripting and that will move to random destinations). I will tell you more about this in later posts. i still have to get it working perfectly.
There will be a few (HighLevel) commands added:
CreatePath(...) - specify a new path manually (enter the script points)
FindPath(x,y,z) - searches for a path to xyz (world units) using script points. When the last scriptpoint is reached, you will have to move manually to your destination point - you will be able to reach
NextPathPoint() - Sets the next point on the path as the current point
PreviousPathPoint() - Sets the previous point on the path as the current point
There is a maximum of 48 points in one path currently i hope that will be enough. The pathpoints are organised like a net and there will (hopefully) not be much impact on the speed if you've got many many script points in a scene. Currently the system has still problems with dead ends - it will lead you directly into them if you got bad luck And then you will not get out of them. I hope to correct that soon. The current system is fast, i hope it will be too if i'll also do dead end testing. However, the speed will not differ much unless there are dead ends between the point where the search starts (the pawns position) and the destination point.
I hope you understood that.
Everyone can see the difficult, but only the wise can see the simple.
-----
-----
in case somebody did not know: the release has already been. The forum topic is 'Reality Factory Community Release...' (something like that)
Enchanched pawn weapon system means this:
Before, we were only able to use 1 weapon actor per pawn (they were actually no 'real' weapons, jsut actors attached to it)
Now it is possible to use up to 16, this makes making of scripted inventories (put on shoes, gloves, just everything) easier
Enchanched pawn weapon system means this:
Before, we were only able to use 1 weapon actor per pawn (they were actually no 'real' weapons, jsut actors attached to it)
Now it is possible to use up to 16, this makes making of scripted inventories (put on shoes, gloves, just everything) easier
Everyone can see the difficult, but only the wise can see the simple.
-----
-----
- QuestOfDreams
- Site Admin
- Posts: 1520
- Joined: Sun Jul 03, 2005 11:12 pm
- Location: Austria
- Contact: