We develop games and software not only for personal computers but also for video game consoles, mobile and embedded platforms. In every case the most optimal strategies and solutions are chosen for a given platform. We started moving to game consoles with Sega Dreamcast and then successfully developed for Sony PlayStation 2, PlayStation 3, PlayStation Portable, Microsoft Xbox, Xbox 360, Nintendo GameCube, Wii. We also developed for Symbian OS, Samsung Bada and some ARM9-based platforms.
Game and Graphics Engines
Our own multiplatform development experience, existing code porting for other platforms, customer's code review and collaboration helped us to formulate basic principles of architecture for computer games and virtual reality applications. It resulted in development of several game and graphics engines both for our needs and for customers. In several products third party commercial engines were used: Criterion Renderware, Intrinsic Alchemy, Gamebryo Lightspeed.
We have full featured 3d physical engine supporting kinematics, free rigid body dynamics (RBD) and constrained RBD with user modeled joints including certain joints presets like ball & socket, hinge and prismatic. It includes collision detection and reaction for free and constrained RBS upon contact joint technique. To solve underlying DAE we use several differential integrators available for selection by user.
Watch the demo
Modern 3D Graphics Technologies
Algorithms for covering terrain with grass range from simple sprite rendering technique to on-the-fly animated geometry generation with lighting and shadowing support and even collision with other world objects. In any implementation another challenging problem is to plant huge areas with grass and still avoid a frame rate drop in real-time systems.
The new fast physics-based algorithm for grass swaying in the wind produces visually accurate animation. The video shows grass animation and collision in a research project for Intel.
The water rendering technique is one of the most challenging problems in computer graphics. There are many ways to render water surface and the one you should use depends on different conditions. You may choose mountain rivers with rapids and waterfalls, splashes and foam. Another case is a still transparent pond or lake with ripples and specular reflections and refractions. Sometimes you even need seas and oceans with bigger waves.
A range of shadow mapping algorithms was implemented and even improved. These include such popular modern techniques like Trapezoidal, Light Space Perspective, Exponential Shadow Maps and others. Of course in earlier times Stencil Shadows were studied and used as well.