Hey All, this is a re-send of last night's failed post due to  
language.  I've edited the offending passages with *s surrounding the  
edits so you'll be able to get the original drift if you like.

   Have a great day !

Enjoy!…

Smiles,

Cara  :)

Jeff Kesselman's Blog

Community: Java Games Archives



History is made of this...
Posted by jeffpk on April 27, 2004 at 04:44 PM | Permalink | Comments  
(24)

History is made of this...
Another week, another games ramble.
The history of computer games can be viewed a myriad of different  
ways. For me, the big “historical events” have been the growth of new  
genres.
Once a genre is established it will get worked in every possible  
manner but to me those have always been the boring details. I find  
DOOM far more interesting a phenomenon then Quake4 or DOOM2 because  
all these games add is technical refinements to a fundamental formula  
that was established by DOOM. At the end, the experience may be  
refined and enhanced but its still an experience I've had before  
(running around with a gun in my hand trembling at whats around the  
next corner) and that bores me.
To me games that were really historical landmarks are relatively few  
and far between. Just to illustrate, I have below a short list of  
games I feel fit into this category and why. It is of course a  
subjective and personal list and it is biased to some degree by the  
kinds of games I like to play and thus knew best. These are all  
computer games or arcade games that I believe directly influenced  
computer games. I've also left out education which again is a separate  
category for another time.

(1)Pong, Atari. The first game to recognize that moving dots on a TV  
screen inert actively could be fun.
(2)Tanks, Atari. The first (very privative) combat vehicle sim.
(3)Adventure, (student at MIT whose name escapes me). The genre setter  
for interactive novels and the root of all adventure games.
(4)Code Wars. The first programming combat game and the granddaddy of  
all the programmable robo-sim games of today.
(5)Riddle of the Sphinx, Activision. The first graphic adventure game.
(6)Wizardry. The first CRPG and the fundamental genre setter for all  
CRPGs to follow.
(7)Pool of Radiance, SSI. The first CRPG with a third person combat  
mode.
(8)Hack (later Rouge). The first all third person RPG.
(9)Donkey Kong, Nintendo. The first platform game.
(10)Bill Budge's Pinball Construction Set, Electronic Arts. The first  
“game” that was a toy to build your own games with. (Ignoring BASIC  
and other languages.)
(11)The Sub-Logic Flight Simulator, Sub-logic (later acquired by  
Microsoft). The first flight sim for a mass market micro-computer.
(12)???, Electronic Arts. I can't remember the name of this but it was  
the first submarine-simulator game.
(13)Need For Speed, Electronic Arts. Set the standard for driving  
simulations.
(14)Crush Crumble and Chomp, Automated Simulations. The first “you  
play the monster and destroy things” game.
(15)Whatever the first SSI hex war-game was. (I can't remember they  
had so many and they were all so much alike.)
(16)The first sailing simulator, whose name again escapes me.
(17)Warlords. Arguably the first strategic level battle simulator and  
the granddaddy of the RTS category today.
(18)Balance of Power, EA (Chris Crawford). Set the standard in grand- 
strategic political games.
(19)Trust and Betrayal: The legacy of Siboot, EA (Chris Crawford). The  
first experiment in real machine opponent personality and AI. Arguably  
the granddaddy of games like “Good and Evil.” (Also one of the only  
games ever to be released first on Macintosh ;) )
(20)Maze Wars, (freeware, many versions). The first multi-terminal  
real time game and one could argue the granddaddy of all FPSs.
(21)Xtrek, (freeware). The first multi-terminal third person shooter.
(22)DOOM, ID software. The first environmental horror survival game.  
Yes I know most people consider it the granddaddy of FPSs but I'd  
actually disagree slightly. Maze Wars had already established the “run  
around the maze and shoot things” genre. What was really new about the  
DOOM experience, I'd argue, was that it made you AFRAID to turn the  
next corner. Genre wise I'd argue that DOOM has more in common with  
House of the Dead then with Max Payne.
(23)Summer Games, Electronic Arts. The first sports game.
(24)Impossible Mission, Electronic Arts. The first sneaking game.
(25)Hitman: Code Name 57. The first “sneak up and kill someone”  
game ;) Okay its really a mix of pre-existing genres but I couldn't  
resist it. This game DID gie me a fundamentally different experience  
playing it then any game I had played before.
(26)Neverwinter Nights (the original), SSI. The first “massively”  
multiplayer on-line RPG. (After multiple enhancements, massive topped  
out at about 500 simultaneous players as I recall
(27)MechWarrior. The first giant robot sim.

I'm sure there are others but I'm going to stop here and ask all of  
you to add your own. Keep in mind that to be part of this list the  
game should have defined a truly new genre with a genre being defined  
as a fundamentally new experience and not just a twist on an old one.  
Just better graphcis (or graphcis v. text) shouldn't be enough to  
qualify it. Thats an incremental imrpovement. Adventure for instance  
made me think I was physically somwhere else doing something else and  
thus no other game can lay claim to originallity just on that score.  
This is all of course subjective but I think its interesting to think  
about.
Now what I really wanted to get to is... what next? We haven't had a  
real genre burster for a long time. I think one might argue that City  
of Heroes for instance is at least partly a genre buster being the  
first massively multiplayer supers game. Doing a world of Supers is a  
whole different problem then doing a game where there is only one  
super hero-- the player. How they've approached it is interesting.  
While large parts of it are derivative of previous RPGs, they've come  
up with what might be considered a new synthesis that gives a  
fundamentally new play experience.
I contend that there is huge untapped potential in the online space  
and the next big leaps are likely to occur there. Online games are  
fundamentally different from single player games .In single player  
games, you primary job as game designer is to craft an interesting and  
engaging experience. In online games though arguably more important  
then the challenges are designing an environment that creates a  
functioning and engaging community.

A friend of mine in high-tech policy (he was a senior high-tech ad  
visor to the Clinton administration) once said to me: “The killer app  
of the Internet is each other.” In retrospect think he was right and  
it will be interesting to see what new genres of games emerge as game  
designers Grok this.


Things that go BOOM!
Posted by jeffpk on April 20, 2004 at 07:42 PM | Permalink | Comments  
(4)

This week's Blog is gonna be a ramble. I hope at least its a fun one.
Things that go BOOM!
Well I've been playing for about a week in the City of Heroes beta.  
I'm not wrong often, but when I am I do my best to own it. I've  
described this in the past as “The Greatest Game That Will Never  
Ship.” I was wrong. Its simple, but done, and will be going live on  
the 28th.
Whether it survives going live only time will tell. They have been  
doing their best to have us testers simulate launch load but I doubt  
we're even close to whats gonna hit these machines opening day. Lets  
face it Sword and Magic and Lords and Ladies has a pretty limited  
target demographic. But wearing bright colored Spandex and making  
things go BOOM has a pretty wide appeal. Based purely on what I see  
I'm going to make some guesses to their server architecture and what  
they've encountered so far.
It looks to me like the basic design of the game is very much EQ like  
in server design. They have central “congregation” servers where  
people tend to clump and then mission areas you get sent off to.  
Unlike EQ the mission areas are spawned dynamically on entrance. Thus  
if my team and your team go on the same mission we end up in different  
areas.
As well as spreading the load out some, this has the nice effect that  
you don't get to your mission just to discover someone else has  
already accomplished it. It also builds strong team spirit as those  
are the folks you really “are playing with.”
The whole setup is of course sharded into multiple “servers” each of  
which is really the cluster of servers running that instance of the  
game.
Having said this, it looks like they discovered during test that their  
congregation hubs just couldn't handle even the sharded the load. As  
such the effectively “sub-sharded” those areas into multiple  
instances. Atlas Park for instance is actually 6 or 8 different  
instances of Atlas Park and you chose which one you want to go to when  
you enter that region. The good news is that it keeps those areas from  
becoming over-crowded. The bad news of course is that it introduces an  
obvious “break with reality” into the game.

“Hey I'm in Atlas Park under the Atlas statue where are you?”
“I'm there too.”
“Oh.... ", pause, "Atlas park 2?”
“No, Atlas Park 5.”

The hacky nature of this makes me strongly suspect it was a kludge to  
handle over-loading on the server, client, or both.
Are Roleplay Games about Roleplay?

Role play, N. In role-playing, participants adopt characters, or  
parts, that have personalities, motivations, and backgrounds different  
from their own.
Source: http://encyclopedia.thefreedictionary.com/Role-play
An interesting, and to me frustrating, observation from playing CoH is  
that the majority of the community not only don't role play, but don't  
even understand what role play is and why you would want to do it. As  
an old Pen and Paper role-play gamer this is the primary draw to me  
and role-play only works in an environment where people understand it  
and participate in it.
Now come launch those like me are talking about staking off one server  
as the “role-play server” and moving there en masse but this begs a  
bigger question.
Namely, is Role-play the primary goal of an OLRPG? If so then all the  
games to date pretty much fail in their goal. I have only actually  
ever seen one game that taught/encouraged people to learn how to role  
play. A pen and paper game called TORG. By its however nature that  
aspect would not convert to an automated environment because it  
requires a human to judge the role-play and modify results accordingly.
On the other hand. These non-role-players, as lame as they might seem  
to me, are having fun and are paying big bucks up to the game  
developers. In any game development effort that sounds like a success.
So maybe, just maybe, whats wrong is the name and we should stop  
calling these “Online Role Play Games” and start calling them  
something else. I'd vote for OLBMCJ myself (Online Bash Monsters &  
Collect Junk.)
Conclusion
Well, I have to say that even with server oddities, simplistic game  
play and lame kiddies who wouldn't know role-play if it bit them in  
the *butt* , City of Heroes is a lot of fun. How long it will hold my  
interest is tough to tell, I generally burn out on these things after  
I've explored most of the new-experiences and role-play potential. I  
also have some concerns about launch day. Cryptic is doing all the  
right things in testing, but its clear they already had scaling issues  
even with the just the beta population and there is no way then can  
predict or model the flood of pent up demand for this product. About  
all they could do is limit the number of boxes they ship, but that  
could have other bad impacts on their sales.

All I know is I intend to be there banging on the login server with  
the rest of them the day they open the gates!


Faster, Better, Cheaper. That's What!
Posted by jeffpk on April 13, 2004 at 06:34 PM | Permalink | Comments  
(58)

In AT's interesting Blog "You Can Make Real Games In Java!!! Yeah...  
But So What?" he raises a lot of interesting questions. What I don't  
entirely agree with though are his answers:
"Problem is, as far as these guys are concerned, anything we can do in  
Java, they can do in C++. And they already know how to write games in C 
++, so proving equivelant (sic) capability is no real argument at all."
By definition, anything that can be done in any language can be done  
in assembler. Yet higher level languages continue to evolve and  
developer. Why is this?
The answer is that just getting the job done is not enough. If there  
is a tool that will get the job done faster, cheaper or quicker then  
that is often the right tool to use. Sometimes its tough to convince  
someone to try a new tool. It took me forever to convince my wife that  
using the heal of a shoe to drive a nail in was giving her inferior  
results for too much effort and that she should leanr to use a hammer.  
Needless to say today though she doesnt reach for a shoe when hanging  
a picture.
"Cross-Platform? Well, cross-compilers for games have been around for  
a while, and when game companies are thinking cross-platform they're  
primarily thinking PC, PS2 & Xbox not PC, Mac & Linux, so Java's not  
really gonna help them there. "
Tell this to Bioware, who set out to write Neverwinter Nights as a  
cross platform C project for Mac, Linux and Win32. In the end the  
Linux and Mac versions shipped highly incomplete and have not been  
maintained with upgrades the way Win32 has. Why was this? Because  
while you CAN write cross platform C, its *darn* hard. In the end  
trying to do so adds so much to your expense of development that you  
really can't afford to target those secondary markets. Bioware  
eventually gave up and used Win32 specific tools to build the ore of  
their product-- the Aurora toolset. As a result that is not part of  
the Mac or Linux releases and what could have been major breakthrough  
products on thsoe platforms instead became incidental curiosities.
"Why care about the Mac market. Its only 10% of the desktops", you  
might ask. Yes, its only 10% but its a voracious market under-supplied  
for game content. That market supported and built Bungee, the company  
responsible for Halo, through all its start-up years. Thats real money  
folks IF you can get there cheap enough that the expense of opening  
the market doesn't eat the all the profits.
Java can do that. C can't. Its that simple. And who is to say Java  
won't extend its reach to other important platforms like the game  
consoles? The game console manufacturers are driven by their  
developers. Thats a fact of the industry. All it would take is one  
developer writing a super-hot game in Java and then telling Sony, "Gee  
we'd like to port to your platform but we need Java" and I guarantee  
you Java would arrive on PS[whatever].
Athomas next comments on the memory management situation in Java. "No  
offense to the truly brilliant minds who continue to catapult the JVM  
leagues ahead in power and capability with each release, but memory  
management in games, especially on constrained devices like consoles,  
largely consists of pre-allocating objects and disposing of them when  
you're done. Having a process you don't control eating CPU cycles in  
the middle of a tight game loop isn't really seen as a bonus."
The mistake here is equating the state of current Java memory  
management with the possibilities of proper game-oriented GC. Let me  
tell you as someone who wrote games and game portability libraries  
that "little process" of self memory-management that game developers  
follow that AT describes is a royal pain in the rear. A proper game  
GC, where you could tell it "this is the maximum hit I want per game  
loop iteration right now" would be a godsend and reduce development  
and debug time significantly. It would also reduce the large number of  
memory errors that games today typically ship with. (Ever play your  
favorite game for a really extended period of time and have it lock or  
crash out? Surprise, thats probably bad memory management at work.)
More importantly though is what garbage collection really enables,  
which is proper object oriented coding. Today game programmers don't  
write OOP. They may use C++ but by and large they use it as a C  
compiler with stricter type checking. Given their tools today they  
cannot separate their code effectively into reusable objects and  
modules. Global memory management means monolithic code, its really  
that simple. Java GC frees you from that. You can allocate temporary  
on-the-fly objects as needed and be assured they will get collected  
without other parts of the code needing to know anything about them.  
And thats the real reason why GC is essential.
Does today's GC meet game needs? Unfortunately not, but the developers  
of the Java spec in their wisdom preserved a lot of maneuvering room  
for new GC algorithms and I'm confident we will eventually see GCs  
that can handle game needs.
"What about RMI? Object Serialization? " Sorry AT, this is a straw  
man. Noone having to manage and count individual bytes uses these.  
Instead, you should have asked "what about NIO and scattered reads and  
writes?" These are the Java facilities for low level packet twiddling  
and they are a lot more convenient then their C counterparts.  
conveniences means faster development and less bugs.
However, I'd even argue with the assertion that serialization is not  
of value. Used judiciously it again can give you code modularity  
without a very high overhead. A great example is the UUID class that  
is used throughout the back-end of the Sun Sim Server (I'm told by the  
way we're going to change its name back to Sun Game Server so get  
ready to see that in the future.) UUIDs are generated in a few  
different factories and then passed around and used by other parts of  
the stack that never need to know their insides. Without  
serialization, the layer that transports such things must know their  
internals. I can see this convenience and code modularity (again read  
"faster development, fewer bugs, better maintainability") reaching out  
through the edge of the back-end and over the net as bandwidth issues  
become less and less. There are already game consoles that require  
broadband for game play. What's 10 or 12 extra bytes on a 128K  
connection?
Then there are some other qualities of Java AT didn't get to. Like the  
fact that the entire language is designed to "fail-early". Many errors  
that plague C programs are caught at compile-time in Java (eg  
uninitialized variables, dead code, memory leakage through orphaned  
data blocks). Others are caught as soon as they occur and exceptions  
are thrown (eg null pointer access, array over-run and under-run.)  
These are all things that plague games in release today. So not only  
is writing Java more convenient, its inherently more bug-proof.
Finally, and perhaps most importantly, Java is a language built to  
handle complexity. In C++ you pay penalties for making your code  
modular and reusable. In Java, thanks to the miracle of run-time  
compilation, the easiest and fastest ways to do things are often also  
the most modular and reusable. Reused code is tested code, leading  
again to faster development and fewer bugs escaping into the field.
Okay so maybe Java IS good for game developers. It opens markets by  
reducing porting costs. It allows the developer to deliver more  
reliable code quicker. Most importantly It allows the developer to  
reduce the complexity of the game programming problem down to  
manageable units.
But what's wrong with Java as a scripting language?
The answer is nothing is inherently wrong with it. In fact, its so  
easy and obvious, its already a fait accompli. Management always likes  
targets that are already accomplished-- they can declare victory and  
go on. But setting your goals on already accomplished things gets you  
no where.
Java has the potential to radically transform the game industry,  
making better and more reliable games easier to build and deploy. It  
would be a crying shame to set our goals at anything else.
We've seen transitions like this before in the game industry.  
Perhapses I'm the only one in the GTG long enough in the tooth to  
remember this but I lived through the transition of game coding from  
assembly to C. And the partial transition to C++. These transitions  
*are* painful there is no denying it. Some developers will absolutely  
refuse to move, and will eventually find themselves marginalized like  
the assembly coders are today. Another set will only move when its a  
proven thing. When the waters seem safe. Those guys will be scrambling  
for jobs and catching up on their skills. Some will manage the  
transition and some will fall by thge wayside. But the leaders, the  
guys who are *always* at the front of the industry, are already  
playing with alternate technologies like Java. They do it at home on  
their time so when the shift comes they will be ready for it.
The big question for the game developer is which group do you really  
want to be part of? The big question for us at Sun is, do we want to  
ride the front of the wave which means pushing Java into new uses or  
do we just want to sit safely on the beach content with the uses and  
users of today.
Myself, as John Brunner puts it in "Shockwave Rider"-- I'm a chaos  
surfer!
Always have been. Thats why I'm here at Sun pushing Java for game  
development instead of writing "web services" or whatever managements  
favorite easy-win is today. Why? To quote a song well known to old  
fogies like me, “'Cause Mama, that's where the fun is!”
---
View my Online Portfolio at:
http://www.onemodelplace.com/CaraQuinn


---
Gamers mailing list __ [email protected]
If you want to leave the list, send E-mail to [EMAIL PROTECTED]
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/[EMAIL PROTECTED]
If you have any questions or concerns regarding the management of the list,
please send E-mail to [EMAIL PROTECTED]

Reply via email to