Archive for October, 2007

Alternativa3D engine demo

25.10.2007 Anton Volkov

Our frequent visitors will understand everything without words, let’s explain a subject for other readers:

This is technological demoversion of an Alternativa3D Flash engine, which was made within Alternativa MMORPG development. This engine uses Flash player version 9 as a platform, and, as far as we know, works in all full-flash-supporting browsers. Alternativa3D is optimized with upcoming game features in mind, and utilizes some non-trivial solutions to show game graphics quickly.

Alternativa3D engine demo
Size: 0.9Mb

Main features:

  • Three-dimensional geometry and 3D-sprites. Buildings and landscape are made in a fair 3D, objects with complex geometry — using sprites, including multi-phase ones.
  • Lighting system, including ambient, directional and omni lights. Changing daytime, diffuse and sunlight, automatical “in-corners” shading, dynamic shadows, including sprite shadows.
  • Texture and light quality settings (it is really important without 3D hardware acceleration in Flash).
  • Low processor load (excluding moments of lighting change and camera rotation, which happen not too often and is not critical for the game).

We’re optimizing this engine and preparing it to integration with server core at the moment. Next things to do are characters’ system (with sceletal animation system and clothes), world building and closed “starting game version” betatest.

If you don’t see a picture, that means you don’t have Flash player version 9 installed. You can download and install it from here, or use direct link to a file.

Please report any found bugs and feel free to send some comments too.

SWF has debug information now

25.10.2007 Anton Volkov

I’m sure many Flash/Flex developers noticed that now, with Flex Builder 3 Beta 2 we got only one SWF file after compilation. Previous versions made two or even three files (name_debug.swf, name_profile.swf).

This mess with files was annoying, because testing non-debug version you could only get only error code. Or, running debug-version not in a debug mode every time caused a new window with debugger port connect request (did you ever use that?).

It is is really important when you have dozens of swf-libraries, loading when neсessary.

In a second beta you don’t have to worry about all that anymore — we got only one SWF, which smoothly run in usual player (showing error class and string number), and it runs on debug player too. In my honour opinion, this is the best of all improvements. It is strange, I don’t see any celebrations on blogs and forums :) Have you noticed the improvement?

Shadows for 3D-sprites

22.10.2007 Anton Volkov

We’ve done shadows from sprites.

Full demo with all 3D features done in our studio will be posted next week.

And for now let’s have a look at balls made earlier, but with dynamic shadows (Attention! It may freeze Opera browser - work in progress).

Balls with shadows

Controls are the same:

  • Spacebar — change ball container
  • Enter — shake balls
  • Mouse wheel (OR Up-Down arrows for Mac users) — change scale
  • Drag mouse — rotate camera
  • Ctrl + drag mouse — roll camera
  • Q — hi/low render quality

Texture objects

19.10.2007 Ivan Zykov

Talking about landscape texture, we have to understand that it is not huge texture with roads, paths and streams. All these things are put using so called texture objects, like Path (texture built along the path) and Poly (texture with pre-defined form). This shortens build/modification time and reduces traffic dramatically.

textu_obj1.jpg

For example, if you want to build a road, you draw its “path”, and then just select its texture and edges “mask” (one more Good Thing to make surface seamless).

We managed to hide sharp turns and to make texture “solid”.

Complex 3D-sprites

11.10.2007 Vladimir Babushkin

The engine can use 3D-sprites with big amount of phases to show complex 3D-objects from every angle.

There are 150 phases for this golden statue, so this demo is about ~800Kb.

Golden elephants

  • Mouse wheel (OR Up-Down arrows for Mac users) — change scale
  • Mouse drag — rotate camera
  • Ctrl + mouse drag — roll camera

3D-sprites - Balls

11.10.2007 Anton Volkov

3D-sprites introduction comes to end. Our goal is to bring in the world complex pre-rendered objects, which are hard to visualize by mesh (for example, trees, avatars etc.)

We have to show such an objects from a proper “view angle” to organically put them into a scene. Designers render some phases from different angles and mark them with angle numbers for these objects. The engine finds suitable phase and transforms it properly (size, rotation), then sprite is put into 3D-space.

This demo shows how to make “chrome balls” effect by a few phases (don’t forget to use ctrl-mouse). I couldn’t keep myself from writing micro-phisics code too ;)

3D-sprites - Balls

  • Spacebar — change ball container
  • Enter — shake balls
  • Mouse wheel (OR Up-Down arrows for Mac users) — change scale
  • Drag mouse — rotate camera
  • Ctrl + drag mouse — roll camera
  • Q — hi/low render quality

Friday mood

05.10.2007 Ivan Zykov

In the depths of the office there is an “Alternativa Game” version for the people with luxuriant imagination.

bubbletest.jpg

Sprites, 3D-sprites

05.10.2007 Ivan Zykov

Small objects or complicated objects are drawn as sprites (static images) or 3D-sprites (number of images from different angles with one currently displayed).

Say, building is — 3D-object, flower-bed — sprite, the rest — 3d-sprites.

scene_3dsp.jpg

Here is an example of a dog 3D-sprite (it is demodog named Test and he is not a wolf).
scene_3dsp2.jpg

+5 to life?

02.10.2007 Alexander Karpovich

We can think of the game as an object, which players use. In order to make this use (playing the game) pleasant it has to be intuitively clear, not demanding special skills and not overloading user with data. Say, you don’t think about frequencies when switching channels on a TV.

plus5.jpg“Analog” thinking is natural for a human being. When someone works with numbers, he/she has to turn on inner analog-digital “converter”. When we get numbers, they transform in analog terms. For example, $1500 price for laptop is “average”, 2 cigarettes left is “runnig out”, 30 kilos - “heavy” and so on.

(more…)