Thursday 28 August 2008

What's Happening?

I have kind of put a temporary halt to development while I finish a piece of course work for my OU course which has to be finished by the fourth of September. The course work is based around Threads and server applications. I completed everything but the last question which is based around servers and is worth 45% of the total mark for the piece. I'm already having trouble with this course work, one of the thread questions has completely thrown me and, although I have managed to answer it, my answer is an incredibly ugly solution.

While I'm on the subject, I thought I would have a quick dig at the Open University. I'm finding a lot of their programming courses very easy. At the moment I have studied M150, M255 and am studying towards M257 and am thinking about studying M263 Building blocks of software which seems like the easiest course of the three mandatory level two courses (which isn't really what I want to do). If I had my choiceI would skip M263 and save the thirty points for another course that would teach me something else more complicated, as at this point doing the course seems like a step backwards.

My other problem is that the Java courses are all based around small programming exclusively, which gives the student no experience at larger scale development. I would like one larger Java course worth more points - say 90 or 120 - that was based around developing one large program.

Another major problem is that the OU courses seem to be centred around Java programming and rarely look at other languages. I have done one course that was based on C++ but did not go into any depth on any of the more advanced aspects of the languages (pointers, for example). Ideally I would like to learn Java, C++ and some assembly language stuff.

I know the level three courses are a lot harder but they are still based heavily on Java and I have the maths courses to look forward to. I am actually quite scared of doing maths stuff as I'm rubbish at it. At the moment I am working through all of necessary computing courses and then I plan to jump across to the maths based stuff once I've finished.

A quick jump back to the development: I've added more menus (although I'm worried about the way I built the class). My solution will only be useful inside my program and I'm tempted to spend some time developing a full blown re-usable class that would lay out menus in the way I want. Also I've begun thinking about mouse support and how I am going to accomplish it. Another problem is that two use multiple menus and I have implemented numerous keyboard listeners to deal with them all (which I think I'm going to get rid of, although I'm going to still have two: one for inside the game and a second for all the menus).

The menu problems got me thinking about my objectives for this project. I have two main objectives: The first objective is to develop a piece of software that I can use to show my programming skills for potential jobs and bragging rights; the second is just to have a functioning program and as an exercise to see if I can make a full blown functioning program. They objectives don't seem to run parallel - the first objective pulls me towards taking my time and planning out each stage carefully and working out the specifics of my program before starting; the second just causes me to brute force everything and work as quickly as possible. At the moment I am sticking with the second.

Friday 15 August 2008

Quiet Update

I've started to see the beginnings of my program coming together, although my code is becoming more complicated and I am getting to the point where I seriously need to write some comments for my code. Also my main class that deals with setting up everything else and getting everything running is a big mess - this is mainly because every change I make usually ends up changing the main classes code and now I have countless commented out code chunks.

Coding wise I've got to the point where I can open my program into full screen or windowed mode and change the resolution, colour depth and refresh rate by using command line arguments or by editing a text file. I've started to put in the code to move through phases of the game, meaning I will be able to have more than one screen. I'm going to try and add an option menu next that will allow me to change all the screen information inside the game. I also need to add a method or modify an existing method to update my text file so my game options have persistence.

Thursday 7 August 2008

Setting Path Environment Variables In Vista

This is a quick tutorial explaining how to set Path Environment Variables in Windows Vista. It will take you through a step by step guide that will allow you to run all the Java SDK programs from the windows command line.

1. Locate your Java SDK. It will normally be located in a directory such as:
C:\Program Files\Java\jre1.6.0_07\bin

If you are using the 64 bit version of Windows Vista it will be located in the Program Files (x86) folder.

If you can't locate your Java director it can be found by opening your control panel and double clicking on the Java icon. Go to the Java tab and then click on the either of the buttons marked 'view'. In the location tab is the path to your Java director although you have to add '\bin' to the end.

2. Next open the control panel and then system. Click on the Advanced System Settings. You should now see the System Properties window and be under the Advanced tab. Right at the bottom you should see a button marked “Environment Variables”. Click on the button.

You should now see the Environmental Variables tab. This window is divided into two sections. The bottom section is called 'System Variables'. Scroll down until bottom list until you find a Variable called 'path'. Select it and then click on the lower edit button. You will get yet another window. Now, under the Variable Value box, add the path of your Java director to the end of the line. The end the line should read something like:

;C:\Program Files (x86)\Java\jre1.6.0_07\bin

3. Reset your computer.

4. When Windows opens hit the Windows button and then type 'CMD' into the search bar. This will launch the command line. Type 'java -version' into the command line. This should hopefully bring up information about the version of Java your using.

Saturday 2 August 2008

Random musings of a messy room

It's almost been two weeks since my last post and I have barely crawled forward with my game making. So I thought I would give you a quick run down of what I have been doing, as if anyone actually cares. My first week was spent on holiday in the Isle of Wight relaxing with my Girlfriend with me far away from any high tech gadgets other than my Camera, mobile phone and the assortment of laptops and other tech paraphernalia that the average person now carries around.

After coming back I spent a day touring around the Imperial War Museum looking at the Caribbean war effort exhibition and then the Holocaust exhibition which was disturbing. The weekend was spent finally moving the rest of my rubbish out of my old room and into my new much much smaller one, hence the title of this post, which lead to the end of my holiday. The Sunday I spent some time working on my code although I didn't get much further. This week just gone I spent working on my normally sucky job and working away at my OU course work.

I'm still working on an IO class that will deal with all the command line inputs and setting up the graphics stuff. A good indication of my lack of coding skill can be found in this forum post I made (I have no idea what the '+' symbol in the regular expression does). Another problem I sorted out was adding all the Java Development Kit programs to work from the command line in Vista - which was a fairly simple process but took ages because I didn't know what the process I had to go through was called (it is called setting 'path environment variable' by the way). It lead to another forum post which you can read here.

Anyway I'm off to try and tidy my room.