Thursday, December 6, 2007

Progress with XNA

This week I demoed my Games World Assignment, I made a game using XNA. The Game was a very simple asteroid game. I originally designed it to be a top down game.


I then decided to do a fully 3D game.


Asteroid Shooting Game
•Player control a ship and navigates it around the 3D environment
•Players shoots as many asteroids as possible to get a high score, a collision causes death and the game is restarted.
Limited Ammo;
•Warps around the environment
•Can kill player also
•Stay active until they hit either player/asteroid
•Ammo isn’t replenished until it hits either player/asteroid
Simple Scoring system in place;
•Shot Penalty = -1;
•Death Penalty = -100;
•Warp Penalty = -50;
•Kill Bonus Brown Asteroid = 25;
•Kill Bonus Grey Asteroid = 50;

• Updated the camera to chase the ship in a 3D world
Fixed Position Camera
Spring Mounted Camera
• Added collision detection to all entities
Asteroids rebound asteroids
Bullets destroy Ship/Asteroids
Asteroids destroy ship
• Added skybox
• Attempted to add particle effects, explosions, smoke plumes, didn’t work with skybox alpha blend…

Monday, November 26, 2007

Microsoft XNA Event : Trinity College Dublin

This event was very well organised, Steve Collins formally of Havok spoke about the industry and how Ireland has achieved allot for such a small nation. The day was based around XNA and trying to get people in computer science courses to use it. As I was already using it, they didn't need to sell it to me. It was very interesting seeing the people who actually designed XNA. All of the speakers were a pleasure to listen to and I felt everyone came away from the event feeling good and upbeat about XNA. They spoke on length about the upcoming release of XNA 2.0.

Taito Corportation gives its support to the XNA Ireland Challenge 2008
Taito Corporation have given permission to the XNA Ireland Users Group to honour SPACE INVADERS 30th Birthday on the 13th March 2008. The XNA Ireland Challenge 2008 will run in parallel to Robocode Ireland. The event is already attracting entries from schools and colleges across the country.

Competition Schedule
The competition schedule for XNA Ireland Challenge is as follows:
November ’07 to March ’08, Schools Colleges and Universities should select the students or team to represent their institution. The selection mechanism should be in manner deemed appropriate by that institution. It is suggested that an internal challenge competition be held to select XNA Ireland Challenge qualifiers.
February 3rd, Schools, Colleges and Universities officially register for the competition by emailing xna[AT]tippsoc[DOT]ie . A stipulation is that the subject line should contain the following "[institution name] would like to register for XNA Ireland Challenge 2008"
March 7th, Schools, Colleges and Universities to submit the entry form, XNA Ireland Challenge entry project source code and documentation as in Get Registered.
March 13th the XNA Ireland Challenge Final will be held at Tipperary Institute, Thurles, Co. Tipperary, Ireland.

Sunday, November 25, 2007

Ernest Adams Workshop 2007



Ernest Adams is a freelance game designer, writer, and teacher, working with the International Hobo Design Group. He has been in the game industry since 1989, and is the author of three books, including the university-level textbook "Fundamentals of Game Design" with Andrew Rollings. Ernest was most recently employed as a lead designer at Bullfrog Productions on the Dungeon Keeper series, and for several years before that was the audio/video producer on the Madden NFL Football line for Electronic Arts. Ernest is also the founder and first chairman of the International Game Developers' Association.

Covered all the basics of the craft of game design, covering core mechanics, gameplay, user interface design, concept art, level design, and even a small story. Began with a lecture, then we were all challenged to apply what you've learned to flesh out a new game design concept. Ernest handed out what he called dreams, which were ideas for games and in groups of four we designed the game conceptually. In teams of five each person took on the role of either, team lead, game designer, level designer, art designer and user interface designer.

Our dream was to create a game where we had to save whales from being killed for food in Japan. We designed the game as a top down flash based game where the player controlled a Green Peace Vessel called Esperanza to get in between the whaling boats and the whales.
To visually represent our game and ideas we designed a poster which we then presented to the class.

the overall day was very enjoyable, if I learnt anything it's that in the industry you'll possibly have to work on games you wouldn't piratically play yourself, one must adapt ones thinking to match the target market, this can be difficult. I also learned that group dynamics are very important and with out a like minded group of designers, many stalemate situation can occur. that's when the lead must use decisive action for the benefit of the game and not any particular member/s of the team. The lead designer has the final cut.

Overall it was a very enjoyable and creative experience.

Wednesday, November 21, 2007

Hardware Acquisition - Xbox360 Wireless Gaming Receiver for Windows

Today I had to purchase a Xbox360 Wireless Gaming Receiver for Windows, this will allow me to demo my project on PCs with the use of Xbox360 Wireless Controllers. the piece of hardware cost €24.99 but with a student discount I got it for €22.49.
This will be a great help to me as I'm coding my project and assignments to use the game pad controllers and considering the impossibility of lugging a TV & Xbox 360 with me in and out of college this is the prefect solution. It simply plugs into a USB2.0 port and runs like a dream.
Also it will allow for easier transfer of code from Xbox360 to PC, to demo in college.

Friday, November 16, 2007

Thesis Structure - AGO,PMI, CAF, OPV, FIP, APC, OPC

Thesis - Appropriate Techniques
- Conclusions to all chapters should contain PMI.

  • Chapter 1: Introduction - AGO, CAF, FIP, PMI
  • Chapter 2: Literature Review - CAF, OPV, PMI
  • Chapter 3: Project Description - CAF, OPV, APC, PMI
  • Chapter 4: Analysis Qualitative & Quantattive - PMI, AGO
  • Chapter 5: Conclusion & Future Work - C&S, APC, PMI, OPC

OPV - Other Peoples Views

This is another technique we learnt last week in our FYP class. It is another critical aspect to structured thought and is a very useful technique in the dissertation process. It creates an awareness of other people's view on a certain decision and processes. these people are the stakeholders. For example if I was designing a point of sale system for a business, i would have to consider the people using the system day in and day out and not just the management who will require all sorts of information gathering controls etc.

Friday, November 9, 2007

PMI and CAF - Focussed Thought Processes

PMI
P
lus Minus Interesting
This technique is very useful to use when generating solution to problems. You spend a specific amount of time, 2-3 minutes on each, Pluses, Minuses and Interesting in that order. Once the time has run out for each one you must move to the next and think no more about the previous one because it's too late and you'll get a smack in the head from a big guy with glasses.
This technique can be used in the writing of introduction to chapters, and is a formal thought process to plan solution to problems.

CAF
This method is where you think up 10 reasons for doing something, etc. Only ten no more, min 10, max 10.
This approach can be used in relation to writing conclusion to chapters, etc. Why you did it a certain why. Usually it's the 8th, 9th, 10th ideas that are really interesting.

Wednesday, November 7, 2007

First Code Upload

Since I'm using Google free project hosting, an online repository has been made available to me to upload iteration of my code. this first upload is a trial upload and no way near contains the number of classes my final project will contain.

I've decided to use TortoiseSVN as my upload agent, as it is free and works independently from visual studios. There is add-ons for VS but the require the professional complete editions of VS to install and as XNA can currently only run from VS C# Express Edition they were no good to me.

My online repository can be accessed from here.

XNA Scene-Graph

Today I worked on building a Scene-graph in XNA. Scene-graphs are a collection of nodes in a graph or tree structure. Which would display an object/entity as a node in which I could then reproduce children nodes of that parent node. A node may have many children but often only a single parent, with any effect to the parent node apparent to all its child nodes. All this helps in the optimization of game engines in relation to physical memory on the machine.

My supervisor asked me to create and demonstrate a simple scene graph using the notorious teapots. The simple scene graph I made uses a Scene Graph library I got from a tutorial I did on the Ziggyware website.

I create a parent node teapot, I then created a child node, grandchild node and great grandchild node. I attached each child to it's parent node. I made them revolve around the parent node in the centre of the scene, with each offspring getting smaller and further away from it's parent.

The parent node is then attached to the root of the scene, in this case (0,0,0). The center of the scene.

Creates the following scene graph

Root
/\---Parent
/\---Child
/\---Grandchild
/\---Great Grandchild

Supervisor Meeting 02 - Week 05

Discussion:
In the meeting today with my supervisor we discussed;

  1. Concept Document, changes that need to be made, etc.
  2. Structure of the Dissertation, each chapter has it's own introduction and conclusion paragraphs, pages per chapter - min 7, max 30.
  3. Chapter 1: Introduction - How, Where , Who, Why, ???, Preview of dissertation, etc.
  4. Chapter 2: Background information on the Ozone Layer, research, describe design methodology etc.
  5. Chapter 3: Background information on XNA, why I decided to use it, comparison with two other similar development platforms/engines, criteria, table of results, etc.
  6. Chapter 4: Concept and design documents, industry standards, etc.
  7. Chapter 5: Implementation, Scene graph, Engine, Models, Sounds, iteration 1, 2, 3,....., etc.
  8. Chapter 6: Testing, Unit, White Box, Black Box, user testing, Play tests, testing Methodology, etc.
  9. Chapter 7: Conclusion, outcomes, future work, etc.
  10. My supervisor, Bryan Duggan, shared some tips to dissertation writing, one of them being to write chapter 1 last. As it is the preview of the dissertation, it may change over the course of the writing and if you write it last you'll save time in the end by not having to edit it.
  11. I showed Bryan some of the tutorial and sample I was working on, mostly from the TorqueX Engine.
  12. We discussed books I was reading.

Aims (1-2 week):

  • Work on interim report, which will basically be my design document.
  • Select and Use a open source XNA game engine to create a 3D world
  • Work on improving my scene graph sample. Code some game rules, a loader and entities.

Aims (2+ weeks):

  • Prepare Chapter 2 & 3, pull all research together, have it proof read by Lecturer.

Sunday, November 4, 2007

Garage Games Torque X

Today I did another two tutorials on Garage Games Torque X, which I'm getting to like very much.

First one I did today was a simple game called Rainy Day where the player had to water flowers in order for them to grow.


The second game I made was a space ship fighter game. It was very easy to implenment using the Torque engine. I found the whole process very benificial to my project, regardless of it not being in 3D.

Thursday, November 1, 2007

Garage Games Torque X

The independent game maker and technology provider GarageGames has added Torque X to their existing suite of Torque game engines. GarageGames has already migrated key portions of their 2D and 3D game development technologies to the XNA platform, making it easier to design and build a full-featured game in managed C# and the XNA Framework.

I downloaded the engine and did a couple of tutorials, unfortunately its a 2D engine and not much use to my project. However it was very easy to use and seemed like a great engine for making 2D games. I'll look for to use a Torque X 3D engine if one is released in the near future.

The first tutorial I did was a game called blaster. It was a simple clone of Space Invaders.


The next tutorial was a game called microbes. It was a simple implemtation of AI with simple animation. The game play was simple and the player moved the GarageGames logo around the screen to herd the microbes.

Wednesday, October 31, 2007

Concept Document

Concept Document

I published a draft of my concept document today. I'm having some trouble with the concept art, as my artistic skills are pretty bad. The document itself is near completion. I'm currently reading game design books and I'll be editing and adding to the document before the week is out. Please click here to view it.

Tuesday, October 30, 2007

Serious Games - Awakenings '07

On Friday the 28th of October I went the Awakenings '07 Conference in Derry with class mates and lecturer Bryan Duggan. The event was an overall success and a worthwhile trip up north. Some of the leading professional in the Serious games industry from across UK were in attendance and speaking on all aspects of Serious Games and the industry as a whole.

The first speaker was Paul Fullwood, who is currently developing games that teach children the school curriculum in a fun and engaging way. This allows children to continue learning the curriculum while they are at home, on holidays etc. This will increase the amount of time children have to learn the curriculum, instead of just learning it in class rooms where there is endless distraction. Paul firstly recognised the title "Serious Games" is not a good one, and should be change to "Fun Games" or just "Games". If educational games are not fun and engaging no one will play them and they would be a waste of time to develop.

The second speaker was a man called Roo Reynolds from IBM, I could not make a connection from what he discussed to the serious games industry. He was talking about Meta worlds, application such a Second Life. He seemed to promote the idea of these applications as the evolution of the Internet, bringing the Internet from 2D to 3D. It was interesting all the same. I still won't be using second life anytime soon.

The third speaker was Lizbeth Goodman, Director of the SMART lab Digital Media Institute. Lizbeth discussed projects she was involved with, most of which was working with individuals with disabilities. Lizbeth and her team helped these disabled people to interact with technology in a beneficial way. They designed bespoke software to carter for the needs of the people they worked with on an individual basis. They are a non-profit organisation. It was fascinating to hear her describing some of the people she has worked with and the difference to their lives that can be achieved through the use of technology. Again Second Life was a big part of Lizbeth interaction with the children she worked with. One story Lizbeth told us was that of a young disabled girl in New York, confined to a wheel chair she decided she would like to be a giraffe in Second life and see the world from a giraffe's perspective.

Other speakers were Eric Zimmerman, CEO GameLab, New York, Not a very productive speech, terrible web cam linkup made it hard for him to articulate himself successful, and the whole thing sound repetitive. Caroline Anderson, CEO SilverTongue Software, she discussed building a serious games company in NI and the difficulties she faced in the process. Emma Robison, CEO DoddleDawg Entertainment, Emma launch her company's new serious game "Recall". She spoke about the development process and the help she received from the University and NORBIC. The final speaker was Paul McElvaney, CEO Agility Consulting, Paul discussed his involvement in e-Learning and how thought the serious games industry would evolve in the future.

After the day, I thought about my game, "Free Radicals" in relation to the serious games I saw on display. I've now realized that my game could be labeled as a serious game. I hope players of my game, whilst having fun and enjoying the game will come away with a little bit of knowledge of the ozone layer and how it work at an atomic level. I hope it will be as close to a simulation of the chemical reactions that take place in the ozone as I can manage in the time I've got for development.

Wednesday, October 24, 2007

Supervisor Meeting 01 - Week 03

Discussion:
In the meeting today with my supervisor we discussed;

  1. Physics engines and there potential use in the project, if in fact one is even needed
  2. Game engines, AI and how they could replicate realistic physics for the game
  3. Game Mechanics
  4. Game's look and feel
  5. Viewed other games, "Spore", to see its approach game mechanics, look and feel
  6. 3D vs. 2D for project game mechanics
  7. 2D styled game in 3D environment, looking down perspective, see "Spore"
Aims (1-2 week):

  • Set up this Blog
  • Set up a Project hosting site with Source Repository on Google Project Hosting here
  • Read Ernest Adam's book of good game design
  • Use a Methodology for same book
  • Write Game Concept Doc
  • Write Game Design Doc
  • Upload Game Concept Doc to the Serious Games Wiki-site
  • Create UML Diagrams
    • Class Diagrams
    • Entity Diagrams
Aims (2+ weeks):

  • Select and Use a open source XNA game engine to create a 3D world
  • code a scene graph to maintain the 3D world
  • code game rules, loader and entities