Showing posts with label tools. Show all posts
Showing posts with label tools. Show all posts

Sunday, September 27, 2009

Realistic 3D Rendering

Sometimes I like to see the final product of my work. Wings3d does not have realistic lighting built in, but I can get photo realistic lighting and affects by rendering my model and a scene in a rendering application like Kerkythea.


Georgian Townhouse

Hey that looks very realistic! This is a Georgian style townhouse I made wile trying to emulate the 1700's Georgian style. It is actually one of the first buildings I made. My goal for that model was to see how realistic I could make it, and I needed to figure out a good work flow and process to make buildings. It was made in several pieces on purpose so I could fit them together to make a two story or two window wide version. I also made it so I could easily switch out the front door for some variation. A funny feature in this model is that you can actually open the windows!

Honestly the features of this model are overkill. It took me an entire week to make correctly but I learned a lot from it. A modular design is often used in games nowadays but it is very difficult to get the pieces to fit together. The hardest part is to get the textures to line up so it does not look like there is a seam. If I made this two stories I would likely have to reapply the brick to make it seamless. Fortunately Wings3d has a Snap Image feature that makes it easy to re texture a model like this.

When I made the Georgian Townhouse I reapplied the texture several times throughout the modeling process. Every time I changed something I reapplied the texture to see if it worked right. That was the reason it took so long for me to make it. I now complete the model entirely before I texture it at all.

I no longer use this process for the most part. Sometimes I will reuse windows or doors across several models but beyond that I make the rest of the building in one piece each time. The models I am making now for my first town are made with my own version of the Tudor style. They are architecturally fairly realistic, however I do not plan to make the next super realistic game like Crysis or Oblivion. Usually they take about an hour to make and an hour to texture. I plan to make a slightly stylized game that is intentionally slightly unrealistic, that way its not unusual to see crazy environments or neat and fun looking towns.

Thursday, September 24, 2009

Making a Game: Tools of the Trade

You can't make a game with just your bare hands, you have to have the right tools! It can take a long time to decide what programs you need if you have never made a game before. Sometimes they are incompatible with each other and will not save files in a usable format. Or sometimes they just don't have the features you need.


If you want to make a 3D game you will need a 3d modeler, a photo editing program to make textures, a scene editor, and a game engine or graphics engine of your preferred programing language. Sometimes the 3D modeler you choose will not have all of the features you need and you will need to use a separate program for texturing or animating. The scene editor may come with the game engine or you could place all of the models in the game within the games code. Sometimes you can use the 3d modeler as a scene editor too. Also the game engine or graphics engine you choose may not have everything in it you want so you will have to program it in yourself.

These are the programs I will be using to make my game "Lost Kingdoms":
You have a lot of options when it comes to the 3d modeler. There are a lot of other professional packages available such as Maya, 3ds Max, and ZBrush. Many of them can handle everything with the 3d model including lighting, animation, and handling the scene. Wings3D and Blender are the two major free 3D modelers. A lot of people swear by Blender, however if you are just learning 3D modeling, I would suggest choosing something else. It is a potentially great program that suffers from having a seriously steep learning curve, and in my experience is very buggy. Wings3D Benefits from being one of the easiest to use 3D modelers out there, and is my favorite. Sure it does not do everything, but what it does do, it does great!


The choice of a graphics editor is easy. Go with whatever you have access to and are comfortable with. If you have not chosen one yet then try Gimp. Ive used Photoshop and Gimp and they have a lot of the same features. Im running on a tight budget so I tend to go with the free alternative. You may also want to use a repeating texture generating program such as Genetica or something similar. There are several to choose from, some free, some not. I also use a drawing program called SAI when I use my graphics tablet. It has some great tools and features that are absolutely invaluable to drawing.

A scene editor helps you put your game together. Once you have all of the 3D models done for a town for instance, the scene editor will let you place the models where you want them. IRREdit also allows me to place lights, terrain, primitives, and can do some simple animations like allowing a windmill to turn. IRREdit was written specifically for IRRLICHT so if you choose a different game engine you would need to find a different scene editor.

The game engine took me the longest to decide upon. I nearly went with the JMonkey Engine instead, and it would have been a good choice too. But there are a lot of major factors to decide upon when choosing a game engine. You have to find one written in your preferred programing language. If you do not have a preferred language then you would have to learn one. Fortunately IRRLICHT and JMonkey are good engines to get your feet wet with. IRRLICHT is written in C++ and JMonkey is written in Java. Ultimately it came down to one factor for me, it is easier to find reusable code and modules written in C++. I can easily plug in a physics engine like ODE Open Dynamics Engine into IRRLICHT, but I would have a hard time finding something similar written in Java.

Other concerns with a game engine choice is what kind of stuff does it support? Does it have a good community? Is it well documented? Is it up to date and support newer features and graphics shaders? Is it still being developed? Is it easy to modify or expand? Does it have networking support? With all of these questions it took me several months to research and find the right engine for me.

Now that I have all of that done, I better get started on my game! I have a long road ahead of me. Fortunately I'm not alone.