Computer Science Canada

???Video Game Design???

Author:  R34P3R [ Thu Jul 17, 2008 11:06 pm ]
Post subject:  ???Video Game Design???

Hello everyone, I'm just your average guy with a passion for gaming that would like to get into video game design. I have absolutely no programming knowledge. Im a good artist and have some experience with 3d modeling using bryce 5 and AutoCAD (they have nothing to do with game design I know). I was trying to learn c++, but i can't even get my compiler set up in DOS and the tutorial i was using is too vague. Does anybody have any suggestions? Some good sites? Tutorials? What college courses would give me some of the knowledge required for video game design? What kind of knowledge is required to create a game from scratch? Without using game creation software, such as genesis3d. Keep in mind, I have absolutely no knowledge under my belt, I need something for absolute beginners, a good start. Any help would be much appreciated.

Author:  Tony [ Thu Jul 17, 2008 11:34 pm ]
Post subject:  RE:???Video Game Design???

To create a game from scratch, by yourself, you need to know everything.

If you have no experience with programming then you should start with the basics, not games. Definitely not 3D games. And most definitely not with C++.

Keep in mind that design (media, 3D, etc) and development (code, etc) are two different fields. One certainly needs both to put together a game, but the two parts don't necessarily have to be done by the same person.

Author:  jeffgreco13 [ Fri Jul 18, 2008 8:21 am ]
Post subject:  Re: ???Video Game Design???

Yeah for sure Tony's right...
this isn't like Grandma's Boy where you can just make a game all by urself and it be brilliant (Demonic, Gndmas Boy fans know what im talking about) If you really really wanna get into the 3D graphics design aspect you've got to look into Maya as well as some photoshop and illustrator. The programming end takes hours and hours of toiling away.

Maybe you are much better of starting small...

Author:  DemonWasp [ Fri Jul 18, 2008 8:30 am ]
Post subject:  RE:???Video Game Design???

Tony is correct: if you want to make a video game by yourself, you need to know absolutely everything:

- how to program (and program well)
- how to design a (fairly) large project
- how to make models, textures, etc
- how to code difficult bits (the 3d engine and AIs may well be incredibly difficult to get right, depending on the game type)
- how to package all of this for distribution
- how to design a game that's fun to play

Of course, these are all generally assigned to teams (development, architecture, art, and so forth), but it's not impossible for a single person to manage it : just don't expect to have an easy time, produce a professional-quality product, or be done in under a year of solid work.

Since you don't know how to program, you would need to either get started on that, or find someone who's willing to write the game code (and let you worry about design decisions and such). If you go the DIY route, then I strongly suggest you stay the hells away from C/C++ - while they are industry standards for writing game code, both languages are horrifically complex and have a huge set of obscure pitfalls that you have to carefully avoid. Instead, you may be better of choosing a language like Java, VB, or *gasp* Turing (it's available on these boards, and it's an excellent tool for learning to program). Once you know how to program, you can move into the more difficult languages. See the tutorials sections under each of the aforementioned languages and try reading each; if you completely don't understand it, consider taking an introduction-to-programming class at a local university or college.

If you're going to code bits like the 3d engine and AIs (note: there are free, open-source 3d engines for C++ and Java, and possibly several other languages), then you really need some higher education in math and computer algorithms to do so. Pick up an appropriate book (once you've learned how to program, of course).

Your experience modeling and aptitude as an artist lead me to believe that you'd be happiest working on the art while other people do the coding bits, but I could easily be wrong. You are correct in noting that AutoCAD and Bryce5 aren't used in the game industry, but at least you have experience with 3d models. The industry tends to use programs like 3dMax, Blender and so forth.

To actually answer your questions:
Does anybody have any suggestions? - Game programming looks simple, but isn't. There's an awful lot you need to know to make a game, and it's a difficult task for one person (I'm currently working on one, but I can't pretend it has a good chance of ever being very playable).

Some good sites? Tutorials? This one. If you insist on learning C++, then both the tutorial here, and these sites should help: http://www.cprogramming.com/tutorial.html
http://www.cs.brown.edu/courses/cs123/javatoc.htm (this one is best if you start in Java first, then try to move to C++). If you get stuck, you can probably ask for help here (just follow the forum posting guidelines to make sure people want to help).

What college courses would give me some of the knowledge required for video game design? Anything in a university-level computer science degree will help a LOT (though these generally require that you have rudimentary programming knowledge going into them). If you're not going to code, then go for something in 3d art at a college.

What kind of knowledge is required to create a game from scratch (w/o game-creation software)? As said, EVERYTHING. It's a lot of work. If you're really really interested, don't back down, just do the work...but if you're not very committed to this, then you should probably consider joining a team that's already making a game.

Author:  Zeroth [ Fri Jul 18, 2008 9:00 am ]
Post subject:  Re: ???Video Game Design???

The work really depends on the scale. Most programmers are capable of hacking out a tetris clone, or a breakout clone. It might take a couple of weeks, depending on the language and libraries. But something of a higher level, like FFVII, well, it took Square a team of about 20 programmers, the same number of animators, three YEARS to complete. It cost them several tens of millions of dollars. That is way out of the scope for any single programmer.

That is to say its not impossible. A group of about four, then six programmers developed a graphically sophisticated FPS that fits into 96K.
http://www.theprodukkt.com/kkrieger

But read their story. It took a lot of time and effort.

What scale are you planning to achieve?

Author:  R34P3R [ Fri Jul 18, 2008 9:05 am ]
Post subject:  Re: ???Video Game Design???

Thanks for the info guys, much appreciated. I think I'm going to take a mix of programming and 3d modeling classes at the local college to get a feel for both and hopefully that will help me decide what I want to do. Speaking of Grandmas Boy I watched it the other night on FX, they completely ruined it with all the cut outs and edits, gahh >.<.

Author:  R34P3R [ Fri Jul 18, 2008 9:10 am ]
Post subject:  Re: ???Video Game Design???

Zeroth @ Fri Jul 18, 2008 9:00 am wrote:
The work really depends on the scale. Most programmers are capable of hacking out a tetris clone, or a breakout clone. It might take a couple of weeks, depending on the language and libraries. But something of a higher level, like FFVII, well, it took Square a team of about 20 programmers, the same number of animators, three YEARS to complete. It cost them several tens of millions of dollars. That is way out of the scope for any single programmer.

That is to say its not impossible. A group of about four, then six programmers developed a graphically sophisticated FPS that fits into 96K.
http://www.theprodukkt.com/kkrieger

But read their story. It took a lot of time and effort.

What scale are you planning to achieve?


Now that I know a little more about it, I will probably take some programming and design courses like I said, but I'll end up sticking to one of them in the end. I kind of figured it would be nearly impossible for person to single handedly develop a top end game like say assassins creed, fable II, devil may cry 4 etc. Eventually I would like to be involved in something having to do with creating games for next gen consoles, most likely in the art department because that's where I excel. So scale wise, I'd definitely say I want to work on the more complex and innovative games that are being developed for next gen consoles.

Author:  R34P3R [ Fri Jul 18, 2008 9:20 am ]
Post subject:  Re: ???Video Game Design???

The tutorial at, http://www.cs.brown.edu/courses/cs123/javatoc.htm#Introduction, is too vague.
Could somebody try to explain this to me please?

[Foo.java]
public class Foo // declare a class Foo
{
protected int _num; // declare an instance variable of type int

public Foo() // declare and define a constructor for Foo
{
_num = 5; //[u]the constructor initializes the _num[/u]
// instance variable
}
}

For the parts of the code that ive underlined, im guessing that isn't an actually part of the code but instructions of what to put after the //. I have no idea what any of it means.[/b]

Author:  Aziz [ Fri Jul 18, 2008 9:27 am ]
Post subject:  RE:???Video Game Design???

Right. There's lots of good Tutorials in the "Tutorials" forum of each Language's section. Be sure to check them out and welcome!

EDIT: Sorry, I though I was the 2nd post. Guess I shouldve refreshed.

Author:  DemonWasp [ Fri Jul 18, 2008 9:43 am ]
Post subject:  RE:???Video Game Design???

The tutorial you're looking at is a Java-to-C++ tutorial, for people who already know Java and are trying to learn C++.

// is the "comment" character, meaning everything following that on the same line is a comment - left by the programmer to make reading the code easier. It explains what the purpose of the code is, while the code tells the machine what to do. Without comments, code can be incredibly hard to read.

Java may not be the best language to begin learning in, to be honest. It's a great language in a lot of ways (very precise), but without knowing a lot about Object-Oriented design before you begin, you're likely to get lost. I would honestly recommend Turing as an excellent starter place (though Python and Pascal may also prove good, I haven't tried them, so I can't recommend them).

Author:  R34P3R [ Fri Jul 18, 2008 10:11 am ]
Post subject:  Re: ???Video Game Design???

You would be correct sir, I couldn't even get the simple HelloWorld to run with java. Definitely going to start off with turing.

Author:  Insectoid [ Fri Jul 18, 2008 10:57 am ]
Post subject:  RE:???Video Game Design???

Turing is the language usually taught in grades 10-12. It is mostly for learning common algorithms, because it is quite bad in large projects. It is extremely simple and with some work you can even make 3-d games with it.

I myself have only had 1 semester of schooling in Turing, and have been able to make Breakout with ease (I did spend a lot of free time learning on my own though). I suggest making Pong for your first big project, it is very simple and helps when trying to make larger games later on.

One more thing: Don't download 4.1.1, it can't compile. Download 4.1.

Author:  R34P3R [ Fri Jul 18, 2008 12:16 pm ]
Post subject:  Re: ???Video Game Design???

Im working with it right now and yes it seems very simple its just a lot to take in and remember, seeing as ive never programmed before... I downloaded 4.1.1 >.<. Once I complete the tutorial I'll go back and get 4.1. I don't see how you could create a game with this, then again i've only used its basic functions so far.

Author:  michaelp [ Fri Jul 18, 2008 12:24 pm ]
Post subject:  RE:???Video Game Design???

I'm sure a visit to the Turing Submissions section will change your mind. Very Happy

Author:  Aziz [ Fri Jul 18, 2008 12:56 pm ]
Post subject:  RE:???Video Game Design???

It's a lot of drawing procedures (like Draw.Line) and mouse/getch events

Author:  Insectoid [ Fri Jul 18, 2008 1:53 pm ]
Post subject:  RE:???Video Game Design???

For keyboard movement, for example, you check if a key has been pressed, check which one was pressed, modify x/y coordinates of the character/paddle/whatever and re-draw. It's possible with every language that can draw.

Author:  DemonWasp [ Fri Jul 18, 2008 2:17 pm ]
Post subject:  RE:???Video Game Design???

Turing is actually fairly sophisticated, once you get into it. I only had one year of it in school, but I got pretty far with it, and I've written a fair number of experimental things in it so far. It's an easy thing to start with, and it's easy to get used to the idea of programming / algorithms / data structures without worrying about the complexities of "better" languages.

It is not, however, suitable for large projects or for production work. It has some critical failings which make serious work difficult (notably, it is about 1% the speed of compiled C++ code, as an estimate based on a program I wrote in both). Learn with the easy stuff, then move into the harder stuff. Trying the hard thing first off is likely to result in you losing interest, and that's no fun at all.

Author:  [Gandalf] [ Fri Jul 18, 2008 6:55 pm ]
Post subject:  RE:???Video Game Design???

Nobody said Turing's isn't fairly sophisticated, but there's some other big reasons that Turing isn't the best choice for a beginner. For example, object oriented programming in Turing is ridiculously obfuscated compared to Ruby or Python, and OOP is definitely not something you want to get behind on if you're aspiring to create games. Turing makes it easy to jump in because of it's all-in-one nature, but it also makes it easy to get way ahead of yourself. With something like Ruby, on the other hand, there might be a larger learning curve, but that just motivates you to learn more. You also get first hand experience of the difference between a compiler and editor, for example, that Turing just muddles over.

One thing that's hard to beat is Turing's out of the box graphics capabilities (you're interested in game creation, after all), however it's not a lot worse in Ruby with Ruby/SDL or Python with PyGame. Again, you'll have that learning curve, but think of it as getting ahead rather than taking the quick-start route and potentially falling behind. You'll also get some experience into things that might help you practically in the future (ie. SDL).

Author:  alex.john95 [ Wed Jul 23, 2008 10:55 am ]
Post subject:  RE:???Video Game Design???

I agree with the above post.

Author:  DemonWasp [ Wed Jul 23, 2008 12:32 pm ]
Post subject:  Re: ???Video Game Design???

Your argument can also be used to justify jumping directly into C++ or Java, both of which are silly plans.

"Nobody said Turing's isn't fairly sophisticated, but there's some other big reasons that Turing isn't the best choice for a beginner. For example, object oriented programming in Turing is ridiculously poor compared to Java or C++, and OOP is definitely not something you want to get behind on if you're aspiring to create games. Turing makes it easy to jump in because of it's all-in-one nature, but it also makes it easy to get way ahead of yourself. With something like C++, on the other hand, there might be a larger learning curve, but that just motivates you to learn more. You also get first hand experience of the difference between a compiler and editor, for example, that Turing just muddles over.

One thing that's hard to beat is Turing's out of the box graphics capabilities (you're interested in game creation, after all), however it's not a lot worse in C++ with <any GDI library> or Java with <Swing/AWT/SWT/ proper 3d engine>. Again, you'll have that learning curve, but think of it as getting ahead rather than taking the quick-start route and potentially falling behind. You'll also get some experience into things that might help you practically in the future (ie. SWT)."

That said, I completely agree with a lot of your points. OOP is kinda wonky in Turing (though it's at least functional, it does have some problems, and there's really no concept of public/package/protected/private - you get either public or protected, depending on what you export; don't knock it too much though, as Turing is definitely where I learned about records (aka typedefs), and classes/OOP.

Turing does make it really easy to jump in, but lack of certain features leads to a lot of cheap hacks (like using processes when that's NOT what you want). Turing does lack the distinction between editor, interpreter and compiler (compiler just does "cat turing.exe sourceCode.t > compiled.exe", as far as I can tell).

A larger learning curve promoting learning is garbage, however. That one really depends on who you are - and if you're a beginning programmer, a larger learning curve is a lot more daunting, and may discourage you from continuing in the field (very bad), at least as often as it motivates you to continue learning.

Turing's graphics are pretty sweet, at least for 2d things. For 3d the language says "what? you know how to do complex mathematics, without passing work to the graphics card, right?". With the correct libraries in other languages, you can get quite similar graphics, and many of those implementations lead to 3d pretty easily.

Having said all of that, Turing is definitely a great beginner's language. The syntax and keywords are very close to English, and a student can have programs written without having to learn about file paths, environment variables, command-line use, or a whole host of other things. Those can come later, once the student has some motivation to slog their way through learning that stuff - that is, once they've got a program that they need to learn more to complete. Few people have the ability to force themselves to learn for the sake of learning (I have a pretty hard time doing that - I learn far better when I'm seeking knowledge to apply directly to a problem I'm trying to solve).

*phew* Apologies for the long post.

Author:  [Gandalf] [ Thu Jul 24, 2008 12:31 am ]
Post subject:  Re: ???Video Game Design???

When referring to object oriented Turing I used "obfuscated" rather than "poor" mostly because of things like forcing pointers and private variables not being very private at all.

DemonWasp @ 2008-07-23, 12:32 pm wrote:
Your argument can also be used to justify jumping directly into C++ or Java, both of which are silly plans.

I believe in moderation, so having a learning curve is good as long as it doesn't discourage you. That said, Python and Ruby make good introductory languages and I don't think they would prove too much for beginners. I think getting over the idea of a compiler and editor and so on earlier is better than going from Turing and getting confused later. "What program do I use for Java." "Why, Ready to Program, of course!"

DemonWasp @ 2008-07-23, 12:32 pm wrote:
"[Turing's graphics capabilities are good] however it's not a lot worse in C++ with <any GDI library> or Java with <Swing/AWT/SWT/ proper 3d engine>."

I disagree, it is worse in the examples you mentioned, especially when you take a look at the language behind them. Smile

DemonWasp @ 2008-07-23, 12:32 pm wrote:
A larger learning curve promoting learning is garbage, however. That one really depends on who you are - and if you're a beginning programmer, a larger learning curve is a lot more daunting, and may discourage you from continuing in the field (very bad), at least as often as it motivates you to continue learning.

DemonWasp @ 2008-07-23, 12:32 pm wrote:
Having said all of that, Turing is definitely a great beginner's language. The syntax and keywords are very close to English, and a student can have programs written without having to learn about file paths, environment variables, command-line use, or a whole host of other things. Those can come later, once the student has some motivation to slog their way through learning that stuff - that is, once they've got a program that they need to learn more to complete. Few people have the ability to force themselves to learn for the sake of learning (I have a pretty hard time doing that - I learn far better when I'm seeking knowledge to apply directly to a problem I'm trying to solve).

Take all of this from someone who used Turing for something like 5 years. It is decent, but as a procedural language not as a object oriented lanuage. And why stick with it when you can do better with existing 'beginner' programming languages? I understand what you're saying about learning and motivation, maybe Turing is better in that aspect, but that can be remedied by good learning resources (that Ruby has plenty of) and by some initiative, which it seems the OP has as he's hoping to go into video game creation.

DemonWasp @ 2008-07-23, 12:32 pm wrote:
*phew* Apologies for the long post.

No problem. Smile But now I'm getting lost in this wall of text in my reply field, so I hope I've gotten my idea across. Moderation good. High reaching goals when it comes to learning good. Python, Ruby good.

*edit* Wow, our posts are 12 hours and 1 minute apart. Razz

Author:  DemonWasp [ Thu Jul 24, 2008 8:17 am ]
Post subject:  RE:???Video Game Design???

[quote=Gandalf]Take all of this from someone who used Turing for something like 5 years[/quote]

Sweet gods why?!

Turing is a fantastic language for the first year, maybe the second year. After that, if you haven't moved on, you're doing it wrong.

I'd also disagree that learning resources are a complete answer. If they were, Java would be an excellent language to learn in, because Sun's published a zillion tutorials and examples, all available on their webpage. You wouldn't want Java as your first language, so clearly learning resources alone cannot make a language an ideal learning environment.

However, both of our points are moot, as the OP seems to have gone and started programming already. I do encourage him, however, to return and ask more questions when he starts moving to other languages - and there will be many.

Edit: Nitpicking here, but the actual number is 11:59, not 12:01 Razz

Author:  [Gandalf] [ Thu Jul 24, 2008 9:44 am ]
Post subject:  Re: RE:???Video Game Design???

DemonWasp wrote:
Gandalf wrote:
Take all of this from someone who used Turing for something like 5 years

Sweet gods why?!

Variety of reasons, but this is part of the reason why I recommend going for the larger learning curve from the start. The first year or so was spent dabbling in DOS Turing, which was nice compared to the BASIC I had done beforehand. Then I got Windows OOT which had other nifty things compared to the DOS version. Then I made some games, graphics stuff, an IRC bot and other random stuff. At that point Turing came the most naturally for me so I actually used it for some daily scripts, even a contest or two. And of course I had to stay sharp to help out in Turing Help! It's not like I spent 5 years constantly and solely doing Turing, but that's how long it took me to give it up for the most part. Smile

I think a timeline of when I was introduced to languages is in order:
BASIC -> HTML -> Turing -> LUA -> C -> Java -> CSS -> C++ -> D -> Python -> Ruby -> etc etc
Or something unlike that.

DemonWasp @ 2008-07-24, 8:17 am wrote:
I'd also disagree that learning resources are a complete answer. If they were, Java would be an excellent language to learn in, because Sun's published a zillion tutorials and examples, all available on their webpage. You wouldn't want Java as your first language, so clearly learning resources alone cannot make a language an ideal learning environment.

I didn't mean they were the complete answer, but resources added to some personal motivation are a pretty good start. And I would argue that in some respects Java is a better first language than Turing.

DemonWasp @ 2008-07-24, 8:17 am wrote:
However, both of our points are moot, as the OP seems to have gone and started programming already. I do encourage him, however, to return and ask more questions when he starts moving to other languages - and there will be many.

Edit: Nitpicking here, but the actual number is 11:59, not 12:01 Razz

But... but my points are never moot. Crying or Very sad

And you got me on the 2 minute difference.

Author:  DemonWasp [ Thu Jul 24, 2008 1:47 pm ]
Post subject:  RE:???Video Game Design???

Gandalf wrote:
I think a timeline of when I was introduced to languages is in order:
BASIC -> HTML -> Turing -> LUA -> C -> Java -> CSS -> C++ -> D -> Python -> Ruby -> etc etc
Or something unlike that.


Impressive. I did:
Turing -> VB 6.0 -> Java -> C[pp] -> MIPS -> (X)HTML/CSS/Javascript

Gandalf wrote:
And I would argue that in some respects Java is a better first language than Turing.

Well, it certainly is a lot more precise and strict (and language design decisions frequently make sense, instead of just being insanity. However, a lot of things in Java can be very frightening to new users
- programs require a fair bit of boilerplate to even say "Hello World"
- how do you explain OOP to someone who hasn't even finished writing Hello World yet?
- "static" can be a difficult concept
- pointers (yes, Java hides them, but there is a huge difference between pass-by-ref and pass-by-value that you have to know to work in Java)

But yes, I concur. As a language, Turing is pretty lame for anything but introductory courses.

Author:  [Gandalf] [ Thu Jul 24, 2008 2:23 pm ]
Post subject:  Re: RE:???Video Game Design???

DemonWasp @ 2008-07-24, 1:47 pm wrote:
Impressive.

Not at all, that was a list of languages I have basically looked into and written a few tiny programs in. I remember nothing about D, know next to nothing about LUA, am still quite the beginner in Ruby and more so in Python, and C++ is... C++. Besides, such a list is bound to get long when you spend time listening to wtd's insane old rants wise teachings!

DemonWasp @ 2008-07-24, 1:47 pm wrote:
Java hides them, but there is a huge difference between pass-by-ref and pass-by-value that you have to know to work in Java

Java always passes by value, even when passing references.

Anyhow, I think we've successfully hijacked this thread now!

Author:  DemonWasp [ Thu Jul 24, 2008 2:32 pm ]
Post subject:  Re: RE:???Video Game Design???

[quote="[Gandalf] @ Thu Jul 24, 2008 2:23 pm"]Java always passes by value, even when passing references.[/quote]

Say what? Java passes the value of the pointer, yes, but it doesn't make copies of the object when you pass it (passing objects by value requires making a copy). C++, in that sense, also passes by value when passing references, since it passes an int which is then interpreted as a Foo*. Unlike C++, however, Java doesn't give you the option to pass an object by value.

[quote="[Gandalf] @ Thu Jul 24, 2008 2:23 pm"]Anyhow, I think we've successfully hijacked this thread now![/quote]

Hijacking threads is where it's at. Plus, at least we answered the original question first!

Author:  [Gandalf] [ Thu Jul 24, 2008 2:48 pm ]
Post subject:  Re: RE:???Video Game Design???

DemonWasp @ 2008-07-24, 2:32 pm wrote:
it doesn't make copies of the object when you pass it.

That's because you're not passing the object in the first place, but the reference/pointer, and that's still passing by value. Here's a good article on it. I have a feeling that again we're agreeing but miscommunicating. Smile

Author:  Zeroth [ Thu Jul 24, 2008 3:11 pm ]
Post subject:  Re: ???Video Game Design???

Back on topic, why're we debating languages? Every language has its pros and cons. But there are two important factors here: ease of use, and getting a job with it.

Personally, Python fits both of those, though the latter requirement is a bit oblique. Any good employer will know that smart, self-motivated employees are better than those that learned language_x because it was what was taught in class. What this means is that if you are quite skilled in Python, it demonstrates a willingness to learn and suffer through a new language and its gotchas. As well, Python makes a great stand-in for shell scripting, gluing pieces of code together, etc. Quite a few game studios are beginning to turn to Python for glue or UI code, because its demonstrated its reliability, ease of use, and ease of learning repeatedly.

One game studio, once the GDD is decided, uses it to generate placeholder audio files, graphics files, and placeholder meshes until they are really made by the artists. This allows the coders to actually test their code with placeholder files, and not have to wait for art resources, or make their own. And their not the only ones. Knowing Python well will give you an advantage in hiring, with these studios.

Author:  DemonWasp [ Fri Jul 25, 2008 8:20 am ]
Post subject:  RE:???Video Game Design???

@ Gandalf: Ah, yes, I see. My definition of "pass-by-reference" was slightly off...I was thinking "doesn't copy the entire object, just the pointer", when it means slightly more than that. Either way, it's still "passing a reference", not the object, so I would have to say that "pass by reference" isn't the greatest name ever.

@ Zeroth: Whatever works, I suppose. I'm tempted to learn Python, but I'm already working on about infinity projects, besides working, so who knows if I'll ever get around to it. As for games, I'm surprised we aren't seeing more places link in Python for AI code. It has a whole lot of advantages there, and speed isn't likely to be a critical problem there. Plus, I suspect you could set it up so that the AIs could be modified by users (I'm considering trying this on one of my many projects).

Author:  Vermette [ Fri Jul 25, 2008 9:19 am ]
Post subject:  RE:???Video Game Design???

poor man's not-guaranteed-to-work-for-you-at-all passing objects by value in Java:

foo(bar.clone());

Ew, I know.

@Gandalf: Nice find on that article laying out the nuances of method parameters.


: