|
If someone tells you that you can't write a game by yourself because you can never compete with
larger groups of programmers working under a budget, then don't even begin to be put off. People
write books on their own, and distributing a book is much harder than distributing a game and
the competition with book writing is much larger because so many are written each day. But there
are always room for books on unique subjects and there are always room for computer games that
the larger groups cannot consider there to be a market for, or fail to have the imagination to
be the first to support such a game. With this said, the tremendous challenge for the private
game developer is to finish something. For every 100 game projects that start, I have not done
any statistical tests, but I am pretty sure less than 5 will be finished. The profound consequence
is that you maintain your vision as closely as possible but plan for the game to be more well
defined and smaller in scale. You can always add to it later.
Designing a game by yourself involves distinct skills, or modes of thinking, and you need to be
good at all of them:
Vision
Design
Coding Attack Plan
Coding
These descriptions do not describe phases, but modes of thinking. If it was a typical business project
then the 'Vision' mode of thinking would be replaced with 'Requirements Phase' and would generally be
entered only at the start of the project before the contract is signed. But you are creating our own
requirements and you will continuously revisit your 'Vision' mode of thinking and this is most likely the
most inspiring part of building your computer game.
If you are not inspired by your Vision, then forget about it. The project is already over. If you have a
very inspiring vision then this will continue to be a powerful driving force for all other aspects of
the project further down the chain.
While everyone works a bit differently, these four modes of development can be summarized with
the following table. The have not been put forward as a theory but are simply the report of how I
have worked the most successfully and what actually happened.
Look-ahead Period Proportion Work With Iterate With
of Total
Time
_______________________________________________________________________________________
Vision Entire Project 25% Grand Plan document Design
Outline of Phases
Design About one week 25% Diagrams and notes Vision,
Order Of Events Coding Attack Plan
Coding About two days 15% To-do list (Pen and Design, Coding
Attack Plan paper or text file)
Coding A few minutes 35% Programming language Coding Attack Plan
Testing
_______________________________________________________________________________________
There are a few interesting things to point out from this. First of all only about
one third of the total time is with coding. This means that the other 65% of the time you are
not sitting in front of computer programming but working with pen and paper
or typing documents. Along with the Coding Attack Plan, the Coding consumes about half of your
project time while the Vision and Design consumes the other half.
The Grand Plan document describes the project from a perspective that
any reader would understand - it doesn't focus on technical aspects, although technical notes can
be added where appropriate if you worry they may be forgotton or if they are instrumental to your
overall goals. The Grand Plan document requires a lot of attention at the start of the project.
During the project you should have a lot of paper with diagrams - these are your Coding Attack Plans,
and you throw them away when you have implemented the code.
The Look-ahead Period refers to amount of work you are looking at in Coding time and
the Iterate With column refers to the modes of thinking that are most closely connected. If you
try to jump straight from Vision to Coding then you will be in a mess and looking at the screen
while moving the mouse around in circles like an idiot. Likewise you should avoid moving from
Design straight to Coding because you will actually lose concentration much more easily if you do not
have have a clear 'To-do' list that keeps you focussed.
You want to minimize your time in front of the computer by researching or creating your approaches
(solutions and algorithms) and then treating the actual rather like war - that is,
making it as short as possible, because by the end of the project you may be extremely exhausted and
risk becoming disillusioned from the amount of programming that is required.
Vision
While in the Vision mode you will think about all aspects of the project. When you are
day-dreaming bored of programming and letting your mind drift but still thinking about the game,
then it is likely you are in the Vision mode. All this time counts and is far from time-wasting.
For much of this time you will be writing your 'Grand Plan' for the game. If you do not find this
part very interesting then you are probably going to write a boring game and should stop
here. While in the Vision mode of thinking you will be reviewing other questions that
are broad in scope, such as: What it is the game going to look like? What are the emotions you
are going to feel while playing the game? Have you decided upon the language to use to write
the game, and what are the pros and cons of this language versus the alternatives?
Do you think the game is going to work in 10 years with minimal adjustments?
Do you want it to work then? In what way you think you will be rewarded - why are you
writing this game anyway? Is the game for your pleasure and satisfaction in seeing
others enjoy it, is it a learning exercise, do you have a commercial model involved
at some level, or some mixture of these three? Will there be any support materials such
as a discussion forum or a website? Will there be documentation? Have you factored the
time that it takes to do all of that into your project? Do you really think people are
going to want to play your game? Do you care? Are you writing it only for your own
enjoyment? How can you make the game more fun to play? Do you have the time to implement
your entire 'Grand Plan'? If not then can this plan be broken into smaller deliverable steps?
Could you add this or that idea?
These are the sort of questions that you will ask while in the Vision mode of thinking, and the
answers will be elaborate and you will always drive back to game design. Your vision
should be as exquisite as possible from all angles of game design.
Design
Here you will be working with pen and paper and mapping out how you are going to solve
a problem that you have defined. Clearly defining a problem to solve can take just as much time
as solving it. You should start by writing many questions down such as "How are the lasers going
to be represented?", "Am I going to support shadows in this particular scenario?", "Is this
window going to need to have the text contents scrollable?".
As a example, you might have decided that you are going to implement your own graphic user
interface from scratch as part of your vision, and you have defined that this is going to be the
first major phase of the project. You can then use this interface for future projects also and
that was part of your Vision. In order to enter Design mode you need to forget about the big
picture and work out how you are going to acheive this goal. Because it is such a large goal
you have to break the problem down into smaller and smaller steps. Your pattern of thoughts might
be: "First I want to be able to display windows in arbitrary positions, and I will leave the
interface controls until later". "To do this the basic technical requirements are to be able
to draw a pixel, for which I will extend to draw the entire windows, and to be able to respond
to mouse events. I'll have to do some code experimentation to make sure I can do these simple
things, and then I can return to the design phase again". By necessity you have broken your
design down to a very simple step which will require a Coding Action Plan and some period of
Coding.
With more complex problems, the art of breaking the problem down to simpler steps may require
research or challenging problem solving within the design work. For example, the problem of
rendering a 3D model made of polygons will require you to think about data organization for
the model, to understand clearly the concepts involved with perspective projections and
possibly to create an algorithm for drawing a triangle on the screen quickly. This research
and problem solving takes a lot of time but it has very little to do with coding.
Don't let anything intimidate you. Progrmaming requires a bit of bravery. If you are designing
an approach to render a 3D model and you have never done this before then be prepared to do
some research over the internet. Also try to work things out yourself and then
read about how other people are doing the same thing. There is no better way to learn than try
to think of the solution yourself, and this will make reading someone else's explanation
much easier to understand, not to mention more enjoyable.
Coding Action Plan
Coding Action Plan is the link between the design and the coding. This takes up as much as 15%
of the entire project because it is more than just a to-do list. It involves a clarification
via detailed written instructions what you are going to do and how you are going to do it. It
will often include pseudo code for algorithms that you actually worked out. But unlike the Coding
frame of mind, you are away from the computer and thinking in quite a different, somewhat more
imaginative way. You don't care about syntax errors and you are really focussed on clear design.
The Design mode of thinking involved almost 100% imagination but when you write the Coding Action
Plan you need be very pragmatic and end up with fixed and clear instructions in the specific order
that you will code them. At the end of writing a Coding Action Plan you should be bursting with
energy to go straight to the computer to actually get something happening.
Coding
You might be in your comfort zone while in front of the computer. However if you are driving the
whole project yourself then minimize the amount of time you are spending in this phase. If time
is passing and you are not getting very much done then it is likely that your brain wishes to
be in a different mode. Go back to the Coding Action Plan and work on paper for some time.
If you do not have new designs that you are excited to implement then you need
to go back to the Design mode, and if you can't find any designs then move into Vision mode.
There you will always find something you need to design.
This summarizes the different modes of thinking required to write a computer game entirely
by yourself. Contact me at:
Julian Cochran
julian@digitalscores.com
www.juliancochran.com
By John Wilder, posted 2004.03.27
Dear Julian:
As one of your avid fans of your first D-zone game, I was delighted to find your digitalscores webpage and the link to the D-zone game download. However, when I downloaded the game and extracted the files, I didn't find any "Dzone With Slowdown.bat" file, even after I ran setup. Is there something wrong?
Also, you mentioned D-zone version 2.0. When can we expect that out? Or is it out already? Thank you very much.
-John Wilder
University of North Carolina-Chapel Hill | By Drew Davis, posted 2004.04.20
I first played D-Zone in 1994, when I was 6 years old. Over the years I have rediscovered it many times, and every time, it still holds the appeal that it once did. I just downloaded it for the umpteenth time yesterday, and discovered that even though it doesn't have the graphics that other games have, it is still as entertaining as ever, keeping me occupied for hours on end. I can't wait to see D-Zone v2.0. It will no doubt hold the same appeal to me that the original did.
Keep up the good work!
-Drew Davis | By Trevor Langbell, posted 2004.06.09
I found a slowdown program at http://www.kiki-koko.com/public/sitesage/bin/site/wrappers/default.asp?pane_2=content-home.dat&objectid=B3436100&MLINDX=0&NC=9301X called eat n' cool...
This program is originally used to alter the fan speed and turn on points for computers
This program however can force a cpu to idle and on my tc1100 tabletpc it gives me about 200mhz which runs dzone snappy... hope this helps someone | By Sancho Lerena, posted 2004.07.13
I love this game (D-Zone 1), please, do not try to do a "marvelous" 2.0 version, simply do it as simple and good as the first version, 3D is no so important.
Thanks for your work. I'll be waiting for D-Zone 2 !!!
--
Un saludo,
Sancho Lerena | By William Tiedemann, posted 2004.07.13
Joy! I again have the actual dzone files to play, to go along with the keycode I memorized so long ago ;) I still like to playing, even though the 1992 version is quite outdated now. The gameplay is simple, and yet engaging... the elements of a classic, to me.
Cheers,
William Tiedemann | By Bill Technology, posted 2004.08.07
I just wanted to add myself to the list of people eagerly awaiting the next version of your classic game. I wasted many enjoyable hours back in '92 on my 486 with the original version, and every few years or so I've looked for it on the net to see if I could still play it, but usually (until recently anyway) was disappointed. That's why I was glad to find your web page, and even happier to hear about the new version. I look forward to any news you may have about this project!
Isn't it odd, how in this day and age of DOOM III, Everquest, and the Sims, that we can still find fun in a tiny little dos game? I guess that shows that game design isn't all about frame rate and polygons! ;)
Thanks for everything!
Bill | By Sansara Giovanni, posted 2004.08.07
What's up?
I must tell you, I've been waiting in deep silence, listening, and trembling for the last 6 months.
I AM (not was) a great D-Zone fan. I even have an old computer for playing such games as Arkanoid, Centurion and D-Zone...
But it's beggining to fail. I have more & more computer crashes and my new AMD XP@1800 is running under windows2000
What can I say... terror, anxiety, pain...
Are you still working in D-Zone? Am I biting my nails unnecesarily?...
Anyway, cm'on... some of US are STILL waiting for you!!!
Sansara. | By Alec Wilson, posted 2004.08.07
Dear Julian,
Wow...I am floored...
If the game can look that smooth, yet maintain identical gameplay and 'feel' to the original...I don't care what the reqs are :). I gather that the style will be a throwback to Spectra VR? Brilliant 3d graphics for the day, but almost comically minimalistic? That sounds excellent - very much in the D-Zone spirit.
What you say about the AI is very interesting...perhpas you could post an explanation on the site as you progress?
Regards
Alec | By Silver Bird, posted 2004.08.07
I found D-Zone many years ago and fell in love with it. I kept playing it until my computer became to fast for the game. I just recently found your web site when I was searching for D-Zone. I read with great pleasure the
>new that you had found the source code for D-Zone but alas the last update to the page was well over a year ago. I was wounding if you are still planing on making D-Zone work for newer/faster computers?
Silver Bird | By Daylight Commando, posted 2004.08.07
I am a D-Zone enthusiast, and in fact just got my friend hooked on good 'ol version 1.3. I was wondering if the plans for D-Zone 2.0 were continuing, or whether you simply lost interest. Finding your D-Zone site was a real kick,
it brings back so many memories. I'll always remember the "this message is here to annoy you..." intro message from D-Zone 1.0, always made me laugh.
Good luck if you continue the project, and please let me know if you have any updates. | By Hai Pham, posted 2004.10.10
Dear Julian,
I just played D-Zone 2 and was curious as to what happened to my favourite add-on, the Red Dot. In version 1 the Red Dot was helpful as it told you when you had enought energy to fire your current weapon. While I was playing version 2 I had a Blaster and after my energy reached below that of what a Blaster requires, I couldn't tell how long I had to wait to fire another shot. This can get quite frustrating as I had to keep hitting the fire key and aiming at the enemy to ensure I killed it before it killed me. Is there a possibility of you re-introducing the Red Dot in version 2?
Vinothan |
|