Archive for December, 2009

The many uses of real time 3D technologies

December 18, 2009

SimplySim designs software tools to create 3D applications. As you might already have seen in our drone simulation, these tools permit to design 3D simulation applications, but there are several kinds of 3D applications that can be created with them. In today’s post, we have a quick look at different potential applications.

SimplySim apartment simulation

This interactive simulation environment can be used for any application from robotics simulations to serious games, or architectural design project.

Simulation

There are several ways to use 3D simulation in different fields: from the experimentation of new systems to the fields of education and training, or the study of human behaviors in realistic conditions. As explained before, the SimplyEngine has been specifically designed for real time 3D simulation, not only for UAVs but for any system.

When we talk about 3D software, video games are what come to most people’s mind (probably because video games are the first 3D applications that have reached our homes). However when we started doing 3D simulation, we felt that today the industry lacks a real 3D real time simulation engine, a software that is really designed for simulation, not for video games.

Video games

Speaking of video games, the needs of the two fields of simulation and video games can often be the same (and that led some game engine to be used in simulation projects). However the priorities are different and sometimes conflicting: simulation needs more realism, accuracy and easy interactions with other software. That doesn’t mean that you cannot use our simulation engine for video games (and given the quality of our 3D graphic real time rendering this would be understandable), just be warned that the software has been created for simulation and that the first upgrades will be for simulation.

Serious Games

During the last decade, both simulation and video game industries gave birth to “serious games”, which apply video game technology to serious purposes. The limit between serious games, simulations, and traditional video games can be hard to define. We like to see serious games as a simulation that includes some game mechanisms. In any case our product is particularly well suited to the creation of serious games thanks to its high realism and multiple possibilities in terms of interactions.

Virtual reality

Another domain related to those above is the field of virtual reality. 3D has been used in virtual reality for several years now. This is a domain where software and hardware interactions are numerous, and deserve to be simple. Our solution is based on service oriented architecture, and offers very easy ways to integrate any software or hardware with the 3D applications you create with it.

Architecture, 3D Marketing, and more

Of course our tools can also be used in other domains, such as architecture (where 3D has brought a lot in terms of efficiency and cost reduction) or marketing (where 3D offers a new media for brand and product advertising). People working in these domains, and other newcomers to the 3D technologies should particularly appreciate the easy to use and “keep it simple” approach we used when we designed our tools.


An inside look: the technology used in our 3D simulation

December 3, 2009

In today’s post we’re going to discuss the technology we use to create our real time 3D simulations, and what we think of these technologies. This inside look should also give you a good idea of what to expect from our products.

SimplySim realistic real time 3D simulation

real time 3D urban simulation using the SimplyEngine

Easy and rapid programming: Microsoft .NET

As we explain in our introduction post on our product, one of our goals is to offer you a product that is easy to use, to enable any developer to benefit from real time 3D simulation technologies. As developer ourselves, we already had an idea of what “ease of use” can mean for a developer, and that led us quite immediately to the choice of Microsoft .NET

As we wanted performance and quality 3D rendering we didn’t had many option: standard C++ or .NET (java was clearly not an option). Then the choice was easy: .NET had two major advantages, the first was for our team: .NET meant that we could develop more rapidly and efficiently (and Visual Studio is an awesome IDE). The second and probably most important advantage is simply that it would be the same for our customers! Plus they can choose their programming language in the variety that the .NET framework offers (as for us, we use and recommend C#).

Graphic engine: Microsoft XNA

The choice of XNA as a graphic engine came quite naturally too, it’s using direct X 9.0 guaranteeing performance and nice 3D rendering and it’s on .NET. Plus we liked their asset managing utility. We’ve tested many other 3D engines in many programming languages before, and XNA is, for now, our choice.

Editors interface: Microsoft WPF

An important part of the “ease of use” (or “simply spirit” as we like to call it) that we wanted in our products meant that we had to design efficient user interfaces for our editors. That led us to WPF, mainly because we liked the freedom we had to design our interface combined to the ease of use of the technology.

Software interaction: Microsoft CCR/DSS

We first discovered Microsoft CCR/DSS when we started to use Microsoft Robotics Developer Studio, and we just love this technology. We had already played a bit with the concept of “service oriented” or “component oriented” architecture before and DSS is a really nice implementation of these concepts, while CCR offers a very smart way to solve concurrency and coordination problems. We’ll discuss more about this in a dedicated post, but to sum up the main advantage of this technology for us it to enable our 3D simulation to be really easy to interface with any other software application.

Physic engine: the multi-engine option

As you’ll have understood if you watched our first demo of our UAV simulation, physic realism is really important in our product. So we’ve had a look at all the different physic engine available on the market (PhysX, Newton, ODE, Havok, and a few others) and after an in depth review, we decided not to choose. In fact these physic engines have not been created for the same purpose, and they have different strong points. Some have very good performance with a lot of objects, some are really focusing on the accuracy of the movements, others are designed for fast moving objects… and we felt that the choice of the physic engine really depended on the type of application. So we’ve built the SimplyDynamics, a software library that gives you the opportunity to choose the physic engine you’re application is using. And as it might not be evident which one to choose, you can make this choice at the very last moment: at run time!

How we got it all for free: Microsoft Bizspark program

Finally another thing we like about the technologies and the tools we use is that we’ve access to it for free. We’re member of a really cool program called Microsoft Bizspark that helps innovating startup by providing access to Microsoft software, support and visibility. We had already chosen Microsoft technologies for our development because it answered really well our needs, but Bizspark membership clearly made things easier.

SimplySim is a BizSpark StartUp