| Q&A |
CopperLicht
Nikolaus Gebhardt
February 2010
|
| |
 |
“
[...] CopperLicht
is a 3D engine as well. It is an abstraction layer above
this simple drawing API and makes it much easier to
create 3D Applications: Instead of writing hundreds
of lines of code to draw a few triangles to form a 3d
world with WebGL, you can simply start up CopperLicht
to do all this for you with one single line of code.” |
|
| |
|
| Q1 |
Ambiera
is well-known for irrEdit a level editor for irrLicht engine.
Why are you developing tools for other engines such as Flash
and WebGL? |
| A1 |
Ambiera's
goal has always been to develop tools to help game developers
creating games. That's also why Ambiera is developing irrKlang,
the 3d audio library, for example. There are many game developer
currently switching from old-school application development
to web development, and we want to support them as well with
our tools like CopperCube for 3D graphics in Flash or CopperLicht
for WebGL.
|
| |
|
| Q2 |
Flash
3D engines such as CopperCube have made huge improvements at
the beginning, but it seems that they are still limited especially
for
displaying large scenes. Do you think that Flash 3D engines
will be able to handle more complex scenes in a near future?
What is your opinion about that? |
| A2 |
Yes,
that's true. The big problem here is that one is quite a bit
limited by the Flash platform: Obviously it was never designed
to do
realtime 3d graphics, and all 3D engines for Flash such as
CopperCube are hitting the wall. There are simply limits,
and for 3D in Flash, those limits are reached very easily.
Should Adobe extend their Flash API, and make real hardware
accelerated 3D drawing functionality with Z-Buffer, Shaders
and more available, this could change the game again, of course. |
| |
|
| Q3 |
CupperCube
can generate interactions without any knowledge of Action Script,
how far can people go without coding? |
| A3 |
The
idea was to make it possible to create very simple scenes
without the need to know anything about programming. For example
you can create a 3D scene in CopperCube and make it possible
to walk around in it. You can define simple actions like opening
doors, moving objects, playing sounds and music, opening websites
etc, triggered by different events. For example when the user
walks near a specific object or clicks on something. It's
all still very simple, but with a bit of creativity, you can
create nice 3d scenes. By the way, all these events and actions
are working in CopperLicht, the WebGL engine as well. |
| |
|
| Q4 |
The
demos of webGL on your website look very promising ! It seems
that webGL is much more ready to handle 3D contents than Flash.
Do you think that Flash will be less and less used as webGL
will begining to be available on browsers? |
| A4 |
Thanks!
I was surprised myself how fast WebGL and especially JavaScript
is, after I created the first tests with it. The Quake 3 Level
rendered in realtime by CopperLicht for example speaks volumes:
I guess there will be a lot of WebGL games created in pure
JavaScript in the near future. And yes, I think needing a
plugin for doing 3d graphics in the web won't work for very
long. Plugins have a big disadvantage: They're plugins. You
can simply omit them. |
| |
|
| Q5 |
webGL
is a kind of binding of OpenGL for JavaScript. What is the role
of CopperLicht ? |
| A5 |
webGL
and OpenGL is, like for example Direct3D as well, only a drawing
API. It is very primitive and it takes a bit of efford to
write something complicated like a whole 3D game with it.
That's why there are 3D rendering engines, like Irrlicht for
example. And CopperLicht is a 3D engine as well. It is an
abstraction layer above this simple drawing API and makes
it much easier to create 3D Applications: Instead of writing
hundreds of lines of code to draw a few triangles to form
a 3d world with WebGL, you can simply start up CopperLicht
to do all this for you with one single line of code. |
| |
|
| Q6 |
Actually
CopperLicht and CopperCube UI looks more or less the same, do
you plan to unify them so that people can deploy their 3D content
"everywhere" (.exe, webGL, flash3D) ? |
| A6 |
Actually,
CopperLicht doesn't have any UI, it is just some code, the 3d
engine. CopperCube is a 3D editor, and yes, it already is unified:
It can publish to .exe, Flash 3d and now even WebGL using CopperLicht
as rendering backend. |
| |
|
| Q7 |
About
WebGL, it seems that Javascript must handle a lot of thing :
parsing 3D models, interactions, collision, animations. Do you
think that script language are enought fast for creating games? |
| A7 |
I
think it can do it, yes. The next release of CopperLicht will
include a complete collision and response system, it is already
partially
implemented in the current version. So with the next release,
you will be able to run around in the 3d worlds and interact
with items in there. |
| |
|
| A8 |
CopperLicht
introduces a new compress file format, what is the benefit ? |
| Q8 |
For
CopperLicht, the whole 3d scene is compiled into one small binary
file, the .ccbjs file (created by CopperCube). Since WebGL is
web based and to draw the 3d world it needs to be downloaded
first by the web browser, it is better if the data to download
is smaller. This reduces the bandwith needed by the users and
increases the speed in which the game loads. |
| |
|
| A9 |
For
developer that want to create small games with CopperLicht which
workflow do you suggest ? Can they create contents comparable
as the one created with Unity3D or Virtools? |
| Q9 |
Unfortunately
I never used one of these tools, but I heard good things about
them. The workflow for CopperLicht goes like this: Create your
3D objects in your favourite 3D modeller and import them into
CopperCube, the 3d editor supports about 17 3D file formats.
From there, you can edit, adapt and publish your scene with
one click as interactive 3d WebGL program already. If you want
to go on and create a real 3d game, you can then use CopperLicht
to write your game based on this. Of course, you can do this
also without the 3d editor CopperCube, but I guess this is the
simplest way. |
| |
|
| A10 |
What
are the next milestones in CopperLicht developpement? |
| Q10 |
The
next version of CopperLicht will include a complete collision
and response system, to make it possible to walk or fly around
3d scenes without moving through walls and to interact with
3d objects. It will for example also be possible to walk up
stairs etc, so it's a basic physics engine. But also character
animation and a more extensible material system is planned,
so there is a lot of good stuff to come. |
| |
|
| |
|