| Q&A |
Khashayar
Farmanbar
Chief Executive Officer
Agency9
April 2006 |
| |
 |
"AgentFX
offers a large
world support, character animation, programmable particle
system, real-time shadows, render-to-texture, multi
pass rendering, and the list goes on and on. "
<
AgentFX in Action |
|
| |
|
| Q1 |
Please
give a brief presentation of Agency9 and its activities. |
| A1 |
Agency9
is a Swedish company developing and licensing advanced, general
purpose, 3D-engine, called AgentFX, current version is 2.4 .
AgentFX offers advanced features including:
• Real-time shadow volumes
• Vertex and pixel shaders
• Out-door / in-door rendering
• Character animations
• Full Collada interchange format support
We are devoted to following open and wide-spread standards in
order to lower the risks for our clients. By investing in learning
and utilizing the features of AgentFX, our clients are gaining
knowledge in Java, 3D-programming, OpenGL and Collada, all of
which are reusable know-how for their coming projects. At the
present we are experiencing an increased demand for AgentFX
all over our user base.
The development of the engine started at the end of year 2000
by Khashayar Farmanbar and Tomas Karlsson. At the end of 2002
we found the first commercial clients for AgentFX (at that time
version 0.97) and the legal entity Agency 9 AB was founded.
AgentFX was initially created as part of a project to deliver
a web-based game, since the alternative platforms Flash and
Director are very limited and offer poor 3D quality. |
| |
|
| Q2 |
What
kind of applications is AgentFX targeted at? Who is your customer's
typical profile? |
| A2 |
The
bulk of our customers are from Automation, Industrial visualization
and defence/security sector. These customers use the PC platform
(Windows, OS X, Linux/Unix/BSD) and our technology allows them
to easily move across the platforms within their own organization.
The possibility to deploy the application through the web dramatically
reduces the installation/update costs. The application only
needs to be updated on the server. The end-user clicks on a
link on a public web-site or a secured intranet and runs the
latest version.
There are some on-going game projects based on AgentFX, mostly
by start-up companies. Currently game development in Europe
and Northern America is very centralized on consoles, with a
user-base derived of 40 million sold consoles 2003-2005 and
an expectancy of additional 22 million consoles sold during
2006.
However there are over 670 million PC users around the globe
and we are experiencing an increased interest for AgentFX. Game
studios are looking on ways to capitalize on the PC market and
its huge number of users. Our technology is ideal for PC games,
casual games and "true on-line" games; that is games
that can run directly from your browser with the same 3D quality
as regular AAA-titles.
We haven't met any geographical barriers yet, as our clients
range from USA, South America, Europe, Australia and other places. |
| |
|
| Q3 |
Like
Java3D, AgentFX relies on Java for cross-platform programming
and OpenGL for hardware-accelerated rendering. What are the
most important benefits of using AgentFX technology over Java3D?
|
| A3 |
Java3D
is just a scene graph where you get little or no control over
the rendering process. It lacks the performance and any of the
advanced features offered in AgentFX. It also suffers from an
unstable frame rate.
AgentFX is a scene graph where you have complete control over
the rendering process and we also have a set of high level tool
kits. We offer large world support, animation, collision detection
etc. The scene graph has been designed so that the user user
can fast and easy write complex algorithms, such as shadows,
reflection or portals. We have worked very hard to assure that
there is no or very little overhead in this level compared to
working directly with OpenGL. On top of that we have the high-level
tools such as portals and animation etc.
In our benchmarks we've found that we greatly surpass the performance
of Java3D. Although benchmarking is a complicated matter; measuring
raw performance in terms of number of polygons on the screen
will only measure the performance of the graphics card. For
a meaningful benchmark you need a real life scenario that is
implemented on both engines that you could test and compare,
such as large world walk through with collision detection etc.
The problem is that Java3D hasn't any support for the advanced
features you find in AgentFX, such as large world support, character
animation, programmable particle system, real-time shadows,
render-to-texture, multi pass rendering, and the list goes on
and on. |
| |
|
| Q4 |
What
about AgentFX's learning curve? |
| A4 |
If
you have any previous knowledge of 3D graphics such as OpenGL
or some other Scene Graph you will probably feel at home. If
you don't have such knowledge it may take a while to get used
to all the "fuzz" words of 3D graphics.
Included in the package are examples with source code, API documentation
and manuals, and we are of course expanding the documentation
constantly. We found out that parts of our manual is being used
at graphics programming courses at Stanford University, so we
figure it has to be good :-)
Our developer community is focused on development and problem
solving and is a good place to find information and ask questions. |
| |
|
| Q5 |
The
demos you show on your website are distributed as standalone
Java Web Start applications. Is it possible to embed AgentFX
3D content directly in a web page? |
| A5 |
It
is possible to embed AgentFX into a web applet. Although we
don't recommend that since the file structure of Java VM requires
the OpenGL-binding native files to be present in the {java_home}/lib/ext
directory. If a Java application is using another version of
the bindings you might run in to versioning problems. We are
looking into solving this problem, but until than we don't recommend
putting any files into the {java_home}/lib/ext directory. |
| |
|
| Q6 |
Right
now, AgentFX development relies on the Eclipse IDE, which is
heavily programmer-oriented. Do you have plans of building a
more designer-friendly IDE for your technology? |
| A6 |
AgentFX
is a SDK (Software Development Kit) and you need a programming
IDE in order to develop with AgentFX. Eclipse, NetBeans, JBuilder,
IntelliJ and xCode are some IDEs that can be used.
We've tried out some more "designer friendly" interface
and we haven't found any that can combine development flexibility
with a usable graphical interface. It is easy to do a game-editor,
for example a FPS-editor or a racing editor. But we offer a
general purpose 3D engine used in a wide variety of different
applications and our customers value the freedom and the flexibility.
Having said that I don't want to say that it won't happen in
the future, we are still looking for usable ideas to increase
usability. |
| |
|
| Q7 |
How
the use of Java technology impact 3D performances? How many
textured triangles per second can your engine render? |
| A7 |
In
our tests we have not seen any drawbacks by using Java technology.
Our only limitation is the one that the graphics card imposes.
As to answer your question on the number of textured triangles
per second, it is totally depended on you graphics card and
you would probably get the same performance as on any of the
top-ten engines out there, such as Unreal Engine.
The big break came with the release of the hotspot engine for
Java VM, since the code is optimized on the fly. This offer
a performance enhancement that is not possible with the traditional
native-compiled technologies, such as C/C++. Extrapolating this
progress we will probably in the future see the best results
from applications running on top of a VM, where the code is
adapted and optimized during execution. |
| |
|
| Q8 |
Do
you consider the size of downloaded files still an issue, at
the time of cheap broadband access? |
| A8 |
The
engine is less than a couple of MB to download. The rest is
made up by content. It is up to the application/game developer
to find a suitable level of content vs MB for their target market.
Personally I don't think that bandwidth is going to be any problem,
especially since there are ways to download once and reuse the
cached data. |
| |
|
| Q9 |
Do
you plan to deliver content creation tools for embedded devices
such as PDAs or Smartphones? |
| A9 |
We
are currently in discussion with mobile phone companies regarding
AgentFX Mobile Edition. AgentFX is prepared for the standards
OpenGL ES and J2ME, however it would be pre-mature to promise
any release of AgentFX Mobile Edition and what such a package
might contain. |
| |
|
| |
|
| |
|
| |
|