Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > CopperCube > Announcements and Showcase
CopperCube 4.0.4 - and CopperCube for game developers released

2013-05-31 06:23:20

CopperCube 4.0.4 is now ready for download. You can get it here:

This version includes the beta version of "CopperCube for game developers", basically an entirely new scripting system: All targets now support JavaScript scripting, using the same API. New behaviors and actions can now be added yourself, or downloaded from the website.

Other changes: Multitouch support on Android, WebGL speed improvements and ~50% improved download size, extended 'if' action, sound volume and collision details control via variables, improved COLLADA import, various bug fixes.



CopperCube now supports creating own actions and behaviors. Downloading new behaviors and actions from the internet is also possible now. These new behaviors are called 'scripted' behaviors and actions,and are written in JavaScript, and work on all publishing targets. Apart from a small performance penalty, these actions and behaviors work just like the already known ones.

Unified scripting interface. All publishing targets (Windows .exe, Mac OS X .app, WebGL app, Flash .swf and Android app) can now can be scripted using JavaScript with the same API. This means all code you write for extending your app will now work on all other targets.

New behaviors and actions: (all these are implemented the above mentioned new beta interface)
- Simple 2D Jump'n'Run Player (Behavior): moves the node it is attached to only on the x axis, controlled by the cursor keys and with space for 'jump'
- Set a random value (Action): Sets the content of a variable to a random value between specified boundaries
- Fade screen (Action): Fades the whole screen to or from a color, and executes an action when finished.
- ... And more to download from the website, like for example the "Zoom Camera by mouse wheel" behavior.

- Multitouch now supported for the Android target. This means more than one touch input control can now be used
at the same time (like one for moving a character, one for jumping or fireing)

- The file size of the WebGL .js code has been reduced by about 50%, startup time is now about 30% faster

- The Android target is now also able to use the "Execute JavaScript" action, as all the other targets

- The "if a variable has a value do something" action now has an optional second "else" action, executed when the
condition is not true.

- There is a new coppercube variable available named 'soundvolume' with which you can get or set the global
sound volume in your app. Use it like: "system.soundvolume" in a variable action.

- With the new coppercube variable named 'colsmalldistance', you can adjust the detailed collision behavior of
the "Collide when moved" behavior. This affects how the ellipsoid is moved when colliding with a wall.
Affects movement smoothness and friction.

- The JavaScript debugger window will no longer print repeating lines (unless manually printed)
and is much clearly readable now

- Improved COLLADA file importer: Now files refencing textures with invalid characters in them
will be corrected and loaded correcly.

- The flash and webgl FPS camera now behaves like the ones of most the other targets and doesn't support
zooming by mouse wheel anymore. If you want to use zooming again, use the "camera zoom behavior"
which can be downloaded from the CopperCube website.

- When editing elements in the property window, the scene graph explorer won't scroll the element out of view anymore.

- The plugin menu has been moved to be under the 'Edit' menu now

- Fixed a problem causing model viewers not to work anymore in Chrome 27 in the WebGL target.

- Fixed a bug causing overlay 2d nodes not to be cloneable on the flash target

- Fixed a bug which caused the flash renderer not to sort transparent objects correctly sometimes

Registered User
2013-05-31 07:48:21

This is truly a fabulous update nico! You really have put a lot into it.
Thanks so much.


Registered User
2013-05-31 08:39:10


Registered User
2013-05-31 08:43:29


Registered User
2013-05-31 09:14:04

Awesome! lets get scripting people!

Thanks Niko

Registered User
2013-05-31 09:23:54

It's great! My question is, have any idea why copperlicht.js ceased to be loaded via dynamic loading of ajax?

Registered User
2013-05-31 10:00:53

Amazing thank you. :) Really enjoying the fade entire screen action already, a godsend. :)

Can't wait to see what scripts get added in the future and looking forward to trying to write some.


Registered User
2013-05-31 10:17:14

Me too,

Just reading the tutorial.

I want to mess around with materials to start off with but things like life / health bars, drawing apps, are also of interest.

I usually learn by doing and can not wait to get stuck in but I do have a lot of work to get on with today...

Registered User
2013-05-31 10:47:30

This is really quite exciting!

Can we include other Javascript library's like Paper.js for example or aspects of three.js or is this out of the remit of the extension system?

Sorry to sound like a noob here.
I am experienced in web design and using Jquery but I usually take opensource frameworks and edit them for my needs...

Registered User
2013-05-31 11:22:29

Very very good! Thanks
But now the CopperCube engine is slower! I test from Flash export.

I hope the collision system will entirely rewritten in the next version, because it will not, it is too rough (and no collision bounding box).
Hopefully in the scripts!

Registered User
2013-05-31 11:30:50

@cyril for me, it seems to be a bit faster even in flash.

@mrmdesign I think it is just the programming language JavaScript, you cannot include JavaScript libraries in CopperCube which were written for doing stuff in the webbrowser.

Registered User
2013-05-31 11:37:17

of course, I have just testet random value .
Great, time to update CC for me .

The scripting thing overwhelmed me . I hope your guys write many cool behaviors and action and share with the noobs like me.

Registered User
2013-05-31 12:40:36

@mrmdesign I think it is just the programming language JavaScript, you cannot include JavaScript libraries in CopperCube which were written for doing stuff in the webbrowser.

I thought so.

Time for me to become a Javascript expert I think.

Registered User
2013-05-31 17:31:58

Nico, Thanks for the all the effort to get this ambitious feature set done in time for the summer development season. Its awesome!

I'm downloading now and look forward to exploring all the new possibilities. Question - any changes to how node resources (texture, sound and mesh) are assigned (hard coded, absolute)?
Is this something we can mod with the new scripting, or is it too fundamental to adj
Sometime I am hoping to we can point resources any relative address ust now root !) or to a internet CC3 asset library via URL or web service. Then we could make it possible to shop for CC3 assets or even dynamically update!

2013-05-31 19:10:18

You should be able to reference textures and sounds by their name, and this is usually the absolute path. In WebGL, since all textures are written into a subdirectory, those are relative, with a copperlichtdata/ path in front of them. But usually, you should be able to get a texture from a material for example, store it and set it later when you need it, so you shouldn't need to care about this. But right, it would be nice to have a possibility to go through all assets, maybe.
Also, loading new resources for example from the web isn't possible yet, but it's definately something I want to add soon.

Create reply:

Posted by: (you are not logged in)

Enter the missing letter in: "Interna?ional" (you are not logged in)




Possible Codes

Feature Code
Link [url] [/url]
Bold [b]bold text[/b]
Image [img][/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]



Copyright© Ambiera e.U. all rights reserved.
Privacy Policy | Terms and Conditions | Imprint | Contact