More development and some new hardware!

December 21, 2012

So, my development on the fruit catcher game has been slow as of late. Three reasons for this:

  • Still a full time student (prioritize assignments/final exams)
  • Continuously fleshing out the game idea/design on paper.
  • I have to learn Python & PyGame for each new added functionality.

However, I have made a relatively big stride as of late. I’ve restructured my code in a more appropriate manner that reflects better gameplay during runtime on all three platforms (Ubuntu, Mac, Windows). Previously, my main game loop was pretty messed up. I mingled code that was meant to handle input and events with code that were meant to update game counters/states.
This caused some serious problems when blitting to the screen. For example, my particle system would disappear from the screen whenever I pressed an arrow key.

Fruit Catcher Update

Running the new update on Ubuntu 12.10

In this new code, I’ve also started numbering the versions to keep track of what I have changed and what needs improvement or is broken. I’ve added a simple scoring system that checks for collision between a fruit and the basket, and then adds 1 to the score. I’ve also added a new fruit! A banana! Yay for random fruits dropping out of one tree…

More importantly, multiple fruits drop down from the tree now. And they do this in random order (but not yet random speeds). One moment you may get all Apples, next maybe bananas, or both. At the time, I have only 5 fruits at any given time falling from the tree.

I am now looking into adding more fruits, randomizing fruit drop speeds and maybe (just maybe) adding joystick controls for input. Like using an Xbox 360 controller, or my Logitech Rumblepad 2, or my PS1 controller with the game. If I can successfully do that, that will probably be enough motivation for me to start designing a start menu and figure out how in the heavens do I change Pygame’s window resolution at will. In Ubuntu, and Linux in general, there is a joystick library that can handle all types of joystick input. I don’t know if such a thing exists on Windows and Mac yet.

Last, but not least, I got some new hardware for my desktop. Specifically, an Nvidia GTX 680 (ASUS DirectCU 2). I got this because I’ve become fed up with my AMD RadeonHD 6870’s Linux drivers. The non-stop windows tearing, lagging games, and slow to support the latest Xorg are all reasons behind this. While Nvidia users were enjoying performance increases with the new drivers, I instead got an error message saying “Your card is not supported by this driver”. I am aware AMD drops support for their older cards faster than Nvidia, but this is ridiculous. One generation behind their current cards, and already they leave me in the dust. So much for the 12.12 Catalyst driver. That was the last straw.

Nvidia GTX 680 vs AMD 6870

Nvidia GTX 680 vs AMD 6870

The 680 is a beast. Not only does it max out ALL my games at the moment (including BF3, Saints Row the Third, Serious Sam 3[Linux], Dungeon Defenders[Linux]), it does it without a sweat. To better perceive this, my AMD RadeonHD 6870 when idle will average 60 degrees Celsius. On full load, it will go up to 80 degrees Celsius (and become really noisy). What about my 680? It’s literally jaw dropping. The 680 when idle will average 30 degrees Celsius (ROOM TEMPERATURE FOR GOODNESS SAKE). On load, it goes up to 60 degrees Celsius at most so far. Not to mention I can barely hear my desktop now [all on 1080p gaming]. This has to be one of my most worthwhile purchases in a long time. My first ever Nvidia card was a OManli 9400GT and that wasn’t a very awesome experience. Graphics cards have really come a long way in just 3 years time.

Nvidia 9400GT

Oldschool Nvidia

Advertisements

The American House

December 1, 2012

So, I’ve been doing my Unity project work for the entire day. Been testing my game executables on Windows 7, Ubuntu 12.10 and Mac OS X 10.7. With the release of Unity 4.0, I’ve been having a lot of fun seeing my measly game work on all these platforms with minimal effort on my behalf thus far.

Today, I decided to also make some better looking house models for my game. The one I currently have is really ugly and was basically used when I was figuring out how to properly import Blender models into Unity and ensuring the Mesh collider worked. Here’s what my first and rather fugly house looked like:

My initial house for my Unity project.

My initial house for my Unity project.

The texture’s aren’t self made. I don’t currently have the time to go taking photos with my camera around the neighbourhood for this. So, instead I grabbed textures or images suitable enough and compiled them into one image using GIMP 2.8.

After getting more used to how UV mapping works, and remembering all the Blender shortcuts, I was able to produce a more visually appealing house today. Note that I don’t give it too many shapes because my university’s lab computer’s only run on Intel graphics (which suck pretty bad).

This is what my new “American House” looks like. I call it American because it has a garage, and the main body is essentially built out of wood which seems to generalise what American (U.S.A) houses look like in general.

My house without textures, rendered.

My house without textures, rendered.

The process of adding UV textures.

The process of adding UV textures.

Finished applying the textures completely.

Finished applying the textures completely.

The textures were put into a 1920×1080 canvas in GIMP 2.8. With the larger image, it was possible to have better looking textures across my house model. I know it’s no masterpiece, but it is significantly more pleasing to my eyes and I’m sure to anyone else who would judge this. Now all I have left to do is bring it into my Unity project, and hope that the textures don’t go haywire like they do sometimes. Wish I had pictures of some of my other classmates projects, who take Games Programming 2 as well, since there are some really stunning models and animations they put into their Unity world. One guy even had an awesome mecha with full animation running around, but the world wasn’t proper yet.