Page 3 of 9

Posted: Thu Mar 22, 2007 8:57 pm
by Jay
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 :twisted: (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:
Image

Man i am so proud of this entity.

So far, no crashes and no bugs besides the one i mentioned with the EAS.

Posted: Thu Mar 22, 2007 9:12 pm
by zany_001
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? :D
Please tell :lol: :D :lol:

Posted: Thu Mar 22, 2007 9:12 pm
by Jay
As i said, the wind effect has almost no effect on the frame rate. It only works on particles.

Posted: Fri Mar 23, 2007 7:47 pm
by Jay
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...

Posted: Fri Mar 23, 2007 8:19 pm
by zany_001
Cool, someone was wanting that before, thats a great job your doing, keep it up :D :D

Posted: Sat Mar 24, 2007 9:13 pm
by Voltare
with the wind generator and the dynamic items thing, i think it's a .76 at least....cause those are huge!

Posted: Sun Mar 25, 2007 12:41 am
by QuestOfDreams
I'll write up some guidelines for releasing builds... basically I'd like to keep "offical" builds as more stable releases with new code reviewed and "community" builds to get updates out to the community quickly.

Posted: Sun Mar 25, 2007 1:38 am
by Voltare
good idea, QoD.........(btw....how can i see that game yer building???? cause it looks very zelda-ish to me, and i'm a huge zelda fan........)

Posted: Sun Mar 25, 2007 11:56 am
by QuestOfDreams
Guidelines for releasing Reality Factory builds
(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 havn't work on it for quite some time now... so there's still no demo :oops:

Posted: Fri Mar 30, 2007 8:21 pm
by Jay
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

Posted: Thu Apr 19, 2007 7:15 pm
by Jay
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.

Posted: Thu Apr 19, 2007 7:49 pm
by Juutis
Yes, exellent!!! :D
I think this will be a major feature for RF! After all, proper pathfinding is very important in today's games. I can't wait to get to play with this thing, I hope it's done soon. Great work, keep it up. :P

Posted: Thu Apr 19, 2007 8:38 pm
by zany_001
That all looks very good,but i dont understand wat an enchanched pawn weapon system is. :oops:

Posted: Thu Apr 19, 2007 9:08 pm
by Jay
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

Posted: Thu Apr 19, 2007 9:23 pm
by QuestOfDreams
The word is "enhanced"... maybe this makes things clearer :roll: