Archived

This topic is now archived and is closed to further replies.

louise

Justifying writing a Game!

Recommended Posts

I have to write a report Justifying why i chose to write a game for my Final Year project... as everybody else has done Database related projects, so it looks like i indulged myself. I disagree that writing a game is easy and i feel that alot can be learnt from creating a game. What you learn 1) You improve you ability to write code. 2) Learn to program using the directX Api 3) Learned Win32 programming 4) Learned the fundamentals of GDI Complexity I think writing a game is complex and difficult because there is no expert help available, while people doing database projects could go to the database lectures and assistants there is no person to provide expert help to students writing a game so it forces the student to use there own initiative and inventiveness to get things done and work around problems. If anybody can contribute ideas on what is learnt and the complexity of writing a game please shout. Thanks for reading my post Louise

Share this post


Link to post
Share on other sites
Personally, I feel that you shouldn''t have to justify writing a game. It''s not any easier and in fact harder for some games. Even a simple game takes some hard work.

The learning curve is also steeper but databases are just as hard because they ain''t fun. There are lots of people here who can help so I think your point is moot.

You won''t be using GDI much but you''ll have to use fundamental win32 stuff or more if you''re writing a map or character editor. But you will learn how to use the Win32 API, which is always useful. Learning the underlying principles of the Win32 API is pretty useful because other platforms use message driven systems and things like callback functions are widely used.

I think that 3D projects aren''t easy to complete in the short deadlines projects allow. It would be much harder to keep within schedule than say a database. This of course demands more from the game programmer.

Share this post


Link to post
Share on other sites
Well, I would disagree that there is no expert help, although it is probably a little harder to come by - you may have to hunt around a bit more to find it.

So, why is a game project worthwhile?

Game development covers a huge number of different topics. Graphics, sound, networking, maths, physics, input, AI, GUI design, game design etc. - and all of this has to work together in real time, often requiring a great deal of optimisation and use of clever algorithms. Games typically demand a lot more from the hardware than most other applications, and thus careful optimisation and understanding of the hardware is always important. Some of this may be true of database development, but certainly not all of it.

Finally, game development often leads people into researching completely different fields of expertise, unrelated to computer programming. The people who designed Age Of Empires would have needed to do a great deal of research on historical military forces, for example. Development of new AI algorithms often leads people into studying human psychology, city generation algorithms derive from study into how cities actually grow etc. As far as I know, no other single area of software development offers the potential for such diversity.

[edited by - Sandman on May 2, 2002 8:50:11 AM]

Share this post


Link to post
Share on other sites
There game is done....

About help... there is no expert help available in the way that everybody doing databases have the assistant Eric to solve all there problems and bugs while adding little bells and shiny bits to their projects.While i appreciate all the help from everybody here, would not have finished it without you all, it is not the same as having an expert sitting beside you holding your hand!

I like your abit about how Win32 API experience will help us in the future with other similar platforms.

Sandman that is very true, but my game unfortunatly is not to the level of Age of Empires. i could see the Face of the course leader when i start telling him about city generation and human psychology and then show him my game. i's an isometric turn based stategy/tactic game.

thanks Darkor

Louise

[edited by - Louise on May 2, 2002 9:01:07 AM]

Share this post


Link to post
Share on other sites
Was it a 3D or 2D game?

quote:
I like your abit about how Win32 API experience will help us in the future with other similar platforms.


The Palm OS uses a very similar architecture and I think that learning Win32 was a lot of help. Even though I still consider Palm programming to be a nightmare.

Sandman raised the point about diversity and everything. That's why game programming is so fun. You get to learn stuff. Which gets boring halfway through the project.

[edited by - Darkor on May 2, 2002 9:03:54 AM]

Share this post


Link to post
Share on other sites
Last year, I was finishing a 2-year university diploma (i''m currently in an engineering school ). I really hate database (even if it''s really useful) but enjoy video games. That''s the reason why I decided to write a small 3D software engine as my final project whereas many of my friends chose "common" subjects.

Pros and cons :

- I strongly encourage you to do it!
- Writing a game doesn''t sound serious to teachers (generally). But some of them like chess (not so funny but...) look more serious. OOP is also a great argument.
- I don''t think you should argue that it is a hard project because it will sound unrealizable taking account the needed/offered time.
- A video game is like a puzzle : so many pieces such as maths, physics, data structures and so forth that you have to gather. It''s a nice way to improve your skills.

That''s it for the moment...

Share this post


Link to post
Share on other sites
quote:
Original post by louise
Sandman that is very true, but my game unfortunatly is not to the level of Age of Empires. i could see the Face of the course leader when i start telling him about city generation and human psychology and then show him my game. i's an isometric turn based stategy/tactic game.



Well, you only claim what is appropriate to your game of course. And also, your course leader may not care too much about stuff which is not CS related, although I think it is valid as personal motivation. So designing a turn based strategy game, presumably that requires some knowledge of the weapons and strategies of the appropriate time period, etc. More importantly, you have obviously had to develop some game rules for the strategy game - how did you come up with those rules, and how do they effect the available - going into detail into this leads into a branch of mathematics called Game Theory, which has been applied to all sorts of practical applications. Even if you didn't consider these aspects during the design phase, it is worth considering them in the testing phase - are there any dominant strategies, are there any dominated strategies etc.

[edited by - Sandman on May 2, 2002 9:46:59 AM]

Share this post


Link to post
Share on other sites
Don''t forget games aren''t just games. The MS Flight sims are often used to train commercial pilots, and the scientific life program spawned an entire genre of games (simcity, civilisation etc) based on affecting physical parameters and dealing with the consequences (poor explanation but you can see what I''m talking about).

,Jay

Share this post


Link to post
Share on other sites
Digicube: Um, no.

One thing that sets games apart from most other project types is the real-time processing requirement. You only have a finite amount of time before you must update the display (unless you''re doing card games, and even then you can''t take a minute to respond) or the end product is unacceptable to users.

This turns out to be a very useful skill, applicable to real-time operating systems and critical systems like life support and emergency services software, or air traffic control systems. I mean, you don''t want the ATC to get an image that is minute late now, do you?

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
Oluseyi:

Okay, I should of elaborated a little more. What I was trying to say to louise is that games are also databases. In complex games you have to juggle vast amounts of data within the game world such as the tracking of objects and spitting statistics to the user, etc. So, in addition of the real time aspect, graphics programming, etc., louise can also say he is learning database concepts.

On a side note, I''m not too sure that programming a game really qualifies you as a competent real-time programming/designer. Sure, games are required to be fast, but the most important aspect is reliability of real-time systems. When was the last time you played a game that didn''t crash on you??

Share this post


Link to post
Share on other sites
quote:
Original post by Digicube
Oluseyi:

Okay, I should of elaborated a little more. What I was trying to say to louise is that games are also databases. In complex games you have to juggle vast amounts of data within the game world such as the tracking of objects and spitting statistics to the user, etc.

The problem is that this is only true of complex games. The average (single hobbyist developer) game doesn''t attain such levels of complexity, and would likely be seen as a spurious argument by his professor. Of course, huge sprawling games like Dungeon Siege or the Metal Gear Solid series (and most FPSes) use an impressive amount of database management techniques, but card games, chess, pong, tetris, etc and even most "action shooters" (Raptor-esque) don''t.

quote:

On a side note, I''m not too sure that programming a game really qualifies you as a competent real-time programming/designer.

Obviously, and I agree with you completely on that. However time-per-process (scheduling) management techniques are useful in many fields. Reliability is beyond the scope of entertainment software.

Oh, and the last time a game didn''t crash on me was in the good old [S]NES days...

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi

Reliability is beyond the scope of entertainment software.




WHAT!? Is that a proper attitude? I expect more from someone I respect like I do you.


---------


DUDE! What''s mine say?!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I think he meant reliability on your run-of-the-mill commercial systems. Like medical instruments, credit card transactions, airline systems, etc. There''s a reason why all those seemingly ''simple'' systems cost millions upon millions of dollars: it''s all hidden in meeting reliability specs.

Games on the other hand have a different focus, and as such, that money is spent elsewhere... mainly in content or lens flares.

TLC

Share this post


Link to post
Share on other sites
quote:
Original post by lucinpub
WHAT!? Is that a proper attitude? I expect more from someone I respect like I do you.

Pardon me. I meant "industrial strength, disaster-proof reliability..." (hyperbole, but you get the picture).

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites