Page 1 of 3
Beta release 1.9.5b
Posted: Tue Dec 16, 2008 12:24 pm
by VilleK
This version is released as
1.9.5
---------------
Hi,
Here is beta version 1.9.5b (
Updated Jan 12)
http://www.zgameeditor.org/files/ZGameEditor_beta.zip
NOTE: Linux and Mac runtime builds not included. You cannot use the binaries from the previous version, it won't work.
NOTE: If you use this version you should be aware that the features may not fully work and that they can be changed or even removed in a later release.
Features:
- Bugfix for problem with 3d-arrays
- Mouse coordinates is now relative to current viewport
- Wireframe linewidth updated when changing materials
- New MouseVisible-property on application component
- Bugfix: "When loading a 24-bit Bitmap into a Bitmap Component that previously held a 32-bit Bitmap, the Alpha Channel isn't updated to none ( causes error )."
- Bugfix: "Reloading a Bitmap that is used by a Font Component doesn't result in the Font being updated in the Editor instantly .. caching problem? "
- New collisionstyle Circle2D that supports collisions with RectOBB_2D
- New "int" datatype available for script. This means you can declare local variables such as "int x,y;" and also read/assign integer properties such as MeshBox.XCount from scripting.
- "Byte" properties are also available from script. Example, toggle between smooth and wireframe shading: "Material1.Shading=(2-Material1.Shading);"
- DefineVariable and DefineArray now has a "Type" property to choose between integer or float type.
- Position of property editor can be selected in the settings dialog according to suggestion by Jph.
- Code-editor is automatically displayed when a component with expression property is selected in project tree.
- PreviewClearColor new property on Application, this selects the background color in the preview window.
- For-loops in scripting. Example: "for(int i=0; i<MyArrayOneDim.SizeDim1; ++i) MyArrayOneDim=10;"
- Local variables can be declared with initializers: "int x=1,y=2;".
- Pre/post increment/decrement syntax for local variables: "i++; ++i; --i; i--;".
- Assignments can be used as values: "x=y=z=1; //set all three local vars to 1".
Please report any problems, thanks!
Posted: Thu Dec 18, 2008 3:14 pm
by Kjell
Hej,
Great beta release. One small bug, when changing a Array's number of Dimensions after it has already been initialized / used, the "Wrong number of array indices" error appears when accessing the Array while using the newly set / correct amount of dimensions ( the dimension number is probably only set on creation of the Array ).
K
Posted: Sat Dec 27, 2008 1:31 pm
by VilleK
Hope everyone had a nice Christmas! I've updated the beta again today.
Posted: Sun Dec 28, 2008 6:02 pm
by Kjell
Kick-ass! Now I won't have to copy over my Trunc-hacks every subversion update anymore

Will it be possible to add a VariableType ( single / integer .. and hopefully string / double etc in the future ) drop-down to the DefineVariable Component?
*By the way, I'm not too crazy about the headers you added to the Editor as it takes away from the vertical space of the Tree and Property Panels.
K
Posted: Sun Dec 28, 2008 6:14 pm
by VilleK
Glad you like it

. Yeah, it has taken a long time but now I have a simple type system in place hopefully other improvements to the scripting engine can be a reality later on. There may well be lots of bugs lurking around this so please report even small issues.
About the new gui-captions: yes they take a small amount of screen space, but I thought they look nice and they have the benefit of adding hot-keys to focus different parts of the interface making it more keyboard-friendly. Alt-C for focusing the code-editor, Alt-T for the project tree, and Alt-P for the properties view.
Posted: Mon Dec 29, 2008 1:43 pm
by Kjell
Hi guys,
A simple step-based ( opposed to morph-based ) LOD example build with 1.9.5b. Use key up & down to zoom and spacebar to toggle between flat and wireframe.
K
Posted: Mon Dec 29, 2008 3:03 pm
by VilleK
And updated again today.
Now you can also work with "byte" sized properties in scripting.
For example:
Property TextureWrapMode on Material component can have three different values set in the designer: 'Mirror','Tile' or 'Clamp'.
In script you can set the property like this:
Material1.TextureWrapMode=0; //set to Mirror
Material1.TextureWrapMode=1; //set to Tile
Please note that there is nothing stopping you from setting illegal values such as -1 or 100 which will result in unpredictable behavior both in the designer and in runtime. Also some components may not be prepared for handling dynamic changes of these properties. Just report any problems as usual and I'll try to fix it.
windows and pannels,.
Posted: Mon Dec 29, 2008 3:23 pm
by jph_wacheski
Hi guys,. kjell would you please expand on the differences between these two LOD tecniques, the demo is very interesting,. im just curious.
I am not sure the new gui-captions are worth the loss in screen space,. although they do look nice

I find when the project gets large the tree does become a tad difficult to manage,. I keep grouping stuff and collapsing those groups to view what I need,. one idea I did have was that a drag and drop box (or just multi-select like windows Explorer) around a group of components would sometimes be usefull,. i.e. when moving most of the components from the main event to a state event,. just a thought.
oh here is another,. how difficult would it be to let us drag the properties pannel off the tree and onto the right side? as you do need to access this when working on code but less likely to need the pre-view,. ? actually looking at my screen if the properties split the pannel with the preview the tree could have the whole left pannel,. . humm,. could be an option.
I noticed the the Project options now include 'build activeX' ! that is interesting,. perhaps we will see web embeded games soon eh?
I still gotta get to testing the new collisions,. been playin' with a Coleco Combat remake for my brothers kids to try,. just want to add some sounds then back to work. I had forgotten about that game but my brother brought it up and I had to do a quick ver. as there are no emu I could find. wow,. 1977 was 30 years ago,. I am old eh!
Posted: Mon Dec 29, 2008 3:40 pm
by Kjell
Hey jph,
Hasn't the ActiveX option been there from the start? It's not that difficult to create a browser plugin that would play encrypted zgeproj files. However, getting the ActiveX component approved / authorized .. is a whole different story. Plus you usually don't want to go there before you have somewhat of a final product as updating too often is a pain.
The difference between step-based and morph-based LOD-ing is that with step-based you just switch between the various meshes depending on the amount of pixels the object covers, while the morph-based method uses the polycount of the LOD that's one level up and morphs the vertices between the current LOD and the next. For example .. a object covers 96 pixels on screen, the current LOD is the one for 64 pixels, and the next is 128 pixels, so the position of the vertices will be 50% of each as 96 is right in the middle. This method is a little more complex / processor intensive obviously, but results in smooth morphing between the LOD meshes instead of the "popping" you get with the step-based approach.
Hope this clears things up.
K
Posted: Tue Dec 30, 2008 9:44 am
by kattle87
Great work, Ville!!!
Now in my opinion the last 2 thing are missing are:
-adding the type of variable (float or int) in the "declare array" component
-ability of declaring arrays and pass them to functions
Posted: Tue Dec 30, 2008 3:44 pm
by VilleK
The ActiveX-stuff is old and will probably be removed. I got close to making it work but it is not a very useful functionality because of the limitations Kjell mentions. So maybe a browser-plugin instead in the future.
I updated the beta again today, see first post for changes.
pannels and work-flow,. .
Posted: Sat Jan 03, 2009 4:04 pm
by jph_wacheski
<edit> -removed image to fix thread size!
wow, that tree pannel option is quite neat!
however I am not sure that layout will facilitate a more speedy work flow since one must select a tree component to edit, then select the expression to access it in the editor. Perhaps it would be more efficient to keep the tree where it is and have the properties pannel sharing the space the priview currently holds. (see mock-up)
Playing around with this in the GIMP gave me more ideas,. so I will share;
- one thing that would remove a step everytime an Expression component is selected in the tree would be to have it automaticly (for the people, lol!) selected in the Code Editor!
- also if you feel that the preview is getting small with this pannel layout,. and to avoid haveing to re-drag all the pannel deviders to get it larger when needed, could add a hot-key to toggle a fullscreen preview,. so it takes over the whole editor. (just moves the pannel deviders,. and toggels back)
- I noticed that if you do drag pannel deviders to their extreme bounds they can get 'lost' and the only way I have found to get them back it to quit and restart, the editor is smart and moves them out just enouph so you can grab them again! sweet.
- the last thing I noticed whilst playing around with this,. and you can see it in the mock-up, is that the GUI elements in the preview window get a tad jumbled up when its pannel is too small,. perticulary the camera position numbers do not scale properly,. etc. one posible solution would be to remove (or hide) those elements when the preview is < the size they do work at,.
- oh and if you do decide to try any of these ideas,. while your messing about with the preview,. a little background colour selector for the preview would be very handy,. (or just have it take the same setting as the app.clearColor!)
on a side note; I was lucky enouph to get a PS3 and I have been playing with Little Big Planet,. and the many demos! (pixeljunk EDEN, and folklore are faves) and it is a very intereting thing,. if you can have a look at LBP,. the interface and editing as well as all the rendering are amazing,. . although the actual gameplay is a tad fidggity w/ the semi-random physics often unpredictable and frustrating,. not sure the solution to the dicodamy of physics sim vs predictable results for the player,. but it is fun to try and find a balance.
Posted: Sun Jan 04, 2009 3:38 pm
by VilleK
Those are good suggestions jph, I will try to realize them to see if they work. Expect a new beta in a few days.
Posted: Tue Jan 06, 2009 5:33 pm
by VilleK
New beta today, first 2009 release! Please give it a try.
Posted: Tue Jan 06, 2009 7:57 pm
by kattle87
Can I have just 1 mre feature added to the beta?

When a mesh producer is added, it does not overwrite the array of triangles, but instead it adds triangles to the array, so in the end we can get a single complex mesh instead of using several meshes in the "OnRender" component. Moreover, some meshes can be made by using several "computational intensive" tecniques (EG: Trees and fractals) that noone wants to put in an "OnRender" component
