dsc_0102

SoInteractive’s site is the result of many stormy discussions and hard work by the people who participated in making it. They are:

Michał Sycz aka. Majkel
Piotrek Rachtan aka. Piter
Bartek Mikołajczyk aka. Bart
Paweł Jaruga aka. Levus
Maksymilian Chmiel

Thanks to everyone! Great Job! :)

The initial design divided the site into two parts. The part containing the content was to be carried out using 2D technology, while the game was to be in 3D.

First we prepared the graphical concept (Michał Sycz), 3D models (Paweł Jaruga) and the basic elements of the site engine (Piotrek Rachtan), responsible for communication with the server, the menu incorporating site navigation through url addresses (swfaddress), language versions, etc.

022

The Boss

Prawa ręka bossa

The Boss’s Right Hand

Designer

The Designer

Programista

The Programmer

Project manager

The Project manager

Szkice

Sketches

Szkice / rysunki / bazgroły

Sketches/Drawings/Scribbles

When the graphic design was finished we moved on to the next stage — the game.

Projekt gry (Photoshop only)

Game design (Photoshop only)

For the game’s purposes we needed a fast and efficient 3D engine, which would be a key component of the game. After having run several tests of the available engines we chose papervision3D v2.0. Despite lacking several functions it appeared to satisfy the needs of our project. An important factor in the decision was the fact that our programmers had used it before. Unfortunately, the engine does not include a parser of OBJ files, which are used to save our 3D models, so it turned out that we needed to adapt a parser available in another engine to work with pv3D. In this configuration, the scene looked very good, and the engine we had chosen worked efficiently enough — adds Piotrek.

The second essential element of the game was the physics engine, which is what simulates the forces acting on the objects in the game, and detects collisions of objects and simulates their effects. This is a major factor influencing “playability”.

So, first we decided to check out the engines for pv3D available on he Internet such as JiglibFlash and WOW Physics Engine. Unfortunately these engines did not work out. Our scene involved a lot of irregular shapes and the approximation of them as rectangles (boxes) available in those engines was not good enough for our purposes. The paper wads would fly right through the characters or else bounce off of empty space around them. The second major problem was the paper wads flying through their targets. The engines detected collisions only at the beginning and end of the steps of the simulation, and couldn’t handle the recognition of collisions at high speeds, and shortening the length of the stages drastically impacted the efficiency of the engines. This problem forced us to write our own, simple physics engine, adapted to our needs.

The engine we built ensured correct detection of collisions, solving the problem of the paper wads passing through the targets and also the detection of collisions between spheres and 3D grid forms, allowing exact detection of collisions with the irregular shapes of our characters. In addition, the optimal adaptation of our engine allowed us to maximize its efficiency. During testing, in spite of the simultaneous presence of over 100 projectiles, the game worked with acceptable fluidity, while in the final version, I decided to reduce the number of projectiles on the screen to 20, to make sure it would work properly on older computers — adds Piotrek.

To make the game cooler we decided to make it possible to shoot using a microphone. This worked out very well technically, and after launching the site there were effective and creative tests of the microphone system by the rest of the team, by, for example, putting the microphone up to radio speakers, or tapping it on a desk.

Wstępny modeling 3D

Initial 3D modelling

Siatka gry 3D

3D game grid

Tekstury postaci

Character texture mapping

Gra - screenshot #1

Game - screenshot #1

Gra - screenshot #1

Game - screenshot #2

Gra - screenshot #3

Game - screenshot #3

After finishing work on the game, we decided that the 3D engine we had chosen had worked out very well and that we could use it in the content portion of the site. The 2D elements that were going to be the used in the remainder of the site we reworked into 3D objects by using their original models. In the process of creating transition effects connecting the sub-pages, we made use of TweenMax and As3Mod libraries.

The final stage was the preparation of the video segments, which meant many hours of recording, using, among other technologies, greenbox and postproduction using an advanced keying system — in other word many long hours of clicking for Bart :)

Produkcja wideo w studio greenscreen

Video production in the green screen studio

Finally there remained only one challenge, the video player interface, which had to programmed in 3D space, and in particular, interaction with the controls (play, pause, timeline, etc.) which was handled by our flash developer - Piotrek :)

Finally a few statistics: the entire page contains 12,579 lines of code and was divided into 65 files.

For anyone who may be interested, we have published the full code of the game ;)