CompSci.ca/blog » Video Game Development http://compsci.ca/blog Programming, Education, Computer Science Fri, 30 Jun 2017 02:31:52 +0000 http://wordpress.org/?v=2.8.4 en hourly 1 Addictive Tower Defense with Martin Kess http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/ http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/#comments Sat, 07 Nov 2009 05:35:42 +0000 Tony http://compsci.ca/blog/?p=825 Martin Kess, one of the founding members of CompSci.ca, has been busy working on a fantastic looking game for the BlackBerry platform: Addictive Tower Defense. This isn't the first of the quality games to come from the CompSci.ca community members, but it certainly raises the bar once again.

I caught up with Martin to talk about the game. Related posts:
  1. Sample requirements to break into the game industry
  2. Treating video games as software
]]>

Martin Kess, one of the founding members of CompSci.ca, has been busy working on a fantastic looking game for the BlackBerry platform: Addictive Tower Defense. This isn’t the first of the quality games to come from the CompSci.ca community members, but it certainly raises the bar once again.

I’ve been playing the beta version of the game for a while, and I am blown away by the level of detail put into this game, just by a couple of indie developers. So I caught up with Martin to talk about the game.

What inspired you to make a commercial game, while still being a student?

Well, my main goal in life is to have a wikipedia page that doesn’t get deleted within 30 minutes of its creation.

I was working at Sybase, and Mike, my boss at the time, decided that in his spare time he wanted to do a project on the BlackBerry, and so we started throwing game ideas back and forth. The real inspiration thought were stories of John Carmack and John Romero (co-founders of id Software and yes, those are links to their Wikipedia pages) putting everything aside to make awesome video games.

And why commercial? Well, I thought that there was an off chance that I could retire a little bit of this quickly growing mountain of student debt.

One of 6 towers

Currently attending the same school with Martin, I had to ask how that played in with making games.

How do you feel that your 5 years of doing CS at Waterloo impacted the development of the game?

Well, co-op especially has turned me into a very productive programmer, so I think that I am pretty good at cranking out a lot of code. To be clear though — I mostly worked on gameplay and tools, Mike did the engine.

CS241 (Foundations of Sequential Programs, also known as “baby compilers”) was pretty relevant — I wrote a little scripting language to define the levels.

CS341 (Algorithms) and CS466 (Advanced algorithms) taught lots about algorithms , which was probably the most useful.

Math, being a touchy subject when it comes to video game development, also came into question:

What about the Math courses, did any of them come in useful in either development of the game or balancing out the gameplay?

The math was actually pretty straightforward — it wasn’t much beyond Calculus 1. Though MATH 239 (Combinatorial Analysis and Graph Theory) also came in handy. We used just the Dijkstra’s algorithm to find the shortest path for the enemies to take, but we also made a nifty flood-fill algorithm to update the shortest paths quickly when a tower got built. It was too expensive to rebuild the shortest paths every time a tower was placed.

Table of <a href='http://www.addictivetowerdefense.com/game/towers/'>upgrades</a>

Table of upgrades

Anything else?

English classes were very important! I did most of the writing on the site and in the game.

So to wrap this up… What’s next?

Next? *laughs* Next I have to rock this CS488 (Introduction to Computer Graphics) project.

We’re going to keep releasing maps for the game, and likely we’ll start working on Game #2, although we aren’t sure what that will be, and will probably take a break until Christmas at least to get caught up on sleep and other such things.

Tower Defense gameplay

Tower Defense gameplay

So there it is. A story about indie game development, a Computer Science student in debt, and one of the most polished mobile games I had a chance to play. Check out the game’s website for more details — AddictiveTowerDefense.com.

Related posts:

  1. Sample requirements to break into the game industry
  2. Treating video games as software

]]>
http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/feed/ 26
Treating video games as software http://compsci.ca/blog/treating-video-games-as-software/ http://compsci.ca/blog/treating-video-games-as-software/#comments Sun, 05 Apr 2009 07:43:05 +0000 Tony http://compsci.ca/blog/?p=768 driving force for kids to pursue Computer Science, and yet shipped games are often not perceived as software. Maybe the quality, integration, and user experience really is better than across other industries;

though unless the development process goes through the incredibly expensive steps of validating a safety-critical system, there will likely be some bugs left. Related posts:
  1. Profitability in video game industry
  2. Getting Started with the XNA Creators Club
]]>
Gears of War website does have a support page, but it's about as useful as a "go away" sign.

Gears of War website does have a support page, but it's about as useful as a "go away" sign.

I find this conflicting: Video games are often the driving force for kids to pursue Computer Science, and yet shipped games are often not perceived as software. Maybe the quality, integration, and user experience really is better than across other industries; though unless the development process goes through the incredibly expensive steps of validating a safety-critical system, there will likely be some bugs left.

Which was exactly the case with Gears of War 2, that crashed during the gameplay, after recent updates.

Since I actually work in the software industry, I’ve decided to file a bug report, but it appears that Epic Games doesn’t want to hear about it.

xbox.com support options

xbox.com support options

The official Xbox support page, where Gears of War’s “support” page points seems to deal with Xbox Live and Hardware problems only, not with actual games.

The community forums back on the game’s website are full of noise and are mostly filled with complaints. I haven’t seen any moderator replies, even on legitimate issues posted. Epic’s official website just links to their product websites. And there are no other way of contacting them.

I would say Epic FAIL and chuckle at how well this meme works for this company, but a scary thought occurs instead: it’s only a failure if the company cared to hear back from the users of their products in the first place. Unlike with software-as-a-service subscription models, or software that could have 2.0, or licensing models, or other software that makes money from keeping and getting more users; mass market video games make the bulk of their sales shortly after the release date. Having already cashed in on the release, support and bug-fixes are an expense that are not justified by having more direct profits.

Unless you are Blizzard Entertainment, with an image to maintain. They still seem to be doing things right.

Blizzard's support options

Blizzard's support options

So this leaves me with this blog. Here’s the bug report:

In the game lobby, map selection ended in a draw. In the event of a tie, the system picks a random map, but it picked one from an expansion pack that I did not have (this really should have been caught in QA testing). As a result, the game crashed out of the match, with a user-facing prompt that only said: ?int?Engine.Errors.ConnectionLost?.


I know what (int) means; in this case it’s obvious that the software doesn’t handle errors properly. Maybe I can ping someone from Epic Game’s PR on Twitter? If not about technical issues, then simply about not being able to contact them in any other way…

Or am I just being unrealistic? Should I think of video games as movie-type entertainment, but with more interaction? I suppose a lot of games are trending towards the “pop the DVD in for few hours of entertainment” use; but that’s precisely what allows for the slip in every quality that does not directly contribute to marketing driven sales (though we do get HD graphics out of this).

Or maybe it’s the new breed of gamer population… *sigh*

Related posts:

  1. Profitability in video game industry
  2. Getting Started with the XNA Creators Club

]]>
http://compsci.ca/blog/treating-video-games-as-software/feed/ 11
0 to GameDev in the wrong lane http://compsci.ca/blog/0-to-gamedev-in-the-wrong-lane/ http://compsci.ca/blog/0-to-gamedev-in-the-wrong-lane/#comments Mon, 29 Sep 2008 13:51:45 +0000 Tony http://compsci.ca/blog/?p=684

what programs do i need to becoming a game programmer. i was on youtube on other day. people said use visual studio.

YouTube is not known as the place for intelligent comments, let alone technical discussion on teaching oneself enough of Computer Science and Programming (and Math, and Physics, and...) basics to start building video games.

Don't needlessly over-complicate problems that are already complicated. Related posts:
  1. Adam Bielinski rocks indie game development socks
  2. Video Game Programming Contest with XNA: Dream Build Play Competition
  3. Profitability in video game industry
]]>
<a href="http://xkcd.com/481/" title="xkcd comics">XKCD: Listen to yourself.</a>

XKCD: Listen to yourself.

This post is inspired by another gem found on compsci.ca forums. Although that, perhaps, might have been a good troll posting, judging by the user’s other activity on the forums, I’m inclined to think that he’s just new.

what programs do i need to becoming a game programmer. i was on youtube on other day. people said use visual studio.

YouTube is not known as the place for intelligent comments, let alone technical discussion on teaching oneself enough of Computer Science and Programming (and Math, and Physics, and…) basics to start building video games.

The YouTube type of a response though is often about a particular programming language, or some pro level tool, that someone in the industry is using. That’s great if one is looking to build a commercial game, along with a studio full of developers. Otherwise this is akin to going for your first drivers license exam with a Formula-1 car.

Wheel Steering for Formula 1 by <a href='http://www.flickr.com/photos/gen2kk/14449107/' title='Flickr'>GR Digital Kid</a>

Wheel Steering for Formula 1 by GR Digital Kid

Have you seen the steering wheels for professional race cars?

They are ridiculously complicated.

Programming languages and tools work in a similar manner — it’s a trade-off between power and ease-of-use. Some languages manage to offer both to a reasonably decent degree. Others sacrifice developer’s sanity for potential for a little faster performance. Though unless one is putting together a pro level video game, the potential for manual memory management optimizations and hardware specific accelerations don’t even come into play. If one is just starting out with video game development, and foolishly picks up C/C++ — they pick up all of the complexities and costs of those technologies, but none of the benefits (benefits over other programming languages).

Besides, even the absurdly well optimized compiler will not save the poor performance of beginner code littered with quadratic (or worse!) functions.

Don’t needlessly over-complicate problems that are already complicated.

Related posts:

  1. Adam Bielinski rocks indie game development socks
  2. Video Game Programming Contest with XNA: Dream Build Play Competition
  3. Profitability in video game industry

]]>
http://compsci.ca/blog/0-to-gamedev-in-the-wrong-lane/feed/ 3
Video game degrees need to require Math http://compsci.ca/blog/video-game-degrees-need-to-require-math/ http://compsci.ca/blog/video-game-degrees-need-to-require-math/#comments Mon, 23 Jun 2008 06:14:21 +0000 Tony http://compsci.ca/blog/video-game-degrees-need-to-require-math/
  • Video game designer education – it’s in electives
  • Profitability in video game industry
  • 3 Reasons to not get a Video Gaming Degree
  • ]]>
    BBC News UK has recently published an article — Skills shortage hits games firms, on which I wanted to reflect. The premise is simple — the video game industry is struggling to find the type of talent they desire.

    xbox 360 wireless controller buttons
    Original image by louder

    The games developers say that they are struggling to find in the UK the kind of high-powered mathematicians and computer scientists that they need to build increasingly sophisticated products.

    The statement comes along the fact that there are 81 video game degree courses available in the UK. This increasingly popular field is not without setbacks though.

    At Northumbria University, which offers a degree course in Computer Games Engineering, staff say that prospective students are often put off by the requirement for Maths A-Level.

    Clayton has already written an introduction to the importance of Math in video game development, though it seems that many might be trying to capitalize on the trend by opening up programs that are more available (read “dropping the badly needed requirements”). The result is that only 4 of the 81 courses are accredited by the Skillset, the industry and government joined effort to monitor the quality of creative media in the United Kingdom.

    Interestingly, the article also states that:

    The games industry claims that Canadian government support has allowed it to flourish, and thousands of jobs are moving from Britain to Canada.

    That is good for us, here in Canada, but as I see a growing trend of “video game degrees” starting to pop up locally, I can’t help but to think that we might be heading towards the same fate. That’s not to say that some of the programs are not good, but the overall educational system is still a potential minefield. Make sure you are learning what you need to learn.

    minesweeper

    That is to say, you need strong Math. More so for development than design or testing, so make sure to research the programs. Though until Canada gets its own group to set the baseline and accredit the video game education programs, one is likely just better offer pursuing a classical Computer Science degree with strategically chosen electives.

    Related posts:

    1. Video game designer education – it’s in electives
    2. Profitability in video game industry
    3. 3 Reasons to not get a Video Gaming Degree

    ]]>
    http://compsci.ca/blog/video-game-degrees-need-to-require-math/feed/ 20
    Recommended for strong math students only. http://compsci.ca/blog/recommended-for-strong-math-students-only/ http://compsci.ca/blog/recommended-for-strong-math-students-only/#comments Sat, 12 Jan 2008 06:23:20 +0000 Clayton http://compsci.ca/blog/recommended-for-strong-math-students-only/
  • Video game degrees need to require Math
  • MIT highlights for high school students
  • ]]>
    QuestionableContent: Math is Delicious

    It’s the catchphrase that many students hate seeing on the course description for their introductory Computer Science course: “Recommended for strong math students only.” That one single line is the source of many headaches for countless young students expressing an interest in computer science, but not necessary math. There are many questions about the relevance of mathematics to their programming courses.

    Today, I hope to show you just exactly what is so important about math to high school students in their computer science class. A common scenario is interest in video games, but with lack of strong math skills. For that reason, I am going to discuss game development in this post, but be on the lookout for a future, second part to this.

    Thinking at a high school level, a basic game really doesn’t involve all that much math. That’s all well and good, but when you think about higher difficulty games, there is usually a lot more math involved. In fact, let’s look at a simple side-scrolling Mario clone. In this list, we’re just listing mathematical components to a single mechanic of the game — jumping onto an enemy:

    sample side-scroller game level

    • Acceleration/deceleration for running
    • Jumping/Falling
    • Collision Detection
    • Scorekeeping

    That may not seem like much, however, after a while the task can seem quite daunting and becomes a very involved project. This list will mean you will have to keep track of your player’s velocity, and his acceleration (positive, negative, or zero) both horizontally and vertically. While you’re doing that, you’ll also have to keep track of your coordinate system to check on your player positions and if they’re colliding or not. To cap it all off, most sidescrollers usually incorporate some sort of scoring system with an exponential function representing growth for consecutive hits. While each thing is small within itself, combined, these can pile up quickly.

    Now let’s move into 3D. Adding a third dimension to your game ups the ante exponentially. You have to account for a focal point, which vertices should be showing, shading and lighting, texturing, etc. All of this is math. It goes back to your simple transformations to a function on a graph, except applied to a 3D model instead. Also, when you get into rotation, you have to know how to multiply matrices, otherwise, it’s quite impossible to get a nice smooth looking animation, that still looks proper.

    While I haven’t covered computer science per se, but I have hopefully shed some light on why math is important for the applications that many high school students choose to write — games. As a last note, if you only take one thing out of reading this article, think about things this way: if you really want to be involved with game development through coding, whether it be the actual game engine, or physics engine, etc. don’t look at the math aspect as a reason to give up, but rather, a challenge. Don’t be afraid to get something wrong and have to try until you get it right. It’s much better off to get something right on the 5th try by re-analyzing the problem, than getting it right the 1st try by sheer dumb luck.

    Related posts:

    1. Video game degrees need to require Math
    2. MIT highlights for high school students

    ]]>
    http://compsci.ca/blog/recommended-for-strong-math-students-only/feed/ 15
    Video game collaboration is cute http://compsci.ca/blog/video-game-collaboration-is-cute/ http://compsci.ca/blog/video-game-collaboration-is-cute/#comments Wed, 04 Apr 2007 05:55:14 +0000 Tony http://compsci.ca/blog/video-game-collaboration-is-cute/
  • Video game designer education – it’s in electives
  • ]]>
    cute planet image

    A while ago I wrote about some video game ideas one could use for a school assignment, or a personal project. For a bit more original idea, //engtech has pointed out Lost Garden’s prototyping challenge.

    Over and over again, I’ve heard the sad tale that there are talented programmers lacking sexy graphics. I, on the other hand, can’t program a lick. So here’s a thought: I’ll provide some quality graphics and a seed of a design idea. All you need to provide is a working prototype of the core game mechanic.

    It’s quite a good idea actually – I remember putting together space simulations, just for fun, that would model the behaviour of a solar system and any random asteroids thrown in. Of course the render engine never received anything more complicated than Draw.Oval, and was probably quite bored (that is, if the software had the capacity to be “bored”). Danc, on the other hand, is a game designer with some original ideas and stellar illustrations, but lacks in the ability to write code that would put it all together. What’s great about collaboration between different people are the new ideas, and expansion of their talent pool. Working with someone like yourself will only get as much done, just faster.

    SpaceCute Mockup image

    So that’s Danc’s offer, in a form of a challenge. He has put together an extensive concept description, including the core mechanics, description of physics, and gameplay structure. He also made available a set of really cute graphics (780k) to use for this game (or any other project you fancy). For bonus points, every game prototype will get featured on Lost Garden for discussion, and everybody’s learning experience.

    I know that year end school projects are coming up, so this is a reminder to pair up with someone who complements your skills. One is much better off finding a friend who knows how to use Photoshop and Illustrator, than taking screen shots of games and cutting out sprites. It’s more original, aesthetically pleasing, and simply drives the motivation to do a better job.

    Related posts:

    1. Video game designer education – it’s in electives

    ]]>
    http://compsci.ca/blog/video-game-collaboration-is-cute/feed/ 5
    Video game designer education – it’s in electives http://compsci.ca/blog/video-game-designer-education-its-in-electives/ http://compsci.ca/blog/video-game-designer-education-its-in-electives/#comments Fri, 09 Mar 2007 07:40:39 +0000 Tony http://compsci.ca/blog/video-game-designer-education-its-in-electives/
  • Video game degrees need to require Math
  • Physics: A step to the side
  • 6 Degrees of Computer Science
  • ]]>
    game design

    In an increasingly saturated video game programming market, how does a developer distinguish himself enough to stand out of the crowd? The Game Career Guide has recently published Michael McCoy’s feature on Academics for Game Designers, reflecting on 12 years in the computer industry as a game designer, and suggesting academic pursuits for a career jump start. Two word summary would be: “study everything”.

    I’ve performed in the role of producer, game designer, systems designer, interface designer, level designer, scripter, writer, and even sound designer. Level designers must be competent game play designers, level builders, both model and texture artists, event and cinematic scripters, and extremely skilled researchers covering architecture, geography, historical time period, lighting and textures.

    Of course the usual contradiction here is the split requirement between broad experience desirable in small teams, and narrow specialization sought after by large game development studios.

    Michael, who landed the job of Lead Game Designer based on his knowledge of history, team/project management, and technical writing skills, is naturally of the wide variety of skills camp. He suggests getting into a game company via any open door (testing, customer service, sweeping the floors, etc.), and picking up every skill in reach, while simultaneously showing off learned abilities.

    The article fails to distinguish between different available majors of study (personally I recommend a degree in Computer Science), but brings up an excellent point of the importance of elective courses. Some exceptionally useful courses are:

    • Design — Most universities offer design related classes which provide the fundamental philosophies and methods used by almost every designer
    • Technical Writing — The majority of documents created by designers are technical in nature, meaning their main purpose is communication. You’d be amazed how many people have problems getting their ideas across on paper
    • Creative Writing — While definitely the minority of designer writing tasks, you still need to be able to write box copy, manuals, intriguing storylines, and convincing world/scene backgrounds
    • Physics — Physics are becoming more and more popular every day and knowing a little about it puts you in a great place to take advantage of this emerging trend
    • Astronomy — Creating a space game? A good knowledge of our universe and the anomalies within definitely helps

    That last point is of a specialized application, but carries a very important idea – you have to be passionate and unique. I would also add programming or sketching, whichever one is not in your major. Well chosen elective courses could very well round you off into a better candidate.

    Spore the game

    One can have the best of both worlds by specializing in the area they are passionate about, and at the same time broaden the skill set with elective courses of interest. At the very least, it is a unique mix of knowledge to draw inspiration from (just think of Spore – that game draws from Biology, Astronomy, and many other fields). Any comments on more inspirational elective courses?

    Related posts:

    1. Video game degrees need to require Math
    2. Physics: A step to the side
    3. 6 Degrees of Computer Science

    ]]>
    http://compsci.ca/blog/video-game-designer-education-its-in-electives/feed/ 4
    XNA community site for game development http://compsci.ca/blog/xna-community-site-for-game-development/ http://compsci.ca/blog/xna-community-site-for-game-development/#comments Tue, 06 Mar 2007 01:07:32 +0000 Tony http://compsci.ca/blog/xna-community-site-for-game-development/
  • Adam Bielinski rocks indie game development socks
  • Getting Started with the XNA Creators Club
  • iFactor – free XNA game with source code
  • ]]>
    XNA Creators Club Online

    If you are a small game studio, hobbyist, or student looking to get started in game development or find resources to help a game concept already in development, look no further than the XNA Creators Club Online community.

    The new Creators Club Online website has recently gone live, and already offers resources to aspiring XNA game developers. XNA sample codes include: font support, a generated geometry sample, animation example, and various effects. Video tutorials cover the basics of displaying a 3D model on screen (loading model, textures, and source code necessary to make things work), and then using a Xbox 360 controller to move a 3D model in a game. It looks like more code examples and tutorials will be added over time.

    Marblets XNA starter kit gameThough perhaps the most valuable example is the new game starter kit – Marblets (something that is not Spacewar).

    This starter kit provides a complete XNA Game Studio Express game, including source code and game content such as models, textures, and sounds.

    Although the community’s name implies the requirement for a Creators Club account, you don’t actually need it to get access to most of the resources (I’ve heard talks about “premium content” being added later). Meaning that everything is still free for desktop XNA game development.

    Related posts:

    1. Adam Bielinski rocks indie game development socks
    2. Getting Started with the XNA Creators Club
    3. iFactor – free XNA game with source code

    ]]>
    http://compsci.ca/blog/xna-community-site-for-game-development/feed/ 0
    Profitability in video game industry http://compsci.ca/blog/profitability-in-video-game-industry/ http://compsci.ca/blog/profitability-in-video-game-industry/#comments Tue, 27 Feb 2007 04:38:31 +0000 Tony http://compsci.ca/blog/profitability-in-video-game-industry/
  • Getting Started with the XNA Creators Club
  • Video Game Programming Contest with XNA: Dream Build Play Competition
  • Sample requirements to break into the game industry
  • ]]>
    Lost Planet screenshot

    BBC’s recent technology article questions the profitability of the video game industry. The shift to the next generation consoles has placed the market into a low point during the transition, and “games developers are unlikely to make a profit on new titles until 2008″. Based on Screen Digest’s report.

    The abundant hardware power that came with Xbox 360 and PlayStation 3 are driving up game requirements and game development costs. In an excerpt from the report:

    Games publishers face development costs up to 50 per cent higher due to the step change in processing power and graphics capabilities of the new consoles – this applies in particular to Xbox 360 and PlayStation 3. PS3 games are expected to cost an average $20m to develop over a 25 month period, with Xbox 360 titles averaging $15m and 21 months— according to Screen Digest research.

    $20 million is certainly quite a stretch over the comparatively zero-cost indie game development. Diminishing profit margins are forcing video game publishers to reduce risks of such financially huge projects. The resulting trends are a rise in sequels to already popular games, and titles based on films – both attempting to leverage off the previous exposure and popularity.

    So it is an odd trend to see a rise in exclusive platform titles. Though the initial reaction of “why would a game publisher limit their audience” is explained by obvious financial backing of console manufacturers. Both Microsoft and Sony are in pursuit of quality exclusive titles to strengthen their own position in console wars. Video game developers welcome such financial assurance, and epic titles might even require such support to proceed with development.

    Sony, that also develops their own games, is scaling up its internal development resources. Sony is now employing over 2000 developers across 14 game studios. This makes for a 140 staff game studio, burning through $20 million to publish a game title for a single platform, once every 2 years. Sounds huge, but if you do the math, an average employee in such studio still earns less than a programmer in other high tech industries.

    Related posts:

    1. Getting Started with the XNA Creators Club
    2. Video Game Programming Contest with XNA: Dream Build Play Competition
    3. Sample requirements to break into the game industry

    ]]>
    http://compsci.ca/blog/profitability-in-video-game-industry/feed/ 8
    12 Computer science game project ideas http://compsci.ca/blog/12-computer-science-game-project-ideas/ http://compsci.ca/blog/12-computer-science-game-project-ideas/#comments Wed, 14 Feb 2007 06:33:27 +0000 Tony http://compsci.ca/blog/12-computer-science-game-project-ideas/
  • Video game collaboration is cute
  • Computer Science education is…
  • Video game designer education – it’s in electives
  • ]]>
    Most high school computer programming classes end in an ISP, ISU, or a science fair type of a design project. A good computer science project topic could be a challenge to come up with, though it usually ends up involving some video game ideas. So if you want to impress your friends, get a killer grade, or simply want to pass that programming course you were too late to drop – read on for suggestions.

    Beginner video game project ideas

    Vanilla flavoured, basic game ideas – classic, easy to make, perfect to get that project over with:

    • Making tic tac toe in Visual Basic is easy
    • Tic Tac Toe – easiest way out, especially with Java or Visual Basic. Drag and drop a few buttons into a form, have players take turns clicking on them, and add a few if statements to check for wins. Start to finish in 30 minutes of work, just grab your laptop to that washroom break upon the realization that the due date is today.
    • pong
    • Pong – another easy project idea. Being one of the first video games made, today’s technology clearly requires minimal programming on your part. Bounce the ball around, and possibly add a couple more if statements than in the previous title. Watch out for the keyboard input, that could be new.
    • Generic quiz game project
    • Who wants to be a millionaire? – or any other flavour of a quiz game. It could be simple, fully text based, and it’s arguably the only educational game on the block. The trick is to write a function to read all the questions from a datafile, instead of copying the same blocks of source code all over the place. Remember, it’s a game with 15 questions, not 15 “one question” games stuck together.

    Intermediate computer programming projects

    Chocolate flavour – common ideas that are still popular. You should probably consider one of the following titles:

    • pacman
    • Pacman – an icon of a video game, this programming project is going to be “choose your own adventure” style. The wall collision might be tricky at first, but there are plenty of approaches to try: reading colour information off screen, math, tile maps… You could totally get away with just letting the ghosts run around in random directions, smacking against the walls (because you got that collision detection working, right?), but if you are interested and have enough time – each ghost could have a unique AI, just like in the original game.
    • tetris
    • Tetris – you are the master of arrays, and know how to figure out if there’s enough space under a block to continue falling. That’s about it really. Your code ninja skills can further be sharpened with graphic effects, combo points schemes, and having your computer scream TETRIS! when that long stick comes at just the right time.
    • bomberman
    • Bomberman clone – another fun idea. Your friends from the Beginner Projects will gladly start testing bugs out as soon as you get that multiplayer working. Idea is very similar to that in Pacman, but it’s 42% more fun when you have power ups! Super Power Glove!. Just don’t scream “bomb” in class, it could be taken the wrong way…

    Advanced computer science project topics

    This is the Vanilla Bean Chocolate Chips Frappucino Blended Creme type of a game design project, with a cherry on top.

    • mario
    • Mario clone – meaning a platformer. Kind of like Bomberman, but you broke out of a confined box. More space = more possibilities. You get to attempt to catch that scrolling screen’s edge. You get to jump. You get to jump on your enemies’ heads! Well actually you could still keep all those bombs and powerups to mix the gameplay up a bit and make it unique.
    • overhead shooter
    • Overhead shooter – technically another platformer programming project, but turned on its side and with more firepower. It could be shoot-em-up, down, or sideways style. Mario has gotten a jet fighter, in futile hopes of taking a shortcut to another castle. Now it’s kind of like Tetris, but falling boxes have been replaced with moving tanks… or shiny polygons. Think Supersize! Think ridiculously overpowered upgrades with stunning graphical effects. Now that’s a project.
    • RPG
    • RPG – if you hate your life (and some apparently do), this obviously final year attempt at video game programming glory is likely to end badly. The game engine itself is often fairly spread out (world travel, town travel, shops, fights, etc) and requires an ungodly amount of effort. That leaves you with practically no time to design any plot or story for this project. Though some students chose to concentrate on a limited part of the game, putting together a demo segment to salvage such game design project into something more presentable.

    Best computer project examples

    Your rolled a 20 and looted the science fair prize money. Your game’s exceptional design is executed with computer engineering level of precision. Your uber attention to detail highlights how little time you have outside this computer project extensive knowledge of video game development.

    • Adam Bielinski's Forces
    • Adam Bielinski’s Forces is fun and unique. Part physics, part shooter, part powerups offers simple by addictive play. Was a featured game on the Great Games Experiment. Developed with Turing programming language.
    • Mazer's Evasive Maneuvers
    • Mazer’s Evasive Maneuvers is a very polished, multiplayer type of a space shooter. Upgrades, powerups, special weapons and abilities. In an attempt to score bonus project points, a special spaceship was designed to be unlocked just by the teacher, but I think the school had some rule about project marks being capped at 100%. Developed with Turing programming language.
    • Turing MMO
    • Celestial Conquest is a MMORPG game in development by Robert Taylor and James McLean. Clearly an overkill for any high school computer class, it is also exceedingly fun to play with classmates. And yes, just like any other RPG student project, it doesn’t have a story line. Also developed with Turing programming language.

    Final thoughts

    Pick an appropriate difficulty level to keep things interesting. Remember, it definitely helps to plan ahead. Get something basic working first, then start adding more features. Simple game’s source code could always be extended to make it more interesting, but if you end up with a mess of a complicated project – you’re in trouble. Finally, if you are ever stuck – seek help and tutorials, there are many resources available online.

    Think you have a better idea for a computer science project (doesn’t really have to be a video game)? Share in the comments!

    Related posts:

    1. Video game collaboration is cute
    2. Computer Science education is…
    3. Video game designer education – it’s in electives

    ]]>
    http://compsci.ca/blog/12-computer-science-game-project-ideas/feed/ 21