Feature requests?

All topics about ZGameEditor goes here.

Moderator: Moderators

User avatar
VilleK
Site Admin
Posts: 2274
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Posts: 14 did you miss that one ?

Post by VilleK »

Save maximize state is fixed in new version.

About model interactions in scripting: this is definitely lacking. The only way to currently communicate between models is by setting global variabels. Or having single instance models spawn by reference (all enemies can script with "PlayerModel" but the playermodel can't get a single enemy). In some examples I set Temp1 etc in a zexpression before SpawnModel and the models OnSpawned expression examines these variables. This is a crude way of passing data by parameters.

Arrays, parameters and functions for this like in GameMaker would be the way to go. It does require a bit of work in the compiler code which is the hardest part to change in ZGE. If you know anyone with compiler-writing skills then please let them know of this project because I could really use some help in that area.

SeekModel should work, but you need to spawn your model by reference, otherwise it tries so seek the original model not the clone, and the original model position is at 0,0,0.

Writing to files is a planned feature, however I imagined it being used for saving settings and highscores, not as a level-editor :) ! I'm not sure a good level editor is possible in ZGE at the moment, but feel free to prove me wrong :) . Personally I would write a level editor in C#, ActionScript or Java.
User avatar
jph_wacheski
Posts: 1005
Joined: Sat Feb 16, 2008 8:10 pm
Location: Canada
Contact:

wow great stuff,.

Post by jph_wacheski »

cool i will try using your 'crude way of passing data by parameters' as it sounds usefull,. . all the fixes and new stuff is great!

I noticed that if you try to open a .ZGEproj file the app hangs,. :(

also currently if you use Save As the app does not use to name of the file you opened and instead uses the one the app auto -oaded on running it,.

could there be a way for me to change the icons of the components in the IDE ? I would like to see them a little more meaningfull,. I find myself scanning around,. as they mostly have the same icon,. I think this would help with learning the app, and further use as well,.

some form of pattern holder component is needed,. array or string,. just a way to save a set of note values or what have you,. attack angles,. light vectors,. . , array[0]=5; array[1]=7; array[2]=3;

how about a spline editor ! they are procedural and tinny,. 2d and 3d splines would roc in here! for sounds, and animation, and movements,. etc. I vote for a spline editor,.
iterationGAMES.com
User avatar
VilleK
Site Admin
Posts: 2274
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Post by VilleK »

Jph, I'd gladly accept more component icons if you are willing to design them (or find free icons on the web) and post them on the forum. ZGE could also use a nicer-looking app-icon, the "invader" looks a bit cheap. I'm a coder with no graphic design skills :)

About ZGE hangs when open .zgeproj-file: can you please elaborate on this?
User avatar
turshija
Posts: 127
Joined: Sat Feb 17, 2007 9:26 am
Location: Novi Sad, Serbia
Contact:

Post by turshija »

one thing that should be updated in next release ...
component Timer needs one more thing, and that is repeat count or something like that ... if its -1 then repeat timer forever else repeat it n times ...
it could be useful if we want to make something happen once or twice in (for example) 10 seconds, but don't want it to repeat every 10 seconds without adding additional conditions and counters...
User avatar
jph_wacheski
Posts: 1005
Joined: Sat Feb 16, 2008 8:10 pm
Location: Canada
Contact:

cheers,.

Post by jph_wacheski »

Ville - the hanging happens if i try to open a project file by dubble clicking in windows,. instead of runing the app and then opening it,. not a big deal just a nice thing when it works,. Idea; change Zexpretion to Zcode,. and Model to Object, .i'll look for more clear names,. I think those two are.

turshija - thats a good idea,. many times you want to trigger an event a few times and then stop,.would be nice if what ever the negatice number was would b the munber of times and the interval or just have another box,. For now just make a variable like TICK=5; or what ever,. and in the timer event in a Zcode have something like;

Code: Select all

 if (TICK>0){ TICK-=1; } else timer_name.Interval=0; 
you can also make a random -re-timer by;

Code: Select all

 if (TICK>0){ TICK-=1; timer_name.Interval=random(7,5);} else timer_name.Interval=0; 
What else could we do here, ?
iterationGAMES.com
User avatar
turshija
Posts: 127
Joined: Sat Feb 17, 2007 9:26 am
Location: Novi Sad, Serbia
Contact:

Post by turshija »

yeah ...
i used condition component that has expression return (counter <= MaxNumOfEnemies) and on true has timer with interval that spawns enemy once per second and increases counter +1 ...
but repeat count in Timer component would make everything less complicated :)

Cheers
Boris
User avatar
jph_wacheski
Posts: 1005
Joined: Sat Feb 16, 2008 8:10 pm
Location: Canada
Contact:

more controls on the text window editor,.

Post by jph_wacheski »

also a bit of text editing in the code window would roc!

a simple Find and Replace to re-name stuff,. as sometimes var. names are 10 times in the code,.
iterationGAMES.com
User avatar
Kjell
Posts: 1876
Joined: Sat Feb 23, 2008 11:15 pm

Post by Kjell »

Hej,

Since interaction between instances requires a significant scripting overhaul as mentioned several times before, perhaps adding a non-editable unique ID property ( spawned Model pointer ) to the SpawnModel component could be something to build on for now? This might be a easy-to-implement ( though temporarily ) solution to saves users from declaring heaps of variables to keep track of their models.

Curves/Splines would be handy indeed, preferable as a part of the current Import 3DS-file pipeline. Also, the algorithms needed for curves will likely prove useful for future animation tweening support :wink:

And I'm rooting for the "Model" to "Object" renaming suggestion! Though in case of a ZExpression rename, I'd rather go with ZScript instead of ZCode.

Regards,
Kjell
User avatar
turshija
Posts: 127
Joined: Sat Feb 17, 2007 9:26 am
Location: Novi Sad, Serbia
Contact:

Post by turshija »

while setting Collision Bounds it would be really useful if you could add some kind of Rectangle (or sphere or box, depends on CollisionStyle) in the preview window so we know what are we doing and how long are that Collision bounds ...
i hope you understand what I have in mind :)
i want collision bounds to be drawn in preview window as an object (or you could add an option for that next to Update time and Wireframe checkboxes)
User avatar
zakkwylde
Posts: 29
Joined: Sun Feb 24, 2008 1:38 am
Location: France

A new feature?

Post by zakkwylde »

Hi guys been off for sabatical but wonder if a Velocity command can be given for the 3DS objects to wherever it is facing rather than using sin and cosine commands to work out which way to move when turning. Is it possible to add a feature to move forwards or backwards if negative value to however the object is facing?thanks!
User avatar
Kjell
Posts: 1876
Joined: Sat Feb 23, 2008 11:15 pm

Post by Kjell »

Hi,

Some new requests 8)

Raycast
- Raycast as CollisionStyle or seperate component with the following properties: Position ( vector ), Rotation ( vector ), Depth ( float ), Category ( int ) and a uneditable IntersectionPoint ( vector ) + IntersectionNormal ( vector ) .. or did I mention this one before :roll:

Material
- Replace the Blend property of the Material component with two seperate Source Blend and Destination Blend properties with the following options: Zero, One, ScrColor, DestColor, InvScrColor, InvDestColor, ScrAlpha, DestAlpha, InvScrAlpha, InvDestAlpha and ScrAlphaSat.

BitmapExpression
- Enable ZExpression commands such as IF-statements, Operators and Math functions.


DefineCollision
- There seems to be some kind of bug when switching the Action property ( stop / collision ) and / or removing DefineCollision components. It does not always seem to get updated properly.

And finally, why does it mention "The collision tests are in two dimensions, so the Z value of the model position is not considered in tests." in the DefineCollision Component reference? This seems to be not the case ( anymore ) as I can check collisions over the Z axis just fine.

Keep it up ~
Kjell

Edit: Whitened request for already existing feature
Last edited by Kjell on Thu Apr 03, 2008 4:00 pm, edited 1 time in total.
User avatar
VilleK
Site Admin
Posts: 2274
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Post by VilleK »

Good suggestions as usual Kjell.

DefineCollision documentation updated.

About the BitmapExpression, how do you mean? All the normal zexpression-commands are available here.
User avatar
Kjell
Posts: 1876
Joined: Sat Feb 23, 2008 11:15 pm

Post by Kjell »

Hej Ville,
About the BitmapExpression, how do you mean? All the normal zexpression-commands are available here.
My bad :) I mistakenly thought the pixel indices where referred from the actual bitmap dimensions, while you're using a 0-1 range instead ( it's even mentioned in the Component Reference ). A suggestion though, perhaps it would be a good idea to disable light influence when previewing a bitmap?

Thanks!
K
User avatar
Kjell
Posts: 1876
Joined: Sat Feb 23, 2008 11:15 pm

Post by Kjell »

:idea:

RenderSprite:UseModelSpace
- In a similar fashion as the RenderText UseModelSpace property.

Model:ZLayer / SpawnModel:ZLayer
- Property ( int ) forcing render operations to be executed before / after other Models regardless of their Z-Buffer Depth. Models existing in the same Layer ( default = 0 ) are rendered in regular order.

Model:CollisionStyle:Mesh
- Collision detection on Face level of a Mesh.

SpawnModel
- Rotation ( vector )
- UseSpawnerRotation ( boolean )
- Scale ( vector )
- UseSpawnerScale ( boolean )

Collisions should be affected by a model's rotation and scale, just like their position. In combination with the absence of face level collision, this currently makes any kind of diagonal floors & walls impossible :cry:

Since you do have Model:CollisionOffset, the following properties seem appropriate as well.

Model
- CollisionOffsetRotation ( vector )
- CollisionOffsetScale ( vector )

SetParent
- Component to dynamically set the Parent of a model.

And the MeshImport component is missing from the "Select Component to add" window :wink:

Keep it up!
Kjell
User avatar
Kjell
Posts: 1876
Joined: Sat Feb 23, 2008 11:15 pm

Post by Kjell »

:idea:

App
- Icon ( 16x16 / 32x32 bitmap )
- ClipNear ( float )
- ClipFar ( float )

Model:CollisionStyle
- Cylinder3D

Keypress
- ASCII ( integer )

K
Locked