Topic for enhancements on RF i made

Programming Reality Factory and Genesis3D.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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.
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
zany_001
Posts: 1047
Joined: Fri Mar 02, 2007 8:36 am
Location: Aotearoa

Post 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:
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.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post by Jay »

As i said, the wind effect has almost no effect on the frame rate. It only works on particles.
Everyone can see the difficult, but only the wise can see the simple.
-----
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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...
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
zany_001
Posts: 1047
Joined: Fri Mar 02, 2007 8:36 am
Location: Aotearoa

Post by zany_001 »

Cool, someone was wanting that before, thats a great job your doing, keep it up :D :D
Once I was sad, and I stopped being sad and was awesome instead.
True story.
Voltare
Posts: 263
Joined: Tue Jul 05, 2005 10:36 am

Post by Voltare »

with the wind generator and the dynamic items thing, i think it's a .76 at least....cause those are huge!
User avatar
QuestOfDreams
Site Admin
Posts: 1520
Joined: Sun Jul 03, 2005 11:12 pm
Location: Austria
Contact:

Post 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.
Voltare
Posts: 263
Joined: Tue Jul 05, 2005 10:36 am

Post 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........)
User avatar
QuestOfDreams
Site Admin
Posts: 1520
Joined: Sun Jul 03, 2005 11:12 pm
Location: Austria
Contact:

Post 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:
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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
Everyone can see the difficult, but only the wise can see the simple.
-----
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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.
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
Juutis
Posts: 1511
Joined: Thu Jan 12, 2006 12:46 pm
Location: Finland

Post 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
Pain is only psychological.
User avatar
zany_001
Posts: 1047
Joined: Fri Mar 02, 2007 8:36 am
Location: Aotearoa

Post by zany_001 »

That all looks very good,but i dont understand wat an enchanched pawn weapon system is. :oops:
Once I was sad, and I stopped being sad and was awesome instead.
True story.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
QuestOfDreams
Site Admin
Posts: 1520
Joined: Sun Jul 03, 2005 11:12 pm
Location: Austria
Contact:

Post by QuestOfDreams »

The word is "enhanced"... maybe this makes things clearer :roll:
Post Reply