Welcome, what follows is, what I hope, a reasonable account of what or an attempt there of, can be involved in taking an idea from the mind to the finished product. I know I skip all sorts of steps but I hope it gives you the reader an idea of just how much can be involved.
If not I hope I provided you with a solution to that nighttime insomnia.
* * *
I know many of us have watched a movie, a television show even a play or sat down and read a book or played a computer and come away thinking, "I could have done better", but could you?
It is easy to say such things, but be honest have you ever actually sat done, maybe with a pen and pad of paper to hand and actually tried to work through what is involved?
Let me use as an example, a computer game.
Okay, you have an idea for a game, you grab pen and paper and jot it down, now what?
Well how about a plot, not just a general overview but a plot that starts with the players entry into the game, but their passage through it to an end?
Is the end finite? Does it signal the completion of the game or is it just the end that you can think of at that stage?
Ah, that opens up the next question, is the game linear or open, if open then how open?
Next, the stories, yes I know you have a plot but what about all those other characters that the player may meet in the game, are they just faceless drones or do they have stories? Ah now we find ourselves expanding the plot line. we have characters we meet, some are trivial or minor characters there only to provide a clue or piece of an answer, but what about others, those who play a more pivotal role, do they have a story, do they NEED a story?
Okay now you have the plot line, major story and basic sub stories fleshed out it is time to start getting into the nuts and bolts of making the game. But wait, you have to create at least the background of a world, what does it look like, what different environments are there, how about towns and villages, weather?
So now you have foundation of information to use to build your game.
First, what system are you going to use? PC, MAC or console? Each has advantages and disadvantages.
Now then, what technology is it to be based upon? ultra modern, cutting edge or a couple of months older?
Why do I need to think about this, well it affects a lot of performance issues. Cutting edge will most likely have more problems since the technology is so new the full implications of how it will interact with other software, hardware and drivers in the case of PC's may not be completely understood because of the sheer range of options out there. While the slightly older technology is more mature, many if not most of the issues are already known, so there will be much fewer surprises.
Okay you have decided upon your target platform, so now starts the long and hard part of creating it all.
But wait, is this single player which reduces your demands and requirements or multi-player. Can you save you game state allowing for the player to pause and walk away for biological functions or is it persistent, running 24/7?
If it is multi-player, how many players, can a PC for example, act as host or are you swapping data between a few discreet machine, as to action, weapon selected, spell cast and location or is it more involved. Are you expecting a large enough number that a dedicated server will be required, what about all the data and processing for the game such as combat resolution, monster movements and everything else. How much data is going to be transmitted, how big a pipe do you need just to send data at peak time, what about data coming the other way?
Is the server self regulating, performing maintenance during up time or does it require the whole system to be to stopped and everything taken offline for several hours while garbage is disposed off, logs are transferred, backups are made. You will need to make double sure about data integrity, have an accident and lose every player character created because someone during maintenance made a spelling mistake could easily cost you your entire player base. Your servers are essentially huge interconnected databases, thousands, tens of thousands, potentially millions of entries long. How much performance do you require to host all those clients?
Just for now we will assume that there are tools to hand that you can purchase to assist you in creating your game instead of having to write the tools you need to make your game.
Right so what is involved.
Well you need graphics, these are the static images you see as background but also the art work that covers everything from your character, the skin they wear, the clothes they wear, to the items they interact with in appearance.
You also have to think about animations, unless you are happy with a static slideshow, you need things to move, so you have to make a mesh framework of each and every object that will move, be picked up, handles or occupy a fixed point in the world, around that you wrap a graphic so it looks like it is supposed to, but you may want to add extra realism, give it all those little imperfections that we find in the real world, so you add texture maps, which supply these slight but minor imperfections, you may also want to think about a perfect versus an imperfect look. A 'perfect' look is one that will be spotted quickly, nothing is perfect in the real world it has all sorts of flaws in the eye of the viewer, from smears and scratches to fingerprints, distortions in reflections and odd color values. So we need a light source and something to indicate where and how reflections react to our object hence you introduce a reflection map.
Not so easy is it, we have a mesh, and animation model a texture map, a graphic image overlay and a reflection map on each and every object in the game.
However, we were talking about animation, that means that the mesh must have discrete parts, points around which the rest rotate and move. Think of the human body, think about the range of motion in each and every joint you have, there is a lot of them in a large range of directions.
However we do not need all the possible combinations, just the most common and a few special ones for uncommon actions. Sitting, standing, talking, pulling a weapons or weapons, using that weapon, etc. Now if the player character is just standing there doing nothing, them it looks completely artificial, so you write a mini script that controls what the player character does when just standing still. It could, look around from time to time, pick its nose once in a while, scuff a foot on the ground, yawn, there are all sorts of actions to consider if you want them or not and which give depth of personalty to the players characters.
All right, lets say that process is well under way, now what about sound, how about music?
Everything in the real world usually produces a sound. Pick up a pencil from a flat surface, you heard a noise or two even if you ignored them. The scratch of the pencil against the surface as it moved under you impetus, maybe your fingernails rubbed across the surface producing another sound, maybe you dropped it and had to try again.
Music, watched a movie lately, nearly every scene had music of some sort. The movie people are not trying to push the price of the movie up or justify their jobs but they have found that a movie with music gets a better response than one without music, Watch the Movie 2001, the lack of music in the background takes a little time to notice but feel the difference, listen to the sound of an astronaut breathing inside his helmet while outside is no sound, its a little odd, eerie. In the movie industry, music is important, as it is in other industries, for with music you can convey happiness, sadness, joy, excitement, fear or terror. A well composed piece of music can sweep up the emotions of the player and take them on a roller coaster ride or lull them into a sense of peace and calm just before they open "that" door and release the hounds of hell.
Ambient sound is a fun one, most modern games have them, from birds chirping in the background to the honk of car horns in the distance and the thumping beat of some backstreet stereo system several blocks away to the dull steady drone of an engine or air circulation system aboard a star ship. Lets us not forget audio cues either, such as alarms, klaxons and others indicators to tell teh player that something has suddenly happened as a result of what they just did or because they reached that point in the script where something happens elsewhere in their environment. Think about that huge steel door through which they entered the ship clanging shut even though it is half a mile away and they are now locked inside.
So you have plot, storyline, background stories, a cast of characters, meshes and animation models, textures, bump maps, reflection maps, lights sources for each location, ambient sound, audio and music what is left?
Well how about the display, that window through which the player looks into your game world, how is arranged, how much is visible all the time, some of the time or only when in certain specific areas or groupings. How much impact does the display have upon the system demands, does it slow the system down to a crawl because there is so much to display on top of the game display or does it hardly impact the performance. Is it fixed, is it editable, can you move all elements around, turning them on or off so a player can customize it.
Alternatively you could have too much on the display at anyone time and overload the players capacity to take it all in and process it.
Finding that right balance takes time and much trial and error, most on paper you hope so it does not cost a great deal.
That brings up the question of an internal macro system or add-on system, allowing for creative players to add features for themselves, you will need to think hard about that for you will have to supply the language basics and some form of interpreter for the language to work within. Also how much access to internal values and data do you allow, too little and people cannot do anything worth while, too much and the game can be hacked and exploited.
If you are still here in this very quick and uneducated attempt to give an insight in to the thinking behind making a movie or game, then when done, pat your self on the back, because I know I talk far too much.
Let us not forget control and input systems, as these are critical,
Next step, your project has been funded, you have a realistic as opposed to optimistic schedule of creation and its holding up. Your backers though are getting worried, they see their money going in but nothing coming out so you have to start the media game, you have to get out there and contact magazines, reviewers on web sites, bloggers and start talking about the next best thing since sliced bread that is two years away. Wait two years away, well its an arbitrary value but you have to start this early, and gradually build it up until that one single moment when you hold in you hand that pre-release "I hope there are no errors" final beta disk, the disk you may decide to let limited numbers of the gaming public loose upon to see what they find, what they break, and what you forgot to fix or someone on the development team finessed past your roving eye because they were having a bad day, didn't want to work on that bit of code or just could not think of a better way to do it.
You beta goes well, the player testers find only 600 action items out of hundreds of thousands, many are easy fixes, but you have one or two real problem points, items that require the combined brain power of all the coders and developers. So you turn them loose with orders to fix item a and item b and ignore everything else.
But your backers are demanding a return now, they are getting instant, you get threats of legal action perhaps, or maybe spurious accusations in a very polite an legal way of you taking their money and not giving anything in return. You just have too much pressure to show your game, to get it out there or throw your hands up and declare failure. So, you have no choice, you publish, you have already set up the advertising campaign, you have 30 second long adverts for TV, magazine spots selected, release parties planned, you hired Hollywood A-Lister's or B-Lister's to provide voices for your advertising campaign, lending their voice and face as a recognizable icon in the minds of the buying public.
You gear your self up, send the master disc to the duplicator's, they press the disc or discs and put it together with all the nice packaging you put together, along with manuals or other materials to include in the box. It all goes out to the distributors, who send it to the retailers, with strict instructions not to seel it until such and such a date. Of course someone ignores that and puts it on sale early, not much you can really do about it if its one or two, if its a chain, you could perhaps blacklist them and cross your fingers, maybe you could try legal sanctions but don't hold your breath.
Come the day of release and you stand there in front of the gaming press, smiling and laughing, talking earnestly about how good this is, how you and the team overcame all obstacles while knowing that a select few are busily working away on the first patch to fix those easy issues found in beta, when the word comes in.
And... well I will stop hear, because you are already thinking about and working upon your first expansion or addition to the game, maybe working from unfinished material intended from the original game but not included because of time, cost or other reasons.
I hope you have reached here for this is the end, in my poor man's attempt to give you just the briefest glimpse into the taking an idea from the your minds eye and what it may go through to become a reality. I have no idea what is actually involved and I imagine it is a lot more involved that my pitiful words here convey, but I feel fairly confidant I have hit at least some of the high points. The one thing I will guarantee is that along the way, there have been civil debates and hard, long drawn out slugging matches as two or more people argue over the best way to implement some feature or other. After all what is hard for one person may be of greatest ease to another, we are not after all, all the same. That would be boring if we were.