Showing posts with label game design. Show all posts
Showing posts with label game design. Show all posts

Sunday, July 18, 2010

Completed Racer

I finally decided to work on my game again. Here is a picture of a completed racing vehicle. I decided to use only material colors on it so the player can customize the colors very easily. There are four customizable colors on this racer. The two primary colors of the racer, a single color for the cockpit, and a metalic color for the details. It kinda looks like a mouse head if you look at it the right way. I'll call that an unintentional cute side effect. Some of the racer designs will look like animals intentionally, like the sea turtle racer I designed a few months ago.

A fancy new racing vehicle!

One thing I really enjoy is when a game can pull off a good atmosphere. I strongly believe the best way to do that is with good lighting. In this case I plan on having a lot of dark places in tracks where you would depend on your own headlights. But also a great feature would be to have tail lights too! Of course the most important lighting will be proper lighting of the levels.


This racer even has headlights and tail lights!

Unfortunately because of time constraints and lack of intense will power I will probably be relying intensely on material colors for most assets and use very few textures. But this makes good lighting much more important. If its done right I can still make the game look fantastic with very few textures. I will likely have to use a lot of textures on the race courses though.


The design for the Sea Turtle Racer I mentioned earlier.

I may need to redesign this Sea Turtle Racer a bit though. I think its arms turned out way too large and its midsection way too skinny. But its a neat first draft and something fun to think about.

Monday, February 22, 2010

Lets begin again!

Its been a long long time since my last post. I also haven't worked on my last project any since October. I bought a house in November and I have finally settled in. So lets get things going again!

My project "Lost Kingdoms" has pretty well stalled and for now I would consider it too ambitious so I'm going to put it on the back burner for now and after I complete a smaller more fun project I may either come back to it or cannibalize it for a better thought out project.

So what will I do instead? Glad you asked! I'm going to jump into a niche market and make a racing game! No not one of the thousands of NASCAR games or even anything with wheels. This racing game is going to be set a few hundred years in the future with hovering cars and races all over the solar system!

In my opinion there are a few good elements that make a good racing game. First obviously is the feel of the racer, it has to be responsive and fast! The second element I like is being able to buy upgrades, it makes wining more important because your after the prize money. Third is the game's graphical style, I'll have to whip out some fun and funky graphical elements and make sure I throw some awesome on it! Mmm yum, its awesome, and tasty!

Generally I am drawing some of my inspiration from what I would consider the best racing game ever made, "Star Wars Episode One Pod Racer" for the Nintendo 64. Sure there may be a couple newer games that are similar and passably better but I haven't played them myself. But some of the feel of a super fast race and the general idea that you can upgrade your racer are all I'm borrowing from it. And honestly I plan to expand upon the customization greatly.

The player will be starting out with a junky or old car and they will start their racing career in an amateur circuit. The player will have to race a bunch of races and a small tournament in order to progress to better races, possibly with better paying sponsors and more fame and riches. And they would have to upgrade their racers and buy better hovering cars in order to compete. That part is all pretty standard in a good racing game but there could be a lot more. Such as running around great cities finding black market dealers to buy more unique parts, or occasionally running a crazy delivery mission through the Volcanic regions of Io, one of Jupiter's moons. So I plan to make a few unique twists on an already interesting game idea.
 
Since the first phase of planning is done, I have actually been able to get some work done on real assets! Here are the pics for one of the racers. I still have yet to texture it however, but you can see what I started with and how it ended up.
 
 
Quick sketch of a Racing Ship

I started with a quick basic sketch just to get the general shape on paper. I made a bunch of these and only pick the ones I like to continue working on. I do all my drawing with a graphics tablet in "Easy Paint Tool SAI".


Refined drawing of a Racing Ship

After I pick a good sketch to work with I blow up the sketch and on a new layer I draw over it, refine the shape and edges, then add detail. Some of the ideas and detials I rethink by the time I make the model however.

Finished 3D model ready for texturing, or a paintjob.

And here is the finished model that just needs some paint slapped on it. This particular ship took about 12 hours to model, mostly because I had recently learned some new things about 3D modeling and I took the time to play around with my new knoweldge. Otherwise all the complicated shapes of the wings and fins took a lot of trial and error before I got them how I wanted them. This model was a lot of fun to make and I learned a lot from it. And best of all, the model is unsmoothed, I did it all by hand and didn't rely on subdivision to hide any blemeshes. After triangulation the model weighs in at approximately 5300 polygons. I even made all the movable parts like the rudders, landing gear hatches, and cockpit hatch fit into or on the model seamlessly. I plan to have all of those parts animated in the game, and also a lower poly character in the cockpit too. I will likely make several models before I decide how I want these painted though. I would like to offer the player some options such as color selction so I may make a few neat textures that only rely on 3 or 4 colors and alow the player to change the colors. So besides just a plain ship, the player could throw on a flame themed texture set on the ship, and change its color scheme too.

Friday, October 16, 2009

Creating Internal Environments: Part 2 Catacombs


Detailed Catacombs

In "Creating Internal Environments: Part 1" I discussed how I developed all of the parts to make my Catacombs for my game "Lost Kingdom". Now its time to put everything together! First I had to make sure all of my parts fit together seamlessly and looked good. Fortunately all it took was five walls and one pillar repeated over and over.


Catacomb Wall Pieces

I also had to make a bunch of caskets to fit in the walls and to scatter around. The idea is that a necromancer took over the city's catacombs and made a big mess wile creating a legion of undead. So some of the caskets are broken or opened.


Big Mess of Caskets

With all of the pieces and major decor finished, I had to make the level out of all of it. First I put all of the walls up where I wanted them and then put the floor in. The floor is just a block underneath each room. It took a long time to find a good texture to put on the floor. Nothing seemed to go with the walls and decor, so I severely modified a decorative floor I had hiding away in my texture collection. Gimp did wonders with it and with color correction and contrast enhancement I had the floor that I wanted.


Catacomb Walls and Floor

With the level layout done, I had to put in more detail like all of the caskets that need to go into a crypt. I have more stuff to put in such as lights, candles, and dead bodies. But those are not done yet and the bodies may not be put into the level until I am ready to put in the monsters.


Catacomb with Caskets

Filling the level with caskets took about five hours. Some are pulled out of the walls and some are broken all over the floor. Im quite happy with their arrangement, some of the rooms are such a mess that a player would walk in and go "OMGWTF happened here? And where are all of the bodies!?!" And then run around the next corner and get swarmed with zombies and skeletons.



A Big Mess of coffins!

It looks like something out of a Silent Hill game. Extremely creepy and satisfyingly dark natured. What will really set it off is proper lighting and some good creepy sounds and music! Another thing I will likely look into is making some blood to splatter on the floors and walls. I also need to place the light fixtures and candles around the level, but I will do that in IRREdit.

Wings3D is spitting and sputtering trying to cope with the size and complexity of this level. It has 211,888 polygons when it is triangulated and this is only two thirds of the level. You won't have to worry about that being high in the game though, IRRLICHT can handle that like its nothing. The last third of the level I will have to make in its own load cell, fortunately this layout makes it easy for me to do that. Once you have completed the first part of the level and have found the key, just find the right door and enter the second part of the level.

This is the first time I have made an internal environment and there are a few things to remember when making one. Scope is important. I would love to make a HUGE level completely full of details, however I don't want to spend a month on one area. When I do make a gigantic level I will use simpler pieces where I don't have to go back and put caskets in every wall recess. The more you componentize things, the quicker and easier the level will be to make. If you have an entire room completely predone it is easy to copy it and paste it somewhere else, then mess around with the decor or replace one wall to make it look different. And lastly keeping the polygon count of all of your objects low allows the level to load quicker and your 3D Editor will have less of a problem handling all of the geometry.

Saturday, September 26, 2009

Growing Skills: Overview

If you are new to the gaming industry as am I, you will have to grow some skills. If you are lucky enough to have a partner then you can divvy up the work load. Fortunately RemixedCat is a graphics artist and handles making all of my textures.

3D modeling is where I started. I whipped out Wings3D and started playing around, messing with all of the menus and options. It takes a wile to get good at 3D modeling but its a lot of fun. I started with a lot of simple objects that I can still use in my game such as plates, cups, tables, and dressers.

Once you have some models made you will need to learn how to texture them. There are a couple ways to do it but getting it right can take longer than making the model itself if you are new to it. RemixedCat spent a lot of time making textures for me to use. Mostly stuff for buildings and terrain though. Most of them are cut right out of pictures of objects and then processed to make them seamless. We had to make sure our source images were open source or free to use, this avoids any later legal trouble.

I had to come up with a good game idea and fun game play. I borrowed a few themes and elements from some of my favorite Super Nintendo games and computer games and mashed them together to make a unique idea for an RPG. It won't be anything like Oblivion though, more like a less linear final fantasy game with real time game play and attacks. Play Hinterland for a general idea of the attack system, extra party members included.


Screenshot of Hinterland

The story line can take a wile to come up with too. The general theme for Lost Kingdoms is an invading army takes over the country you live in. You help the king escape and take asylum in a neighboring country. Most of the game you will be trying to help the king get the country back, too bad he is more like Gandhi than Genghis Khan. Once you have a setting and general idea of where your game is going it is a lot easier to make content for it.

Programing your game can be easy if you know exactly what you want in it. It can be imposable if you have not learned how to program however. I suggest grabbing a good book or two about the language your engine was written in and read them over. Afterwards its easy to learn from looking at the engines example programs. IRRLICHT has a good number of well documented examples to get you started with. Just don't forget to read the API documentation if you don't know how to use something.

It took me a wile to acquire all of these skills but I took them one at a time. As with any skill, they will improve with use. There is a lot of assets to make before the game is done. I only have a hill of them done, and I need a mountain!

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.