Diaro di sviluppo per Orcs & Elves

di

Vi proproniamo  a fondo news il diario di sviluppo di Orcs & Elves per Nintendo DS, la pagina di diario riporta i commenti del leggendario John Carmack, sviluppatore del titolo. (Nota: il materiale seguente è completamente in inglese):

Most of my time lately is spent working on Rage, id Software's Id Tech 5
based game that runs on PCs, Macs, 360s, and PS3s.  A modern high-end game
is a really breathtaking consumer of computation and storage
resources for anyone that has been around computers for any length of
time.  Our target platforms have at least 512 mb of ram, almost 20 gb
of media storage, and many tens of gflops of computation, but the
development environment involves an even more massive deployment,
with a terabyte of raw data being generated before the final culling
and compression is done.  It is easy to be a little nonchalant about
the continuous pace of improvement with computing, but I still take
the time to feel a sense of awe about it all.

I started programming on a Commodore VIC-20 with 4k of ram and a tape
drive, and I remember writing absurdly long lines of basic code to
save the couple bytes that a new line number would consume.  As the
years went by, and my projects moved from the Apple II to the PC and
the early consoles, I continued to gain new insights and perspective
on different problems, and I often thought that it would be fun to go
back to one of the early small systems.  Now that I "knew what I was
doing", I could do a lot more within the tight constraints than I was
ever able to before.  I actually carried a bunch of old systems
around with me from house to house for many years before I reached
the conclusion that I never was going to spend any real time on them
again, and finally tossed them out.

As technology continued to rapidly advance, I saw a lot of good
programmers sort of peel off from high end game development, and
migrate to other platforms where their existing skill sets were still
exactly what was needed.  There was a large contingent of hard core
assembly language programmers that never wanted to "get soft" with
the move to C for more complex game development, and many of them
moved from PCs to platforms like the super Nintendo, and eventually
into embedded systems or device firmware.  There was another
contingent that never wanted to move to windows, and so on.

There is an appeal to working with tighter constraints.  The more
limited the platform, the closer you can feel you are getting to an
"optimal" solution.  On a modern big system, there are dozens of ways
to accomplish any given task, and it just isn't possible to evaluate
all the tradeoffs between the implementations of hundreds of
different tasks.  On a little system, you have to constrain your
design to have a much smaller total number of tasks, and the
available options are a lot more reduced.  Seeing if something is The
Right Thing is a lot easier.

I probably had my personal "moment of truth" around the beginning of
Doom 3's development, when it became clear that it is no longer possible to
deeply understand every single part of a modernapplication.  There is
just too much.  Nevertheless, I found that I could still enjoy my work
when confined to a subset of the entire project,and I have thus remained
committed to the high end.  However, the appealof smaller systems still
lingers.

A couple years ago, almost on a whim, I got involved in developing
games for mobile phones.  The primary instigator was when I ran a
bunch of games on a new phone and was left frankly appalled at how
poor they were.  I was thinking to myself "I wrote better games than
this each month before we founded Id".  I downloaded the SDK for the
phone, and started tinkering around a bit.  A proof of concept demo
and a plan for a game play style specifically tailored for cell
phones followed, and we wound up with DoomRPG, and later Orcs&Elves
which turned out to be big hits.

In an ideal world, where I could either stop time or clone myself, I
would act as a lead programmer for some smaller projects.  In the
real world, I can't justify spending much time away from the high-end
work, so the low-end work gets done in a few short bursts of engine
creation and foundation laying, which is then handed over to the
Fountainhead team to actually build a great game.  After that, Anna
mostly uses me as a threat -- if her programmers tell her that something
she really wants in a game can't be done, she threatens to call me
up and have me tell them how straightforward the problem really is,
which usually fuels them to figure out how to do it on their own.

Mobile development was fun in a resource constrained design sort of
way, but the programming didn't have the "tight" feel that early
gaming had, due to the huge variability in the platforms.  When I was
 messing around on my own phone, I spent some time doing java
bytecode disassembly and timing, but it was fairly pointless in light
of the two hundred or so different phones the game would wind up running on.

Enter the Nintendo DS.

      

We had initially looked at possibly moving one of the cell phone
titles over to the GBA, but it didn't look like the market would
support it, and technically it would have only turned out somewhere
in between the low end and high end cell phone versions.  With the
success of DS, and a suspicion that the players might be a little
more open to new third party titles, EA decided that they would
support developing a really enhanced version of Orcs&Elves for the
DS.  This is going a bit out on a limb -- most successful Game Boy /
DS titles have been either first-party Nintendo titles, or titles
with a strong movie / toy / history tie in.  While Orcs&Elves is
doing well on mobile, it is still very far from a recognized brand.

The resource limits on the DS make it almost perfect for a small team
development.  The hardware is fun to work with, you can directly poke
at all the registers, the tool chain works well, and the built in
limitations of cartridge memory keeps the design decisions fairly
straightforward.  Going one step farther up to the PSP with a UMD
brings you into the realm of large media sizes that can rapidly
consume multi-million dollar development budgets.

Once the decision was made to go for it, it was my job to figure out
what we could reasonably hope to accomplish on the platform, and
bring up a first cut at the 3D rendering engine.

Up next: all the technical details

Altri contenuti per Orcs & Elves