Jump to content
Sign in to follow this  
  • entries
    42
  • comments
    61
  • views
    33266

Here goes...

Sign in to follow this  
jjd

373 views

In the beginning...

About two months ago I decided that I had really had enough of my old job and I wanted to do something that I could be enthusiastic about. I have been at university for about 14 years. I picked up a few degrees and jobs along the way. I was finally a researcher in applied mathematics.

But I realized that I was not content. I harboured thoughts of working in industry -- a mortal sin in the academy.

I decided to make games.

I've played them all my life and they are pretty much the only thing that have continually pushed my buttons. I have done a lot of programming, although very little computer science. I mainly worked on high-performance number crunching, which is useful but one-sided when it comes to learning about programming. So my first real programming language was fortran 77, the language of kings!

Subsequently I learned C and C++ and recently I have begun to suppliment that with java.

So I wanted to get into the industry but my problem is how? I have some interesting degrees (bachelor of engineering, master of science (zoology), doctor of philosophy (mathematics)) and I have worked on some interesting projects (detection and localization of prey by nocturnal fish using ANNs; modelling the dynamics of a marginal ice zone around antarctica), but I've got nothing to actually show those I'd like to work with.

That's partly why I have started this journal.

I need to get a demo together and this is the beginning. Following the advice of people in the forums, I'm going to play on my strengths (maths and physics) and hope to demonstrate that my skills will be useful for making games.

So here's the outline of my plan.

Firstly, I wanted to develop a simple 2D pursuit game or game fragment. The idea here is to start with something that is fairly simple but something that I can build on with later projects. Also, the important thing I want to demonstrate with this project is the AI. In short, the player has to evade the computer players (probably cars or robots). The computer player actions will initially be determined using a FSM that I will extend later with a neural network. Finally, I would very much like to beef up the computer players with a Bayesian network with the potential to learn at runtime.

Possible twists in the game could be a punctuate chase and fire kind of pursuit where the computer players cannot simply charge the player and the player cannot just dash for the goal.

The second project will be a little extension of the first. The game this time is in space and it is a dogfight. The twist here is that there will be graviational effects that make straight flying difficult. Furthermore, the players are resource limited (but can recharge with time). The aim of this project again focuses on the AI side of things, by having a schedule of goals for the computer player that are controlled by either an FSM or a neural network. However, navigation in this environment and the constant threat of being shot at makes for some interesting decision making.

The third project is a yacht racing game in the spirit of the america's cup (but without the courts and lawyers, which some would argue is not in the spirit of the america's cup but, hey). There are some interesting physics in this project. There will be two primary forces affect the boat speed: wind and swell. Here I hope to incorporate some previous work that I did on sea-ice dynamics to describe the effect of wave action on the boats. Also, the wind field will be shifting and the boats are affected by the winds according to a generic "polar". The aim of the game is to beat with opponent around a set of buoys by making better use of the wind and choosing the appropriate boat to race in (slower and heavier for larger swell, lighter and faster for small swell). The dynamics are pretty nonlinear so getting a decent AI for the computer player will be challenging I think.

I'm planning to do all of this in java. One of the reasons for using java is that I'm jumping around between OS a lot lately and it is nice not to worry about that affecting the code. Also, since my experience is mainly in procedural languages, I wanted to demonstrate an understanding of OOP.

So that's my plan in broad strokes. More details to follow.






Sign in to follow this  


4 Comments


Recommended Comments

Those are some unusual project ideas, which is probably good as it'll cause you to stand out from all the other applicants with their Breakout clones. [smile]

Just be sure that you balance it appropriately - it's AI-heavy, which is fine if you want to go into game AI, but if you want to be working in other areas you want to ensure that employers don't look at it and go "This guy's an AI expert, we should hire him to do all our AI systems."

Also, a background in simulation is cool but be aware that accuracy of simulation will frequently be sacrificed in favour of increased fun [grin]

Share this comment


Link to comment
Thanks for the advice! You're absolute;y correct that simulation stuff is all very well, but it is a level of rigor that is both unrealistic and unnecessary in most games. Having accurate physics is good, but not if it comes at the expense of game play.

I wasn't sure if focusing so much on the AI was a good idea. I mean, I would like to work on that side of things, perhaps not exclusively though. I figured it would be good to focus on the AI because it is an area that I know reasonably well. If I can get a foot in the door that way, I hoped I could learn more about other areas of game development on the job. Not sure if that is realistic though.

Share this comment


Link to comment
You probably would get a chance to learn other stuff on the job - few firms hire AI programmers that only ever work on AI - but there's still a risk that it'll become your 'central discipline.' Same sort of thing's happened to me with graphics - I do get to mess with other things, but the graphics tasks tend to end up on my schedule. It makes you more valuable to prospective employers, but you need to be sure that it's something you won't mind doing a lot of in the future.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!