Wednesday, August 3rd, 2011

FPS – C++ OpenGL

In my “3D Graphics & Audio 1″ subject, on the IT Carlow Games Development course in secound year I  studied OpenGL. The awesome Ken Power dot product master, teachs us to be Ninja Graphics programmers. Over the year, we have completed two projects, and many practical assignments for this class. One was a 2D lunar Lander Clone, and the second was this project a 3D First Person Shooter.


The game is very wolfenstein seic, its map is generated from an array of different symbols that define the maze and doors. The general idea is that you most find a weapon and a key to escape the spaceship. There are various billboarded enemy’s who move toward you when your near them. The maze is completely textured and light using standard OpenGL light caluations. FMOD was used for the sound of the gun firing and for the doors opening.

Video of Game

Learning out comes

I learnt lots from completing this project and helped me become more profinenet with C++ and OpenGL. I got awarded 100% for my project which I was quite pleased about. I really enjoyed the project and graphics programming in general. After the project I started work on my own 3D FPS but this time from complete scratch  which you can see on my GitHub.

Technologies & Skills used

  • C++
  • OpenGL
  • FMOD
  • Graphic Programming


Saturday, June 11th, 2011

Racing Game – C++ PhysX

One of my third year projects on the IT Carlow Game Development course was to produce a 3D game using Ogre3D. The project had the following  requirements.

Project Requirements & features 

  1. Language C++
  2. Ogre3D for Rendering
  3. Use a Physic Engine
  4. Develop an AI
  5. Sound and GUI
The game I made was a racing game in which the player races against an AI car. The racing track is generated by driving the car around the environment as I’m not to skilled with blender I decided to do it programmatically. So the game itself is a type of crude editing tool for the tracks which the cars race around. I used NxOgre which is the Ogre wrapper for  Nvidia’s PhysX for the physics of the environment and to car physics model.

Learning out comes

This project was done in an iterative model, with burn down charts and scum based tasks. With presentations and iteration documentation to be generated at the end of each sprint. So gave me good experiences of an Agile approach to games development.  I also learnt a large amount about building different software systems and dependent libraries together, as the physics wrapper NxOgre had been abandoned and took quite a bit of research to get it to build with the version of Ogre we had to use.

Technologies & Skills used

  • C++
  • Ogre 3D
  • Nvidia PhyX
  • AI
  • FMOD sound
  • OgreBites for GUI

Sunday, May 22nd, 2011

3D Platformer – C++ havok

Brief Overview of the Development

  • Developed over four days, as part of Real World Modeling and Simulations subjects
  • First experience using Havok Physics engine. Basically a warm-up project for a much larger one.
  • Four man Scrum based team. ( 3 developers and 1 scrum master) Lectures acted as Product owners
  • GIT for source control
  • Daily stand-up meetings
  • JIRA to track stories and tasks.  Git hub used to preform peer review

My role as a Developer

  • Built the swinging platforms and magnets.
  • Level Design
  • Integrating FMOD for audio
  • GIT expert on the team

Game-play video

Coming soon..


Thursday, January 20th, 2011

ACM Programming Contest

I have compited in the UCC ACM International Collegiate Programming Contest in first year (2010) and again in second year (2011), with my fellow teammates Carl Lange and Keith Cully. The ACM is a problem solving programming contest in which you are given 8 problems to solve in 4 hours with one computer and a team of three people. The type of problems range from complex search & sorting algothirms, prime numbers, fibonacci sequence etc.

Leanring out comes

I wrote up a piece about our experience at the ACM Irish Collegiate Programming Contest 2011 @UCC over at the Flax Project. You can also see a live JavaScript demo of a solution to one of the ACM problem I solved when we were practising for the event.

Live Demo

You can also see a live JavaScript demo of a solution to the “High Score ACM Problem” which I solved when we were practising for the event.

Tuesday, May 18th, 2010

Lunar Lander – OpenGL C++

In my “3D Graphics & Audio 1″ subject, on the IT Carlow Games Development course in second year we where given two projects to do one a 3D First-Person Shooter and the other a lunar Lander clone. Above are some screen shots from my project.


The terrain is randomly generated and has various different difficulties. My game has some basic physics for the lander and some particle explosion animations for when the lander cloides with the terrain. There are also enemy spaceships which shot bullets which try to lock on to the player ship.

Technologies & Skills used

  • OpenGL
  • C++
  • Physics

All content © Copyright 2017 by Ciarán McCann.