Monday, July 18, 2011

Texture Mapped Fonts

They work!

I use them in my dialogue UI element so that I can fulfill the humor category in my marking scheme. 


Wee more screens

Particle Systems, Level Objects, Textures

Finished off my particle system - I created an abstract particle system and I make concrete versions for the different types of fuzzy phenomenon. The one I show here is a simple one to simulate an explosion. Its pretty simple but it looks alright I think. It displays particles as textured quads with a color.

Another thing I am adding in now is a textured fonts renderer. It's simple, ( KISS ) and suits my purpose, but there is a bit of work that remains on it. I need to make a better texture for the textured fonts ( they overlap, but the texture should be transparent in some areas ).

Also finally got around to working more on the level file I created before. I edited it a bit and added some building entities with varying textures. If I have more time later, I would like to add some more buildings and enemy ship models. Deadline for this project is in 2 days - have to keep working.

More screenshots!


Saturday, July 16, 2011

Collisions, Projectiles and Enemies

Pretty happy right now. Made a lot of progress coming back to the graphics assignment after being stuck on other school work for almost a week.

I have static and dynamic collision finished. I'm using axis aligned bounding boxes and it seems to work pretty good for my needs. Also, I just finished my enemy ship class and added more grammar to my level file format to accept additions of enemy ship spawns. The AI isn't spectacular but it does try to find your ships position and shoot at you.

Changed the camera too, it has a slightly better feel to it now when you move your star fighter. Also the ship banks when you fly it around. Overall cooler feel.

Also shamelessly created a cross-hair that is basically taken directly out of Star Fox 64 - we should always incorporate ideas from good design right?

Also the top left shows a simple HP bar. Next task is to make a "good" HUD.

Progress:

Still have to work on the textures. Blotches of colours won't do me any good when it comes time for the TA to give me subjective marks.

Thursday, July 7, 2011

Height Maps and Level Objects

So I finished off the height map generated terrain yesterday and tweaked it so that I am scrolling it as the game proceeds. I am only drawing a part of the entire terrain at any time by limiting the rows of the array I draw. I have also finished implementing a file parser for my level data, which is a simple text file that I use to dynamically control what objects are in a level and where.

Here's an early screenshot of what I have :


I made a simple arch shape and a long stick shape as obstacles to be tested with. The level data allows me to easily change what objects exist in a level very quickly. Here's another screenshot of a level where I added many objects!


That only took a few seconds - this will help me a lot when I'm actually making the levels!

The upcoming tasks I will tackle is storing the vertex data in vertex arrays and also adding in shadows using either the shadow volume projection technique or the stencil buffer shadow technique. I'm still learning so I'll know more once I start working on it.

Sunday, July 3, 2011

CS488 Final Project - START!

I finished up my final project proposal last week and had started to work on the project. I decided to make an on-rails shooter akin to Star Fox. It was is one of my favourite Nintendo series and I wanted to try and make something similar.

This will be my first OpenGL game, I'll be using and learning SDL for this, as my friends who also love making games have said its a great library.

For the scope of the project for CS488, I plan on only making one level - as it should be sufficient to meet the technical objectives I have set for this project. However, I will continue to work on this even after I'm done the course.

I just finished up the setting up of an OpenGL context using SDL and also created a mesh loader class to load Wavefront .obj files. I can render meshes now, and I also finished off my texture loader/manager class. The texture loader gave me a lot of problems, one hiccup I encountered was that I made calls to glVertex3f and glTexcoord3f in the wrong order. This made it so the texture was being displayed incorrectly because the glTexcoord was being associated with the incorrect vertex. However, I found out after looking at the code and playing around with some simpler meshes and got it to work.

Here's my very early start on the project:


The texture is very basic right now, so I'll have to change it later. The next step I'm going to take is probably editing my ship class to handle input so that I can have it move around the screen in a "realistic" way; and by realistic I mean have it maneuver around like it was an Arwing!