Archive for October, 2012

I have been wanting to learn Java for a while. I recently decided to choose a project to stimulate my learning of the language. Give my learning some focus and attention. If you have been ready this blog, I am developing a 4X strategy game. Well, as I have been reading on Java to remind myself and to understand some of the basics of Object Oriented Programming (OOP) I have grokked the concept of polymorphism. Well, not grokked, but I understand it now. I see a purpose and a reason for it to exist. Here is how I understand polymorphism. If anyone has anything to add or clarify, go ahead and post something. I would love to understand or have clarified anything I have wrong.

Polymorphism of SHIP to FREIGHTER

Polymorphism of SHIP to FREIGHTER

Polymorphism is a way to reuse a class. If a new class had to be made for everything, then the language definition, let alone any complex solution to a computer problem would be huge. The purpose for polymorphism is to allow reuse and redefinition of a class. In my case here is how polymorphism helps. Any 4X Space game will have ships, lots of ships. If I made a class for every ship and every modified ship, then I would have a real bloated program, but with polymorphism, I can do some very cool things. Here are some basics. I can define a basic SHIP class that has the properies of hit points, attack strength, defense strength, owner, location, and speed. All ships in my game will have these properties. So instead of writing methods for each ship to move, attack and repair, I can write it once in the SHIP class. So ALL ships will move, attack, defend, and repair the same basic way. This helps to add consitency to my program. I can still have varieties of ships by extending the SHIP class. One way to do that is to create a Freighter and add cargo space. I will later write methods that will load cargo and remove cargo for the freighter class.
I am still prototyping the classes and ideas, but I am looking forward to developing this because it is giving me some concrete examples of how to use items in OOP that I previously didn’t realize how to use them.

Recently, my laptop’s hard drive (HDD) decided to stop working efficiently. It took 5-10 times longer for my laptop to do anything. I had my laptop evaluated by Best Buy and they said it was just the HDD. I bought a new 1 TB HDD figuring I would try to restore windows on my currently installed HDD on the laptop, and if that failed I would install the new one after making some restore disks. Well, that didn’t work out and the restore partition didn’t work. I installed my new 1TB HDD and decided to make the switch to Ubuntu Linux. I have messed with Linux for about 15-20 year so it was time to make the permanent switch. I just didn’t want to pay money to get a set of restore CDs from Toshiba. I am tired of the money grabbing by micro$oft. Gates’ idea of purchasing the right to run software is just rediculous. This has set my development back due to a total loss of everything on the HDD.

Oh well, I am very satisfied with the Ubuntu and am looking forward to getting reaquainted with Linux. The good thing is that Java is a cross platform environment and I can get the same stuff done in Ubuntu that I could in windows.

I read this quote on a discussion board. I really like it and it gets to the heart of the purpose of the user interface:

The day that these monster one-man army developers start doing GUIs, they will conquer PC gaming. I love their ideas, but if you are unwilling to bridge them to me, then the effort I have to make can be outright frustrating and disappointing.

Basically they are the equivalent of your brilliant but absent-minded and introverted university professor in gaming.

The key is this quote “bridge them to me” a user interface is the way the developer brings into focus the game play and data that is necessary to play the game with enjoyment. Too much data and the user is confused. Too little data and the user has no creativity to express in the game.

This quote has gotten to the heart of the matter. A game can be great, but the user interface can make the game unplayable or confusing.

As of right now, I am a developer of a space strategy game. I am taking the jump and making the plunge. I don’t have many details, but I will use this blog to update the status of the game. I don’t even have a working title that is significant enough to post. Strategy games are something I love to play. I have played many, from Civ I to Reach for the Stars to Sword of the Stars and Sins of a Solar Empire. I have some ideas that I will post on one area. I have much to learn with programming and much to learn about game programming and AI. I am no where near any release, because I have just decided to do this. Stay tuned for more details.

Never Give Up, Never Surrender!