Sunday, September 27, 2009

REV 0.5 progress

Today's post is just a report on Revolution engine v0.5 progress.
First of all I want to say what we should expect from this version. Since 0.5 means half-way to 1.0, half-way to complete the engine, I'm creating a very reliable version. Why C++? well, I really belive that any good Game Engine nowadays must be written in C++, or at least in some Object oriented language. Most C++ capabilities of C++ can be easily emulated in C, but this leads to uggly, buggy code.

This is the last time I'm writting the engine from the scratch, so next versions are going to be written on top of 0.5, and much of the code is gonna be kept. So if I'm keeping some code, it must be on the final language, and I must be sure it's reliable, modular, bug-free, and all those things.

This is good, since now on we're going to enjoy a much more robust and reliable engine.
And it's good because finished code can be documented, wich will help everybody start using the engine.

Documentation, testing and debugging take a lot of time and effort, so developping the engine is now a bit slower.

Now it's time to some aproximated figures:
-Code development: about 70% to first alpha release
-Documentation: First stages
-Testing: First stages

I Know it's not much, but be patient ;)

Thank you all.

Monday, September 7, 2009

Guess what's next?

These are my homemade HT glasses, guess what I'm working on? :D
Comming soon

Saturday, September 5, 2009

In Development Screens of Rev 0.5

First screens of Revolution engine 0.5
Version 0.5 is the first C++ version of the engine, much more robust and reliable than earlier versions and further more documented ;)
It's still under development, of course, and nowadays these are the only working features:
Rendering system
-3D Nodes based
-Multiple Viewports (Split screen)
-Multiple Cameras
-SkyBox rendering
-Model loading (rms)

Lighting system
-Software lighting
-Directional lights

-Boosted initialization code
-Time Wrapping effects (e.g. Bullet time)
-Correct screen blackout at start

No more delay, here are some screens:

Ah, remember that thought version 0.5 alredy is under development, 0.4 keeps being developed too.


Saturday, August 29, 2009

Critical bug in alpha 3

There is a bug in the current release of alpha 3. When you try to assign a material to a visible Object, the wii hangs in the middle of the render process. I'm still trying to figure out why is this, but in the meantime i suggest using alpha 2 instead.

Thursday, August 27, 2009

Alpha 3 released

Revolution engine Alpha 3 is released. You can check it in the downloads zone, as usual, in Rmd format isn't supported yet, so please keep using the Rms instead.
Now I have one more piece of news: C++
I've started to write a C++ version of the engine. Hopefully it will be easier to use and more efficient in object oriented tasks (most of them in a game engine). More details in next posts ;)

Tuesday, August 25, 2009

Model Viewer Video

This is just the first video of the Under-Development Model Viewer for Revolution Engine 0.4.
Since Revolution Engine is supposed to be a full Game engine, it will have it's own editors and viewers, and Model Viewer (or Object Viewer, name is not decided Yet) is just the first of them.


Thursday, August 13, 2009

Bugfixes update

Revolution Engine v0.4 alpha 2's been updated to fix some bugs and add little improvements (e.g. a camera creation function). Some other things have also been included (as a new type of material). Remember that Rmd format is not supported yet, please wait to alpha 3. I've also found some bugs in the converter and will update it with the fixes as soon as i finish the specification and the loader.
Oh I almost forget, specular maps alredy work in basci material.

Enjoy the update!

Monday, August 10, 2009

File Converter and Rmd format

I'm working on a better and faster file format for models in Revolution engine.
When it's finished it will support both static and animated models, triangle faces, quad faces, triangle strips, various uv sets, and a more things. It will be called rmd (stands for Revolution MoDel) and first revision will be supported in v0.4 alpha 3 (work in progress). It's basically a binary format based on nested lists and is designed to be loaded without recursive readings. Speed, light-weight, and flexibility.
You can download the first release from the web (includes source code) and I'll try to post the specification as soon as I can.

See you!

Tuesday, August 4, 2009

Revolution Engine 0.4 alpha 2

The second alpha of Revolution Engine is ready to download.
Here is a list of improvements compared to alpha 1:
-Boosted Nodes system (initNode, attachNode, etc...)
-The size of some structures has been optimiced
-Materials now work for real (some problems remain, see notes below)
-Added a Screenshot function (So I want to see more of your screenshots :) )
-Some bugs fixed


Note About materials: Now, when you add material to an object it no longer dissapears. However, materials are not fully supported yet since specular maps don't work properly. You can use materials with specular color, diffuse color, alpha (diffuse color alpha), glossiness (as specular color's alpha), specularity and diffuse maps (replacing diffuse colors). All that stuff should work properly in Basic materials. Masked materials are not supported yet.

Tuesday, July 28, 2009

tutorials, comming soon

Thank you everyone that follows this project. Today I just want to say that i'm preparing a few tutorials about the basics of using revolution engine and will release them as soon as I can, probably this week.
Thank you

Edit: However, you can post whatever you want to know in the forum. This way I can directly answer your questions, which may help others, and know more about the topics that tutorials should cover.

Saturday, July 25, 2009

Revolution Engine 0.4 alpha 1

The day has come. The new version of the very first 3D Game Engine for Wii is here.
Full of new features, improvements and optimizations. The list is long, so I'm posting just the major changes and letting you discover the rest.
-Full support for transparency. Many transparent objects can be superposed one after another and change position dinamically without causing render bugs.
-Software Vertex lighting: You finally can render lighted scenes. Multiple lights, specular lighting, diffuse lighting, etc...It's so basic in alfa 1 but will be improved n future alfas.
-Multiple viewports and cameras: Now you can divide the screen into multiple viewports, for multiplayer gaming, for example.
-Materials system: Will be improved in future alfas, but it alredy is quite powerful. Difuse and specular colors and materials, different flags, specularity, glossiness.
-2D system: buttons, true type texts (GX based), windows...
-Automatic pointers: forget about programming all those things about the IR pointers's done by default.
-Discover the rest yourself ;)

Another important change is about naming conventions. Now function names, flags, macros, definitions, etc...are all in full english. Say goodbye to Spanglish because English is the convention for all versions now on. Names start in Lowercase and Uppercase is used for separating words.

You can download the engine at Revolution engine, downloads zone.


Saturday, July 18, 2009

How to release 0.4?

This post is because I'm preparing the first release of revolution engine 0.4
Yes, the first one, but not the only one. Why?
Well, Revolution engine 0.4 is a huge, ambicious porject. It's big enough to take many months on development and carry a lot of bugs inside, and me, i'm just one developper. So there are two options: First, after a few more months, I finish the engine and release it with many bugs and absolutely no documentation. Everybody has to wait a lot for the engine and when it finally arrives, almost no one can use it. It doesn't look like a good option, right?
The other posibility is: I finish a part of the engine, and release it, at the same time, I release some short tutorials on how to use that part. People can start using it and learn about it step by step. As they use it, they tell me about bugs they fing or features they miss. So, as I prepare the next release, also fix those issues. More documentation, less time to wait, faster bug-fixes, easier learning curve...better for all, right?
So you can expect the first release within a week. Revolution engine 0.4, coming soon.

Wednesday, July 15, 2009

Node Based

Hello everyone!
Today I'm talking about nodes. 0.4 is the first version of Revolution engine that allows us to work with some kind of hierarchy. This means that both in 2D and 3D subsystems, every entity (panels, buttons, objects, lights, cameras, etc...) is at the same time a node in space (either 2D space or 3D space). This way you can use the same functions to move a camera, an object, a light, whatever. Futhermore, nodes let us attach some objects to others and simplify move functions so much(because child nodes alwais move relatively to their parents, instead of in the absolute space). Let's see some examples:
-You can attach a camera as a child to the player, and the camera will automatically follow that character.
-You can attach wheels to a car and so, when the car moves wheels will move. But at the same time you can make the wheels rotate respect to the car. Later you can de-attach the wheels when you blow up the car and throw them far away ;)
-You can create a complex 2D menu for your game, made of many panels, buttons and texts, all of them attached to a single node, or to differents nodes that are also attached to a single node. This way you can show or hide the whole menu just by showing or hiding the parent node. Just one instruction to hide or show hundreds of panels.

I'm sure you can imagine so many more uses for this feature ;)

Sunday, July 12, 2009

Back 2 Work

Long time without news, right?
Ok, I'm back. I'm back working on the new version of the engine, that i think will make the difference in Homebrew. You'll have more news soon, but by now I just can say that I'm preparing the release of Revolution engine 0.4 alfa version.
keep an eye on the web or on the blog and you won't regret ;)

Friday, May 1, 2009

Object Viewer


it's been more than a month without updates, quite a long time. Today I bring good news: An Object Viewer is being developped. One of the current lacks of revolution engine is the lack of tools. There are almost no tools to simplify the task of creating a game, almost all is made by code, even materialas have to be coded. But this is gona start changing. The first tool is almost finished and will most likely be released among next week. It is a small application for our Wiis, running the current implementation of revolution engine 0.4 (W.I.P.) and allows us to quickly see how our objects would look in a game using revolution engine 0.4. We can adjust things such us lighting conditions and material properties and even save this into a material file so we don't need to code that stuff ever again. This visual material editor makes easier, faster and more intuitive the process of creating materials for our objects and at the same time fits perfectly for artists because you don't need to write a single line of code. With that, I say goodbye, but I give you a couple of screenshots of the development of Revolution engine Object Viewer.

Thursday, March 19, 2009

Materials and lighting

Hello everyone!
I know, I don't post frequently, but believe me, it doesn`t mean I'm not working. In fact, soon I'll start posting media content of version 0.4, wich I promess will be much more visual than earlier versions. That is today's topic, Visual improvements: new material system and lighting.
Let's start with lighting:
Revolution engine 0.4 wil be the first version featuring lighting. I can only say three things about lighting so far:
-First: won't be limited to the eight lights supported by wii hardware
-Second: Will be customizable (colors, types, etc...)
-Third: Will be per vertex, using a variation of phong equation, modified to proper integration with tev, and featuring amient, diffuse, and specular lighting.

Now Materials: Materials are probably what I'm working harder on. Until now, materials system in the engine has been SO simple. You could just set a diffuse color or a diffuse map, just a simple texture for your objects. This is changing.
Beside some basic effects such as tiling and so, Materials now feature many different types of shaders. I'm only going to explain what the basic one consists of:
-Diffuse color or map: This is obvious.
-Gloss map or gloss coefficient: because different objects shine different.
-Specular color: no specular maps yet, that will come in later versions, but this will work (I'll post renders soon)
-Specularity coefficient.

Of course transparency and all those effects are still avaiable and some are improved.

This is a work in progress screen about lighting

I really think you all will enjoy this update.


Monday, February 16, 2009

Revloution Engine 0.4, Work in progress

Long time without news. I haven't stopped working on this project, in fact, I'made a lot of work. So today I write to make a quick report of the development state of REV 0.4 and what we should expect from it. This new version is full written from scratch and most of it is purely new code, so the hardest part of the development has been recompose the previous functionality (as well as cleaning some bugs in it). Nowadays almost all previous functionality has been recovered: Automatically managed root, 3D static models rendering, simple texturing, collision detection, camera moving, etc...but many of this systems have been redisigned and re-implemented in order to work in a more proper way. For example, in the new cameras system, there is no need to create an initial camera, there is a default one, thus simpliflying the learning curve of the engine as well as the use in 2D rendering. Core system has also been redisigned to introduce a new concept: The content manager. Content manager accounts for content loading and tracking, now you dont have to worry about the same mesh being loaded many times. If a mesh was already loaded, the content manager returns a pointer to it instead of loading a new instance of it. Another important change is about language. As in this blog, the language of the engine has changed, now full syntax is in english, no longer spanglish. I know this can bring some problems when upgrading previous applications, but I think it is a necessary change and now it is the best moment for it.
Ah, I almost forget, I've repared my capture card so soon I'll upload new screenshots and videos of the engine.

Monday, January 19, 2009

Quick note about md5

Maybe I should have said this before. When working with version 0.3, md5 support is only experimental, the code is not clean and correct working is not asured. Use it only to start getting used to the format, but for fine implementing, wait for next releases.

Thursday, January 15, 2009

Revolution Engine 0.3

The day has arriven, Revolution 0.3 is now avaiable.
Download it in the downloads zone Revolution Engine.
Current Features are:
2D system:
-Images and texts
-rotation and scale of images
-Colors and sizes for texts
-Multiple (thousands) layers
-Hardware Rendered
3D rendering sistem
-Hardware rendered
-Static mesh loading
-Animated meshes loading (md5)
-Collision Detection points, spheres, boxes.
-Time speed adjustements (bullet-time effects for example)

Next days I'm going to start uploading tutorials and content as well as demos. Enjoy it ;)

The MD5

Here I post a new video. This time is about md5 loading, that is finally implemented in the engine. The system is still quite primitive, but it works.

So the engine is likely suportiong md5 in its 0.3 version. The release is near, just needs some adjustements, I guess I'm publishing it today, tomorrow, or so.
Enjoy it.

Oh, I almost forget...I'm making a website for the engine, with a gallery, documentation, demos and so. It's SO ugly and simple because it's the first time I make a website and it's html. Visit it, it's still almost empty, but I'm uploading content regularly

Thursday, January 8, 2009

Novedades, la version 0.3 esta cerca

Hola a todos, os escribo para comentaros en primicia que pronto estará disponible la nueva versión del Revolution Engine by Technik. Sera la version 0.3, Una version de estabilizacion y optimizacion mas que otra cosa. La version esca casi lista, a falta de testeo y de unas funciones a medio impementar, las previsiones para esta version son:
-Sistema basico de 2D listo: En una version anterior habia sistema de 2D, pero era lento, poco eficiente, poco estable y sin casi nada en funcionamiento, el nuevo sistema es mas completo y robusto, aun no esta confirmado, pero se espera que traiga soporte para imagenes normales o fraccionadas, con zoom y rotacion, soporte para textos con fuentes trueType (implementacion de la libreria freetype), transparencia, ordenacion automatica por capas...y quiza alguna cosa extra. Basicamente todo lo necesario para hacer un juego completito (a nivel de 2D).
-Mejoras en el sistema de 3D: Sobretodo fiabilidad. Se ha repasado el engine linea a linea de codigo, anotando cada fallo que se encontraba y reparandolo. Ahora las escenas se dibujan muchisimo mas rapido, la mejora de rendimiento es proporcional al numero de poligonos, lo que quiere decir que podremos crear escenas geometricamente mucho mas complejas sin perdidas en el framerate. Tambien cabe destacar que ahora se trabaja mejor con la memoria, haciendo flush siempre que se debe (esto era un fallo importante en versiones anteriores), lo que nos ahorrara muchos quebraderos de cabeza con nuestros videojuegos. Se esta preparando tambien la carga de modelos animados md5, pero es probable que no llegue para esta version. Ademas se prepara el sistema para futuras (proximas) implementaciones de efectos graficos y temas como la iluminacion, las sombras, los reflejos, etc...
Esto es todo por el momento, os informare cuando se publique. Hasta entonces disfrutad del año nuevo! (tampoco estaria de mas alguna donacion para el proyecto ^^, todo sea bienvenido)