Skip to main content

Games Industry Future - Involves Tasmania?

Submitted by ShinDig on

I know this might sound VERY stupid to a lot of you devs on the mainland but I am very keen on getting into the Australian games industry and my only real concern is this:

-Will there be any sort of Video Game Industry in Tasmania within the next decade?

I'm only sixteen but I have absolutely no idea what else I want to do apart from make games.
I am very good at science and quite good at maths, I also have artistic ability and I am planning to go to uni. I live in Hobart and would like to stay here because I like the lifestyle. I know there are people who live here with an interest in the industry but the hard part is getting a company together that is actually capable of developing a game. I am mostly interested in developing PC games.

If you have heard anything about Tassie or have any suggestions for me, could you please reply.

Submitted by Anonymous (not verified) on Fri, 05/09/08 - 6:09 PM Permalink

ShinDig here again (can't be stuffed logging in). Basically where I stand:
-I want to do Maths Applied 5C next year
-Do Computer Science at Uni with electives in physics, maths and AI.
-Get a few years experience in software develpment

I am fairly good at Maths, not the best around but I am passing top course Maths Methods at high school. I am very very passionate about games and am interested in becoming either a games designer or programmer, all depends on how I go with maths next year. I am not extremely fond of maths, I just want to get enough to be able to do computer science, maybe a bit extra maths just to make me better skilled. I am thinking that after I complete uni I might get into a software development company here in tassie (there is heaps of available jobs). That will give me a few years experience of programming and then I can move interstate or get a studio together down here. I know that there are ppl in tassie interested in games development but they all move interstate. I will be doing physics next year too, although maybe not in uni. Thanks very much for all your help.

Submitted by Lantree on Fri, 05/09/08 - 6:23 PM Permalink

Sounds reasonable. I had a suspicion based on what your mate was saying, he was really keen for you to do this uber amount of maths and you were like "meh".

You can get away without being a maths genius btw despite what others say in the thread as a programmer. You need to know how to program really well though.

Design is hard to get into the door with straight away, but not impossible. If you want to go down the design route, start opening up like the unreal engine, playign around with making mods and stuff. Or any other game where you can make your own levels. Generally most designers I know came in through the ground door in QA then worked their way up.

From the programmers point of view, programmers specialise into a area that they are good at. Some go into networking, others into tools, others general programmers, others with decent math skills move into the graphics engine side of things (generally). Just make games for fun for a while with some mates. Its fun for a start, aka most games programmers remember the time at high school/uni doing their own fun mini game with fond memories, and its a good portfolio. :)

Just have fun with all thats the greatest piece of advice I can give. AKA whats the point of being in games if you don't have fun. I been working as a programmer now in games for about 4-5 years, and I still have fun every day with the design challenges it puts up at me.

Submitted by Anonymous (not verified) on Sat, 06/09/08 - 1:59 AM Permalink

(Assuming you want to go down the programming route :P)
Just wanted to share my opinion, as much for ShinDig as for anyone else who might be looking to get into the industry. I think there's a bit of a common misconception that all games industry programmers need to be geniuses in maths, physics and AI, and that the majority of our days are spent tackling problems of this nature. This is not the case; those areas are important (math more than the other two), but there are more commonly needed skills that should not be omitted.

For programmers working on game features, you really need to understand gameplay and fun. Good designs can fail during implementation because of subtle things like millisecond timings, the perceived responsiveness of the controller, and all the micro-decisions you need to make when creating an agent's behavior. Being fast at implementing features, and writing flexible code that can change with your ever-changing requirements, are also very valuable to a project. Also, 'academic, computer science AI' is not as useful to game AI as you might think - but most Game AI texts cover that in the first few paragraphs :P

For programmers working on tools, you need to understand 'the bigger picture' of asset pipelines, and how all the content creators do their jobs. Skill emphasis here is understanding the user's mental models, and the natural way they want to interact with technology to achieve their goals. Being well-versed in a number of languages and productivity-boosting APIs can really help here.

For programmers working on engines, maths and physics are important. So are memory management, shaders and rendering tricks, fast data loading / saving, audio handling, networking, and dealing with the intricacies of each hardware platform to name a few.

Myself, I've been a game programmer on console games for 2.5 years now and been lucky enough to experience all three roles above, as well as lead a medium-sized team for a short period. I'm also mediocre at math and physics, and I don't feel like either is more important than all the other stuff I've got to study to be good at my job. I hope the strong emphasis people always seem to give to math, physics and AI doesn't put off some talented hopefuls. It takes all kinds of specialisations to make a game :D

Submitted by Ulagatin on Sat, 06/09/08 - 8:09 PM Permalink

I agree to a point, but there are certainly benefits I see to studying mathematics at university.

It would support ShinDig in any area of study within computer science, if he wishes to go on to postgraduate study. It also demonstrates he has key understanding in various topics (take geometry or 3D graphics rendering and algorithms for example). It shows potential employers that he has good problem-solving skills and logical/lateral thought processes which often help in teams, regardless of the work he does. Knowledge in the mathematics that key pieces of hardware use (for example GPU's) is crucial in my opinion to becoming a better programmer (at least in the field of graphics). An understanding of the algorithms behind anti-aliasing and anisotropic filtering techniques for example, would assist in optimising software and tools for use in games, as well as in commercial use, where simulations are very important. Simulations also have important use in academia for modelling systems. Some technical overlap between these fields do exist, and so the knowledge in mathematics is important. This becomes even more apparent with simulations, when he may need to understand/work with various mathematical or physical models which may be implemented into the software he develops.

There is some interesting AI research going on in fields such as neural networks and machine learning. Ultimately, while these are very academically focussed currently, as hardware increasingly becomes more powerful, these methods will become important in games to create a greater challenge and more realistic experience for the player. This is certainly valuable, as it increases the dynamics in a game.

An understanding of this range of elements means that he would have a broad range of knowledge in the fields of 3D Graphics, Algorithms (coincidentally this is taught in the computer science degree at UTAS), Mathematics, AI, Programming and Problem Solving, amongst a few other components taught in the Computer Science degree.

The optimisation of techniques utilised in game engines (such as shaders and pipeline efficiency on GPU's) become more and more important, as the software becomes more demanding on hardware. It also allows the games studio/company to be more ambitious with the 3D graphics elements.

Audio techniques are also important in games, and is often overlooked. Engineering type mathematics is generally required to understand the techniques behind this. An understanding of sound encoding, and some concepts in electronics and digital signal processing is valuable here.

In terms of rendering, mathematical computation is of key importance. Light and shadows are calculated, as are many other variables. The mathematics is useful if you seek an understanding in this field.

Networking is built on mathematical concepts, and so a solid background in mathematics would be quite handy.

Chaos Theory (an area of applied mathematics/physics) has often been used in 3D Graphics, and so this can be important. This is briefly covered in the Physics Simulation course at UTAS, which contributes towards a major in Games Technology.

The route of mathematics which I outlined for peer review would have certain benefits as I see it. I believe that the concepts ShinDig would cover would allow him to work with abstractions and would significantly develop the mental faculties of problem-solving, mathematical induction and rational thinking. Particularly the study in geometry/topology would have advantages in terms of dealing with abstract concepts, and would allow him to better understand techniques in 3D Graphics, if techniques from these fields of mathematics are chosen to be employed.

People in programming positions who know their topics inside-out and understand them well move to the higher positions, and in the gaming industry, this is certainly true. Mathematics assists with the ability to understand, and is often the language of certain concepts or techniques (at the hardware level).

There is often better financial reward for people who have good skills and experience in mathematics, another bonus. It also likely means he could move ahead to where he wants to go more quickly, as his study in mathematics would allow him to grasp less-intuitive concepts better in other fields. It is true that, while ShinDig does not seek to become a mathematician, that they often end up in fields dealing with computer programming on a daily basis, and there are certainly similarities between these fields.

He simply needs to maintain a balance between the mathematics, programming and computer science theory, as each are important in their own ways. Specialisation becomes more important with further study, however as an undergraduate, generalisation between these 3 fields (computer science theory including computer graphics/animation and an introduction to artificial intelligence) is becoming more and more important, especially in the 21st Century where careers are more and more diverse than they ever were before.

Not to mention, people with formal mathematics training are in high-demand currently, and so the Australian Government has reduced the University fees for Mathematics units by almost half. This could amount to a fair chunk. Any saving is a saving nevertheless while at this stage.

Ultimately, it is up to ShinDig to decide, once the time is right, how he wants to pursue his study.

Obviously, this post has been very focussed on the mathematics aspect, but it is a balance that is required. It is simply that mathematics is very useful in these fields, as it is mathematics that is utilised in the various techniques utilised. A mathematical understanding of the algorithms you develop provides a better understanding and often would lead to better success (of course this is dependant on the quality of the coding too).

Another bonus of studying mathematics, is that people with formal training in this field have high job satisfaction, which is definitely of importance. Besides, ShinDig might get a kick out of university mathematics, as I have heard of people who hate mathematics, prior to university, and by the end of their degree they love it! :-)

ShinDig will be studying Java (alongside myself) in 1.5 years time, and then at University he will embark on study in C++ (I believe this is from the second-year onwards). It will be his ability to combine his mathematical understanding with the programming concepts that will likely determine how he achieves in further study, or in a senior position in the industry.

It is up to him if he wants to pursue physics, but as far as I know, if he has a solid mathematical grounding, it shouldn't be too difficult for him to learn the concepts he requires or takes an interest in.

I also hope that this hasn't put off people from the games industry. Higher-level mathematics is not a requirement, but is damn useful (and develops you mentally) and so it really ought to be encouraged. Maintaining a balance between the subjects is of critical importance.

Being able to both program well and understand mathematical concepts gives you a huge advantage, and it is a pity there are few people in the games industry with postgraduate mathematics training, as Stephen pointed out. Mathematics often pushes the frontiers of research in computer science, and much of this could potentially have application in games.

In total, the path I proposed meant that 16.67% of Shindig's degree would be mathematics units - not a considerable amount, but even this amount has huge benefits.

And to Steve Wade, I have messaged you in reply to your PM. To the earlier poster who mentions that this thread is exponentially growing, it certainly is! It's ballooning more and more. :-)

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Lantree on Sat, 06/09/08 - 9:04 PM Permalink

I am a engine programmer myself, I do everything but graphics essentially, and even dabble in a little of that. Engine programmers tend to be the guy who make all the platforms work, everyone relies on the engine in some way in a games company, but you gotta balance that off with the fact you don't get paid without your games :) So you can't get too big of ego or anything. So its usually a fine balancing act between making your games get out the door and getting decent tech into the engine. Tricky endeavours.

I get the feeling we are kinda agreeing with each other, but just slightly off page with each other.

I get the feeling that you are trying to push your desire to be a great mathetician
(great goals btw). But I don't want people getting discouraged of joining the games industry because they don't have post graduate mathematics studies. I know some people who did, who have Dr before their name (mainly thinking of my ex-lead) who thought a lot of the post graduate studies somtimes went off on streams that didn't relate to anything practical.

In terms of AI it'll be good to get some real world results in there. Neural networks and genetic algorithms were popular about 5 years ago. Problem was you had to spend so much of your time trying to get good source data for your game, it was easier/quicker to just get a finite state machine going. I seen some interesting stuff from the recent GDC 2008 over in america, they have some tools to make animation work nicely with AI. The artist/designer programs in a whole heap of data using a easy to use tool and the animation works appropriately. Good for realistic looking ragdoll etc. http://aigamedev.com/reviews/crysis-animation-integration

Most people who come from uni, also have mentioned how they teach you a whole heap of stuff, but they don't neccessarily teach you how to program well. I was talking about that with a few of my collegues who just came out of uni recently.

Mathematics is needed, you won't get in the doors without it BUT:

I don't neccessarily agree with your opinion that someone with high maths skills get better financial reward. Someone who knows hardware systems inside out but only know average math skills will most likely get a position on a engine team. The engine team is generally the team with the most amount of skills and rounding. They build the base systems for everyone else to use.

I agree with you with balance is required, thats what I been trying to promote all the way through.

Submitted by Ulagatin on Sat, 06/09/08 - 9:49 PM Permalink

Yeah, understanding how the hardware works (the low level stuff) is essential in this field. The mathematics just allows this to be reinforced. My goal personally is to become a physicist, not a mathematician - slightly different fields, but I'd much rather be the former! :-)

I'm not saying ShinDig should do post-graduate studies in mathematics, simply saying that it would be worthwhile for him to do it in his Bachelor's degree (and it would only be a small part thereof). I was just trying to emphasise why he should do mathematics (provided he is happy doing higher level stuff, which I think he is, just not a really significant amount of it). As far as I know, Shindig's ambition has been graphics for some time, so I expect this is where he'll go with it. These comments I made were to give a good set of skills and allow him to progress to higher positions.

Yes, I think we are looking at it slightly differently. You are emphasising programming and I the mathematics. Of course, there will be a compromise between the two. Both are very valuable.

As far as postgraduate mathematics is concerned, I agree, not a lot of it is useful (excepting some in the applied mathematics field).

Mustn't forget that the rest of Shindig's degree would be computer science/games electives, and so the maths isn't too intrusive into this.

If he can learn the programming concepts (and apply them!), the computer science theory (mostly the hardware systems) and the mathematics, he'll have a rounded skill set that would be very useful for moving into such a field. As you state, University does not always teach you how to program well, it's more likely that a good ability in programming would come from real-world experience?

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Ulagatin on Sat, 06/09/08 - 10:00 PM Permalink

OK, I'll remember that! :-)

I have dabbled with a little bit of programming myself (not much though). Currently, I'm in the mood to learn a language, but I'm not doing pre-tertiary computer science for another one and a half years... :-(

Maybe I should go back to the drawing board and perhaps teach myself some C# or similar. My dad could assist me with that too.

Also, as a side, may I ask why you suggest never to program in Java after learning it?

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Lantree on Sat, 06/09/08 - 10:11 PM Permalink

Depends on your problem domain I guess.

Pros:
* Portability - Good at using across different platforms (Windows, Linux), so you can compile Java on one platform then transport it over to another platform and it should run.
* Enterprise - things like banks it might be good, you can reliably track where data is going, and if it fails to reach the destination it fails
* Learning - Java is a good learning platform, teaches you proper OO design.

Cons:
* Slow, Java is traditionally slow to execute. The code is converted into bytecode by the compiler, then interpreted from bytecode in the JVM. This means your program is slow to execute. Also has a overhead of a garbage collector.
* Memory, Traditionally can use a lot more memory than your average application.
* Library Design. Its a example of a very academically correct library structure. Its not neccessarily esy to use library though.
* No access to the machine - You can't manipulate things as easily as you can with C or C++ on the machine level. No access to pointers and other niceties.
* Theory - Lot of stuff that is great in theory, but didn't turn out great in the real world. No operator overloading, checked exception where you have to deal with them, stuff along those lines

If you want to get close to how a machine works, learn C/C++, you can produce some nice optimised code or dreadful code. You have low level access to things which can be great if you know how to use it or shoot your foot if you don't.

C# strength is UI design. WPF is brilliant a new GUI library from microsoft. DirectX rendered and doesn't make me do basic stuff other GUI libraries needed. Its a bytecode/garbage collected language as well, but its JITed, which mean its compiled into machine code the first time the user runs a version of a C# application. That means you get all the speed from a native application.

I traditionally in the past have made the Tools/GUI in C# and all the highly critical speed/time related stuff in C++. You can make the two talk together pretty easily.

Hope this help.

Submitted by Lantree on Sat, 06/09/08 - 10:16 PM Permalink

I do use maths btw on a daily basis so it does come into it definately.

Maths and programming do have a relationship, just the general problem solving element, both have that domain, well in games programming at least (gah business software)

Submitted by Ulagatin on Sat, 06/09/08 - 10:20 PM Permalink

Thanks. I am certainly looking forward to learning the material.

I am most excited about the 'electives' you have a chance to do in the pre-tertiary Computer Science course, one of which is building a Lego robot and programming it. You then participate in a competition. Building Lego would take me back a while, but back in those days, it certainly was fun to be openly honest! :-)

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Ulagatin on Sat, 06/09/08 - 10:34 PM Permalink

Definitely. I suppose, when you're using mathematics on a daily basis, it becomes enjoyable when it has direct relevance to your work? Lots of problem solving goes in in games programming from what I know, that's for sure. :-)

Developing business software should be seen as a trivial task! I declare it so. Muahaha!

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Ulagatin on Sun, 07/09/08 - 11:02 AM Permalink

Don't worry. Education systems confuse me too. Here in Tasmania, it works like this (in public education at least):

Grade 7 - 10: High School
Grade 11-12: College (Study at TAFE is an option, can contribute credit towards an Adv. Diploma if intended)
Undergraduate: University
Postgraduate: University

In college, I will be studying mostly pre-tertiary subjects, including Maths Specialised (if I achieve the results in the previous course to do this), Physics and Computer Science to name a few.

In Melbourne, I'm aware most schools go from 7-12. Here, we leave at the completion of Grade 10, and post-year 10 study is optional, surprisingly enough. Of course, in reality, for any profession other than a trade, university study is almost a must.

Of course, overseas, this becomes a greater issue. In America they refer to our University as College, and at the postgraduate level, they call it Graduate School. This merely confuses everyone I think.

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Anonymous (not verified) on Sun, 07/09/08 - 3:00 PM Permalink

So essentially the same as other states.

Aka in Victoria you have VCE (Victoria Certificate of Education) and HSC (High School Certificate) in NSW and QLD.

Those two years are optional and you get to choose your subjects other than some base core one.

Only difference seems to be you guys to a different school essentially instead of staying at your current school to do your pre-tertiary studies.

Submitted by Ulagatin on Sun, 07/09/08 - 3:46 PM Permalink

Yes, this is right. In fact, we have a new College system in Tasmania.

The system is now based (from 2009) on two entities: the Tasmanian Academy and the Tasmanian Polytechnic.
The dynamics of these two organisations will likely just play out and fit together once they are implemented.

As far as certificates of education go, it is required to have an English component, a Mathematics component and an IT component, however not necessarily full subjects in these areas. We used to use the HSC system but now we have a Tasmanian Certificate of Education.

Hope that explains it a little better.

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Anonymous (not verified) on Sun, 06/02/11 - 2:27 PM Permalink

Setting up a game company in Tas would be a smart move as far as i can see. And it would be a big help for people who dont want to move overseas but still want a piece if the gaming industry. I for one have a vivid imagination, and am intrested in the story telling side of games, and i know that there are alot of people who are in the same boat. Though there are not many people who have the confidence or the funds to kick start an opperation like this, once a company is set up, there will be alot of people flocking to be a part of it.

Posted by ShinDig on

I know this might sound VERY stupid to a lot of you devs on the mainland but I am very keen on getting into the Australian games industry and my only real concern is this:

-Will there be any sort of Video Game Industry in Tasmania within the next decade?

I'm only sixteen but I have absolutely no idea what else I want to do apart from make games.
I am very good at science and quite good at maths, I also have artistic ability and I am planning to go to uni. I live in Hobart and would like to stay here because I like the lifestyle. I know there are people who live here with an interest in the industry but the hard part is getting a company together that is actually capable of developing a game. I am mostly interested in developing PC games.

If you have heard anything about Tassie or have any suggestions for me, could you please reply.


Submitted by Anonymous (not verified) on Fri, 05/09/08 - 6:09 PM Permalink

ShinDig here again (can't be stuffed logging in). Basically where I stand:
-I want to do Maths Applied 5C next year
-Do Computer Science at Uni with electives in physics, maths and AI.
-Get a few years experience in software develpment

I am fairly good at Maths, not the best around but I am passing top course Maths Methods at high school. I am very very passionate about games and am interested in becoming either a games designer or programmer, all depends on how I go with maths next year. I am not extremely fond of maths, I just want to get enough to be able to do computer science, maybe a bit extra maths just to make me better skilled. I am thinking that after I complete uni I might get into a software development company here in tassie (there is heaps of available jobs). That will give me a few years experience of programming and then I can move interstate or get a studio together down here. I know that there are ppl in tassie interested in games development but they all move interstate. I will be doing physics next year too, although maybe not in uni. Thanks very much for all your help.

Submitted by Lantree on Fri, 05/09/08 - 6:23 PM Permalink

Sounds reasonable. I had a suspicion based on what your mate was saying, he was really keen for you to do this uber amount of maths and you were like "meh".

You can get away without being a maths genius btw despite what others say in the thread as a programmer. You need to know how to program really well though.

Design is hard to get into the door with straight away, but not impossible. If you want to go down the design route, start opening up like the unreal engine, playign around with making mods and stuff. Or any other game where you can make your own levels. Generally most designers I know came in through the ground door in QA then worked their way up.

From the programmers point of view, programmers specialise into a area that they are good at. Some go into networking, others into tools, others general programmers, others with decent math skills move into the graphics engine side of things (generally). Just make games for fun for a while with some mates. Its fun for a start, aka most games programmers remember the time at high school/uni doing their own fun mini game with fond memories, and its a good portfolio. :)

Just have fun with all thats the greatest piece of advice I can give. AKA whats the point of being in games if you don't have fun. I been working as a programmer now in games for about 4-5 years, and I still have fun every day with the design challenges it puts up at me.

Submitted by Anonymous (not verified) on Sat, 06/09/08 - 1:59 AM Permalink

(Assuming you want to go down the programming route :P)
Just wanted to share my opinion, as much for ShinDig as for anyone else who might be looking to get into the industry. I think there's a bit of a common misconception that all games industry programmers need to be geniuses in maths, physics and AI, and that the majority of our days are spent tackling problems of this nature. This is not the case; those areas are important (math more than the other two), but there are more commonly needed skills that should not be omitted.

For programmers working on game features, you really need to understand gameplay and fun. Good designs can fail during implementation because of subtle things like millisecond timings, the perceived responsiveness of the controller, and all the micro-decisions you need to make when creating an agent's behavior. Being fast at implementing features, and writing flexible code that can change with your ever-changing requirements, are also very valuable to a project. Also, 'academic, computer science AI' is not as useful to game AI as you might think - but most Game AI texts cover that in the first few paragraphs :P

For programmers working on tools, you need to understand 'the bigger picture' of asset pipelines, and how all the content creators do their jobs. Skill emphasis here is understanding the user's mental models, and the natural way they want to interact with technology to achieve their goals. Being well-versed in a number of languages and productivity-boosting APIs can really help here.

For programmers working on engines, maths and physics are important. So are memory management, shaders and rendering tricks, fast data loading / saving, audio handling, networking, and dealing with the intricacies of each hardware platform to name a few.

Myself, I've been a game programmer on console games for 2.5 years now and been lucky enough to experience all three roles above, as well as lead a medium-sized team for a short period. I'm also mediocre at math and physics, and I don't feel like either is more important than all the other stuff I've got to study to be good at my job. I hope the strong emphasis people always seem to give to math, physics and AI doesn't put off some talented hopefuls. It takes all kinds of specialisations to make a game :D

Submitted by Ulagatin on Sat, 06/09/08 - 8:09 PM Permalink

I agree to a point, but there are certainly benefits I see to studying mathematics at university.

It would support ShinDig in any area of study within computer science, if he wishes to go on to postgraduate study. It also demonstrates he has key understanding in various topics (take geometry or 3D graphics rendering and algorithms for example). It shows potential employers that he has good problem-solving skills and logical/lateral thought processes which often help in teams, regardless of the work he does. Knowledge in the mathematics that key pieces of hardware use (for example GPU's) is crucial in my opinion to becoming a better programmer (at least in the field of graphics). An understanding of the algorithms behind anti-aliasing and anisotropic filtering techniques for example, would assist in optimising software and tools for use in games, as well as in commercial use, where simulations are very important. Simulations also have important use in academia for modelling systems. Some technical overlap between these fields do exist, and so the knowledge in mathematics is important. This becomes even more apparent with simulations, when he may need to understand/work with various mathematical or physical models which may be implemented into the software he develops.

There is some interesting AI research going on in fields such as neural networks and machine learning. Ultimately, while these are very academically focussed currently, as hardware increasingly becomes more powerful, these methods will become important in games to create a greater challenge and more realistic experience for the player. This is certainly valuable, as it increases the dynamics in a game.

An understanding of this range of elements means that he would have a broad range of knowledge in the fields of 3D Graphics, Algorithms (coincidentally this is taught in the computer science degree at UTAS), Mathematics, AI, Programming and Problem Solving, amongst a few other components taught in the Computer Science degree.

The optimisation of techniques utilised in game engines (such as shaders and pipeline efficiency on GPU's) become more and more important, as the software becomes more demanding on hardware. It also allows the games studio/company to be more ambitious with the 3D graphics elements.

Audio techniques are also important in games, and is often overlooked. Engineering type mathematics is generally required to understand the techniques behind this. An understanding of sound encoding, and some concepts in electronics and digital signal processing is valuable here.

In terms of rendering, mathematical computation is of key importance. Light and shadows are calculated, as are many other variables. The mathematics is useful if you seek an understanding in this field.

Networking is built on mathematical concepts, and so a solid background in mathematics would be quite handy.

Chaos Theory (an area of applied mathematics/physics) has often been used in 3D Graphics, and so this can be important. This is briefly covered in the Physics Simulation course at UTAS, which contributes towards a major in Games Technology.

The route of mathematics which I outlined for peer review would have certain benefits as I see it. I believe that the concepts ShinDig would cover would allow him to work with abstractions and would significantly develop the mental faculties of problem-solving, mathematical induction and rational thinking. Particularly the study in geometry/topology would have advantages in terms of dealing with abstract concepts, and would allow him to better understand techniques in 3D Graphics, if techniques from these fields of mathematics are chosen to be employed.

People in programming positions who know their topics inside-out and understand them well move to the higher positions, and in the gaming industry, this is certainly true. Mathematics assists with the ability to understand, and is often the language of certain concepts or techniques (at the hardware level).

There is often better financial reward for people who have good skills and experience in mathematics, another bonus. It also likely means he could move ahead to where he wants to go more quickly, as his study in mathematics would allow him to grasp less-intuitive concepts better in other fields. It is true that, while ShinDig does not seek to become a mathematician, that they often end up in fields dealing with computer programming on a daily basis, and there are certainly similarities between these fields.

He simply needs to maintain a balance between the mathematics, programming and computer science theory, as each are important in their own ways. Specialisation becomes more important with further study, however as an undergraduate, generalisation between these 3 fields (computer science theory including computer graphics/animation and an introduction to artificial intelligence) is becoming more and more important, especially in the 21st Century where careers are more and more diverse than they ever were before.

Not to mention, people with formal mathematics training are in high-demand currently, and so the Australian Government has reduced the University fees for Mathematics units by almost half. This could amount to a fair chunk. Any saving is a saving nevertheless while at this stage.

Ultimately, it is up to ShinDig to decide, once the time is right, how he wants to pursue his study.

Obviously, this post has been very focussed on the mathematics aspect, but it is a balance that is required. It is simply that mathematics is very useful in these fields, as it is mathematics that is utilised in the various techniques utilised. A mathematical understanding of the algorithms you develop provides a better understanding and often would lead to better success (of course this is dependant on the quality of the coding too).

Another bonus of studying mathematics, is that people with formal training in this field have high job satisfaction, which is definitely of importance. Besides, ShinDig might get a kick out of university mathematics, as I have heard of people who hate mathematics, prior to university, and by the end of their degree they love it! :-)

ShinDig will be studying Java (alongside myself) in 1.5 years time, and then at University he will embark on study in C++ (I believe this is from the second-year onwards). It will be his ability to combine his mathematical understanding with the programming concepts that will likely determine how he achieves in further study, or in a senior position in the industry.

It is up to him if he wants to pursue physics, but as far as I know, if he has a solid mathematical grounding, it shouldn't be too difficult for him to learn the concepts he requires or takes an interest in.

I also hope that this hasn't put off people from the games industry. Higher-level mathematics is not a requirement, but is damn useful (and develops you mentally) and so it really ought to be encouraged. Maintaining a balance between the subjects is of critical importance.

Being able to both program well and understand mathematical concepts gives you a huge advantage, and it is a pity there are few people in the games industry with postgraduate mathematics training, as Stephen pointed out. Mathematics often pushes the frontiers of research in computer science, and much of this could potentially have application in games.

In total, the path I proposed meant that 16.67% of Shindig's degree would be mathematics units - not a considerable amount, but even this amount has huge benefits.

And to Steve Wade, I have messaged you in reply to your PM. To the earlier poster who mentions that this thread is exponentially growing, it certainly is! It's ballooning more and more. :-)

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Lantree on Sat, 06/09/08 - 9:04 PM Permalink

I am a engine programmer myself, I do everything but graphics essentially, and even dabble in a little of that. Engine programmers tend to be the guy who make all the platforms work, everyone relies on the engine in some way in a games company, but you gotta balance that off with the fact you don't get paid without your games :) So you can't get too big of ego or anything. So its usually a fine balancing act between making your games get out the door and getting decent tech into the engine. Tricky endeavours.

I get the feeling we are kinda agreeing with each other, but just slightly off page with each other.

I get the feeling that you are trying to push your desire to be a great mathetician
(great goals btw). But I don't want people getting discouraged of joining the games industry because they don't have post graduate mathematics studies. I know some people who did, who have Dr before their name (mainly thinking of my ex-lead) who thought a lot of the post graduate studies somtimes went off on streams that didn't relate to anything practical.

In terms of AI it'll be good to get some real world results in there. Neural networks and genetic algorithms were popular about 5 years ago. Problem was you had to spend so much of your time trying to get good source data for your game, it was easier/quicker to just get a finite state machine going. I seen some interesting stuff from the recent GDC 2008 over in america, they have some tools to make animation work nicely with AI. The artist/designer programs in a whole heap of data using a easy to use tool and the animation works appropriately. Good for realistic looking ragdoll etc. http://aigamedev.com/reviews/crysis-animation-integration

Most people who come from uni, also have mentioned how they teach you a whole heap of stuff, but they don't neccessarily teach you how to program well. I was talking about that with a few of my collegues who just came out of uni recently.

Mathematics is needed, you won't get in the doors without it BUT:

I don't neccessarily agree with your opinion that someone with high maths skills get better financial reward. Someone who knows hardware systems inside out but only know average math skills will most likely get a position on a engine team. The engine team is generally the team with the most amount of skills and rounding. They build the base systems for everyone else to use.

I agree with you with balance is required, thats what I been trying to promote all the way through.

Submitted by Ulagatin on Sat, 06/09/08 - 9:49 PM Permalink

Yeah, understanding how the hardware works (the low level stuff) is essential in this field. The mathematics just allows this to be reinforced. My goal personally is to become a physicist, not a mathematician - slightly different fields, but I'd much rather be the former! :-)

I'm not saying ShinDig should do post-graduate studies in mathematics, simply saying that it would be worthwhile for him to do it in his Bachelor's degree (and it would only be a small part thereof). I was just trying to emphasise why he should do mathematics (provided he is happy doing higher level stuff, which I think he is, just not a really significant amount of it). As far as I know, Shindig's ambition has been graphics for some time, so I expect this is where he'll go with it. These comments I made were to give a good set of skills and allow him to progress to higher positions.

Yes, I think we are looking at it slightly differently. You are emphasising programming and I the mathematics. Of course, there will be a compromise between the two. Both are very valuable.

As far as postgraduate mathematics is concerned, I agree, not a lot of it is useful (excepting some in the applied mathematics field).

Mustn't forget that the rest of Shindig's degree would be computer science/games electives, and so the maths isn't too intrusive into this.

If he can learn the programming concepts (and apply them!), the computer science theory (mostly the hardware systems) and the mathematics, he'll have a rounded skill set that would be very useful for moving into such a field. As you state, University does not always teach you how to program well, it's more likely that a good ability in programming would come from real-world experience?

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Ulagatin on Sat, 06/09/08 - 10:00 PM Permalink

OK, I'll remember that! :-)

I have dabbled with a little bit of programming myself (not much though). Currently, I'm in the mood to learn a language, but I'm not doing pre-tertiary computer science for another one and a half years... :-(

Maybe I should go back to the drawing board and perhaps teach myself some C# or similar. My dad could assist me with that too.

Also, as a side, may I ask why you suggest never to program in Java after learning it?

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Lantree on Sat, 06/09/08 - 10:11 PM Permalink

Depends on your problem domain I guess.

Pros:
* Portability - Good at using across different platforms (Windows, Linux), so you can compile Java on one platform then transport it over to another platform and it should run.
* Enterprise - things like banks it might be good, you can reliably track where data is going, and if it fails to reach the destination it fails
* Learning - Java is a good learning platform, teaches you proper OO design.

Cons:
* Slow, Java is traditionally slow to execute. The code is converted into bytecode by the compiler, then interpreted from bytecode in the JVM. This means your program is slow to execute. Also has a overhead of a garbage collector.
* Memory, Traditionally can use a lot more memory than your average application.
* Library Design. Its a example of a very academically correct library structure. Its not neccessarily esy to use library though.
* No access to the machine - You can't manipulate things as easily as you can with C or C++ on the machine level. No access to pointers and other niceties.
* Theory - Lot of stuff that is great in theory, but didn't turn out great in the real world. No operator overloading, checked exception where you have to deal with them, stuff along those lines

If you want to get close to how a machine works, learn C/C++, you can produce some nice optimised code or dreadful code. You have low level access to things which can be great if you know how to use it or shoot your foot if you don't.

C# strength is UI design. WPF is brilliant a new GUI library from microsoft. DirectX rendered and doesn't make me do basic stuff other GUI libraries needed. Its a bytecode/garbage collected language as well, but its JITed, which mean its compiled into machine code the first time the user runs a version of a C# application. That means you get all the speed from a native application.

I traditionally in the past have made the Tools/GUI in C# and all the highly critical speed/time related stuff in C++. You can make the two talk together pretty easily.

Hope this help.

Submitted by Lantree on Sat, 06/09/08 - 10:16 PM Permalink

I do use maths btw on a daily basis so it does come into it definately.

Maths and programming do have a relationship, just the general problem solving element, both have that domain, well in games programming at least (gah business software)

Submitted by Ulagatin on Sat, 06/09/08 - 10:20 PM Permalink

Thanks. I am certainly looking forward to learning the material.

I am most excited about the 'electives' you have a chance to do in the pre-tertiary Computer Science course, one of which is building a Lego robot and programming it. You then participate in a competition. Building Lego would take me back a while, but back in those days, it certainly was fun to be openly honest! :-)

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Ulagatin on Sat, 06/09/08 - 10:34 PM Permalink

Definitely. I suppose, when you're using mathematics on a daily basis, it becomes enjoyable when it has direct relevance to your work? Lots of problem solving goes in in games programming from what I know, that's for sure. :-)

Developing business software should be seen as a trivial task! I declare it so. Muahaha!

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Ulagatin on Sun, 07/09/08 - 11:02 AM Permalink

Don't worry. Education systems confuse me too. Here in Tasmania, it works like this (in public education at least):

Grade 7 - 10: High School
Grade 11-12: College (Study at TAFE is an option, can contribute credit towards an Adv. Diploma if intended)
Undergraduate: University
Postgraduate: University

In college, I will be studying mostly pre-tertiary subjects, including Maths Specialised (if I achieve the results in the previous course to do this), Physics and Computer Science to name a few.

In Melbourne, I'm aware most schools go from 7-12. Here, we leave at the completion of Grade 10, and post-year 10 study is optional, surprisingly enough. Of course, in reality, for any profession other than a trade, university study is almost a must.

Of course, overseas, this becomes a greater issue. In America they refer to our University as College, and at the postgraduate level, they call it Graduate School. This merely confuses everyone I think.

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Anonymous (not verified) on Sun, 07/09/08 - 3:00 PM Permalink

So essentially the same as other states.

Aka in Victoria you have VCE (Victoria Certificate of Education) and HSC (High School Certificate) in NSW and QLD.

Those two years are optional and you get to choose your subjects other than some base core one.

Only difference seems to be you guys to a different school essentially instead of staying at your current school to do your pre-tertiary studies.

Submitted by Ulagatin on Sun, 07/09/08 - 3:46 PM Permalink

Yes, this is right. In fact, we have a new College system in Tasmania.

The system is now based (from 2009) on two entities: the Tasmanian Academy and the Tasmanian Polytechnic.
The dynamics of these two organisations will likely just play out and fit together once they are implemented.

As far as certificates of education go, it is required to have an English component, a Mathematics component and an IT component, however not necessarily full subjects in these areas. We used to use the HSC system but now we have a Tasmanian Certificate of Education.

Hope that explains it a little better.

Ulagatin
Budding Physicist and Passionate about Computer Science!

Submitted by Anonymous (not verified) on Sun, 06/02/11 - 2:27 PM Permalink

Setting up a game company in Tas would be a smart move as far as i can see. And it would be a big help for people who dont want to move overseas but still want a piece if the gaming industry. I for one have a vivid imagination, and am intrested in the story telling side of games, and i know that there are alot of people who are in the same boat. Though there are not many people who have the confidence or the funds to kick start an opperation like this, once a company is set up, there will be alot of people flocking to be a part of it.