Posted by & filed under Dragons at Dawn, Game Development.

I’ve been able to work on Dragons at Dawn a bit more since my last update. Now the majority of the pre-game code is completed I’ve been able to turn my attention to the game itself.

Yesterday I managed to complete quite a large and complex part of the code, the level loader. I’ve gone for the traditional loading in from a text file approach as I feel this gives me more freedom in customising levels. Right now it’s very basic and just loads in some blocks around the edge of the screen as well as the player character; I will most likely remove the blocks later in the development as to keep within the theme of the game.

I have also managed to implement a factory design pattern to help maintain the creation of entities in the game, at the moment it’s just the player class is using it, but implementing this early in development will come in handy later.



Posted by & filed under Dragons at Dawn, Game Development.

I’ve been able to make a bit of progress on Dragons at Dawn over the last few days and been able to get all the pre-game stuff setup how I want it for now, this includes a menu and options screen. At the moment the implementation is very basic as I just need it to work for now (rather than look pretty), once the game is done I can go back and apply some polish.

Normally when I start making a game I go straight into the game itself and then add on features like a main menu/options screen, however I often find it difficult to implement in this way as you are effectively working backwards from the game into the pre-game stuff, this means that if you want to add in something like the ability to change the difficulty of your game, you’ve then go to go and change all your code to reflect that, whereas by doing it first you can apply the feature straight to the code.

Now that I have the pre-game parts of the code working how I want them, it’s time to head straight into making the game. This is going to be the most difficult but also the most fun part of the project as I get to let my creative juices… I don’t know where I am going with this, but it’s going to be fun and that’s all you need to know!

Below is a screenshot of the game’s main menu, behold it in its basic and unfinished state!


Posted by & filed under Dragons at Dawn, Game Development.

As I am not the artist I used to be, I will be using the same free resources I used for the original Dragons at Dawn. The ORYX sprite pack covers pretty much everything I need and from what isn’t there I am sure I could attempt to make something myself. As for music I will be using the same style of music from Kevin MacLeod.

Unlike the previous game I will be utilising some Java Frameworks to help me with the development of the game, why reinvent the wheel right? These frameworks can be found on various points on the site as they are really useful for game development (if you are into that sort of thing you should definitely check them out), however I will list them here as well since this is a resources post.

  • LWJGL – (Lightweight Java Game Library) exposes high performance cross-platform libraries commonly used in developing software games and multimedia titles. It exposes OpenGL (Open Graphics Library), OpenAL (Open Audio Library), OpenCL (Open Computing Language) and allows access to controllers such as gamepads, steering wheels and joysticks in a platform-neutral way.
  • Slick – Slick is a simple Java-based 2D game-development library based on the LWJGL.
  • MarteEngine – MarteEngine (ME) is a Java videogame engine with it’s focus on a simple, clean API for fast game development.

Posted by & filed under Dragons at Dawn, Game Development.

Dragons at Dawn was originally a game I developed for a University module using web technologies such as HTML5 and JavaScript. While I was proud of the game I made I felt that I could do so much more with it, this is why I have decided to remake the game in the Java programming language and then expand upon it. I already have lots of cool and unique ideas for the game and hopefully I can turn these ideas into something worth playing. If you have no idea what Dragons at Dawn is, and to be honest its likely that you don’t, you can play the original version of the game here and attempt to top the online leaderboard; of the ideas I’ve come up with are as follows;

  • Boss fights
  • Epic power ups
  • Levelling/Upgrade System
  • Multiple Levels
  • Player Customisation

I’m open for other ideas to be put forwards and if I think they are achievable and fit into the games lore then I’ll be happy to attempt to include them.  As for a time scale as to when I want to complete Dragons at Dawn, I hope to have a playable version of the game up and running before September 2012 (two months from now) as I start my third year of University around that time and I know I’m going to be swamped with work. I’ll still try and keep plugging away at the game but obviously University work takes precedence.

Posted by & filed under Computing.

This morning I spent a good hour teaching my brother how to create a secure password after several of his online accounts for various sites got hacked. At the time I thought it would be a good idea to write a post on it so that in future I can refer others to it when their accounts get hacked because they thought “password” was an ironic password choice and thus means it would be a good idea as nobody would ever think to try it.

So I’m going start by showing the most commonly used passwords according to a study by ZoneAlarm. If you use any of these passwords I strongly recommend that you change them right away. Below the passwords I will talk about what you can do to create a strong password and some do’s and don’ts when it comes to creation.

Common Password choices

As you can see, most people have no imagination when it comes to password creation.

What makes a strong password?
There are four simple points to follow when making a strong password, these are;

  • Make you password at least 8 characters long, however the longer the better.
  • Do not use any dictionary words, your birth date, your username and any numbers that follow a sequence such as 12345.
  • Use symbols in your password, e.g. @#~£$%^&*!
  • Use upper and lower case letters.

You should try and make sure that each password you use is different as if one of your passwords does get compromised the last thing you want is for the hacker to be able to access all your accounts with that single password.

How to remember a strong password?
Having a password like 5tBfDif89@[‘;( can often be hard to remember so it is best to give yourself some rules to follow when creating a password. The following is an example from Microsoft on how to create a secure password, I was going to use the Sony example but well…that’s probably not the best example in this case. I should also point out that I have edited this a little bit to reflect what I consider to be a slightly more secure way of creating passwords.

  1. Make up a sentence or two with about 10 words in total. Try to make it a memorable sentence for you. For example; “The quick brown fox jumped over the lazy dog”.
  2. Turn the sentence into a row of letters. Use the first letter (or whatever letter you want) from each word.
    Example, using the sentence from step 1; “tqbfjotg”
  3. Make only the letters in the first half of the alphabet uppercase.
    Example; “tqBFJotG”
  4. Think of at least two memorable numbers and put these into the password at various points.
    Example; “tq1BFJ0tG9”
  5. Put a punctuation mark at teh beginning of the password.
    Example; “tq1BFJ0tG9”
  6. Put a symbol at the end of the password.
    Example; “tq1BFJ0tG9@”

Once you have created your password, head on over to this website to check how secure it is. It allows you to type in a suggested password and gives you a score feedback on how secure it is. You should be able to clearly see what the shortcomings of your suggested password are by looking at where it scores high, and where it score low. The example I made up now currently gets a “very secure” rating.

Secure Password Checking Site

Posted by & filed under Computing.

Due to popular demand and by popular demand I mean one person, I am going to do a similar post to what I did here about Linux bash commands. To be honest I don’t know why I didn’t think of it myself, it makes a lot of sense that if I am doing a post on good commands to know about for Linux then I should do a comparable one with MS-DOS. I used MS-DOS or DOS as it’s commonly called (I will refer to it as DOS from now on in this blog) in my previous job role where I was working for McDonald’s IT Department. Name drop there for you all =p

Unlike Linux, Dos commands are not case sensitive. So you can put caps where you like when writing the commands although it’s good practice to keep to either all upper or lower case. Personally I use all upper case when writing batch files but use lower case when operating with the command window. A weird personal preference of mine I guess. I am going to write them all in caps for this blog to show a different between these and the Linux ones, also it makes them a bit easy to read. This is by no means a definitive list, there are plenty of commands out there that do their own little things, I am merely going to once again talk about ones that I have found useful in the past. Since I have used these commands a lot more then I have used the Linux ones I can talk about them in a bit more detail and I will give some example commands and explain what they do.

So once again, without any more ado, here is the list that I have compiled;

ATTRIB = Displays or allows you to change file/directory attributes.
(R = Read Only, A = Archive, S = System File, H = Hidden File)
ATTRIB + = Sets and attribute.
ATTRIB – = Clears and Attribute.
Example Command: ATTRIB -R -H myfile.txt
What it does: Removes the read only and hidden file attributes from myfile.txt

CD = Change directory.
CD.. = Go up one directory level.
C: = Change to the C Drive
Example Command: X:
What it does: Will take my to my X Drive.

COLOR = Changes the background and text colour of the command window.
Explain Command: COLOR 0A (That is a zero followed by an A)
What it does: Will change the command window to have green text on a black background, so more of a matrix-y feel. There are plenty of other colours to choose from. Just type “COLOR /?” without the quotes into the window for more colours.

COPY CON = Create a new file.
Example Command: COPY CON myfile.txt
What it does: Creates a file called myfile.txt.
You should also note that when you use the COPY CON command after pressing enter the cursor will display on the next line, this is so you can write directly into the file. Once you have finished typing press CTRL+Z on your keyboard followed by the ENTER button.

CHDIR = Show current working directory.

DIR = Lists files and directories in your current working directory.Also display last modified date/time and whether it is a file or a directory.
DIR /b = Gives you just the names of the files/directories.
DIR /q = Displays the same as “dir” but with the owner of the file/directory.
DIR /s = Recursive display. List all subdirectories.
WARNING! – When using /s you might want to put the /p switch into the command line too as this pauses the output on the screen and allows you to manually advance by pressing any key. Without the /p switch you will find that the screen fills with text very quickly and is unreasonable.

DOSKEY /history = Outputs previous commands already typed into the command window.

ECHO = Displays messages. Used more in batch files then in the command line.

EXIT = Exit’s the current command window.


FIND = Search for a text string in a file or for files themselves. This command is case sensitive to what you type as the string.
Example Command: FIND “hello” myfile.txt
What it does: This command will find the string “hello” in the file myfile.txt. It will then output the line of text that the string is on. If there is more then one line with the word “hello” then it will output those lines as well.
FIND / i = Same as the above command but the string is not case sensitive.

FC = Shows differences in two files.
Example Command: FC myfile.txt test.txt
What it does: Shows you the difference between myfile.txt and test.txt.

IPCONFIG = Display currently assigned network settings such as IP Addresses.
IPCONFIG /all = Displays full configurations
IPCONFIG /release = Release the IP address for the current network adapter.
IPCONFIG /renew = Renew the IP address for the current network adapter.

HELP = Gives you a list of commands in dos with a brief description. Also, if you type the name of a command followed by a space and then “/?”, it will give you help on that specific command.
Example Command: HELP /?
What it does: This will output help on the help command to the command window.

MKDIR = Make a directory.
Example Command: MKDIR test
What it does: Will create a directory/folder called test.

MKLINK = Create links (symbolic links by default).
Example Command: MKLINK newlink.txt myfile.txt
What it does: Creates a symbolic link called newlink.txt from myfile.txt.
MKLINK /h = Hard link instead of symbolic. Hard links are similar to normal shortcuts.
Example Command: MKLINK /H newlink.txt myfile.txt.[
What it does: Creates a hard link called newlink.txt from myfile.txt.

MORE = Shows files a page at a time. This command is usually pipped into another command. If the output of the command it is being used with is going to fill the screen and more this command stops it once it fills the screen and then lets you advance through it at your own pace.
Example Command: IPCONFIG /ALL |MORE
What it does: This will output all the IP configuration information to the command screen but in parts rather then in one big text dump.

RMDIR = Remove a directory.
Example Command: RMDIR test
What it does: Will remove a directory/folder called test.

TASKLIST = Shows you a list of processes running at that moment in time.

TYPE = Display contents of files.
Example Command: TYPE myfile.txt
What it does: This command will output the contents of myfile.txt to the command window.

XCOPY = Allows you to copy files and directories.
XCOPY /s = Copies Subdirectories (except empty ones).
XCOPY /e = Copies Subdirectories including empty ones.
XCOPY /y = Copies files/directories without prompt. For example, it won’t ask to overwrite a file it will just go ahead and do it.
Example Command: XCOPY /Y myfile.txt C:USERADMINDESKTOP
What it does: This will take myfile.txt and copy it to the admin’s desktop. Also, if there is a file called myfile.txt already on the desktop of the admin user it will overwrite it without asking.

So that is the list for now. If you can think of any that should be added then please leave a constructive comment and I’ll see about adding it to the list.

Posted by & filed under Computing.

While in my first year of University, I used UNIX quite exentisivly for one module. I quickly discovered that when using UNIX, the terminal is your friend and you can use it to do almost anything. So I have decided to compile a list of commands that I have found useful and what I found to be the most command commands to be used. The list is case sensitive and by all means is not a definitive list, there are many more commands out there. I have listed each command with a short description about what the command does.

So without further ado, here is the list;

man = Help command. Every command in Linux will have it’s own ‘Man’ page.

ls = Lists information about files and directories.
ls -a = Display all files, including hidden files (files that start with a “.”, for example .bash/)
ls -l = displays entries in a “long-list” format
ls -R = Recursive display. List all subdirectories.

pwd = Show current working directory.
mkdir = Make a directory.
rmdir = Remove a directory.
cd = Change directory.

touch = Create a new file.
cat = Display contents of files.
more = Shows files a page at a time.
find = Search for files that meet a desired criteria.
diff = Shows differences in two files.
chmod = File and directory permissions.

ln = Create links (hard links by default).
ln -s = Symbolic shortcut (more like the shortcuts in Windows).

wc = Word and line count.
wc -c = Word count.
wc -l = Line count.

du = Disk usage.
df = Disk free space.

ps = Process status.
ps -a = Show all processes, including other users.
ps -e = Show processes from everyone.

alias = Allows you to create your own shell commands.
history = shows previous commands used.
ssh = Secure shell client. Aka, remote login.

| = This is the pipe command, it is slightly different to all the other commands as it does nothing on its own. You usually use it when you want to combine two or more commands together. For example, ls -la | more – this command will let you see every file in the current directory (including hidden files) with long information, paginated.

Posted by & filed under Internet.

You may or may not be aware, but your personal data is one of the biggest commodities on the internet. Data about your personal life, data about what you do online and data about what sites you’ve visited. Think of it like a reward card scheme at your local supermarket, they collect data about what products you buy and match them to your age, gender and location. This then allows them to market their products better by effectively building up a profile of you just from your data. However, instead of you agreeing to one of these schemes, online it often happens without you realising it.

One example of this is the Google Ads system. Have  you ever wondered how those adverts seem to advertise what you have been viewing recently? For example, if you’ve been checking out that new phone you want, you’ll suddenly find it plastered all over the place on other websites advert pages. Well that’s all thanks to the glorious tracking cookie. While tracking cookies are not a new thing as they have been around for what seems like forever, what is new is that companies use them in order to collect data on their users.

Now you might say, “So what if they have my data?” and that is a fair point. Collecting data it’s self isn’t something new and it’s not necessarily something bad either, it all depends on how it’s used and how the individual, whose data it is, feels about their data being used.

Two different examples of how data is collected on users and used is the class Google vs Facebook example.Google openly collects data on their users, and you can find out what data they have here; You can also ask Google to remove data they have on you, which is nice of them. Furthermore Google never lets any company see your data. It all stays internal within the Google franchise.  Facebook on the other hand, doesn’t tell users it collects data on them and quite happily sells data to third party companies.

So there you have it two very big companies using data collected from its users in very different ways, now is it going to stop you from using either service? Probably not, but hopefully you are a bit more aware of what goes on behind the scenes when you surf the internet. Perhaps next time you go to sign up to that new website everybody is talking about, you’ll think twice.

Posted by & filed under Internet.

I mentioned in my previous post that in 2011 we saw the birth of Google+, a new social network to rival Facebook, MySpace, Bebo and all the other social networks lurking out there on the internet.

So what is different about Google+? This is a question I get asked a lot, if you look at it upon face value, it’s just another social network. But it is far more then that, what Google have done with Google+ is not to try and revolutionise social media but instead start a new revolution in the world of information sharing. It changes the way we get our information and share it back out again and it does all this in one place.

Think of it like this, in a Google-less world, say you want to post a photo on your favourite social networking site. Think of how many different accounts for various services you’ll need;

  1. Email account to sign up to social network
  2. Social network account
  3. Image upload site account (e.g. photobucket or imageshack)

Okay, so with most sites you can get away without the third point, but you see what I am getting at here, lots of different accounts for lots of different services. With Google you have just one, your Google+ account. From here you can access your email, your online documents, images, YouTube videos and Google Search.

Google+ also gives you more control over your friendships, with most sites you have either a two-way relationship with someone or no relationship at all. Google+ is more like Twitter where someone can friend you, but you don’t have to friend them back. But unlike Twitter, where all your tweets are public, Google+ allows you to share what you want with who you want. It manages this through what it calls “Circles”, which it layman’s terms are lists. So lets say you found an awesome picture of Captain Picard and you want to share it with your nerdy friends but not with your sporty friends (I know, I know, stereotypes are bad, but bare with me…), all you do is tick the circle you made with all your nerdy friends in it and not tick the one with your sporty friends in it. Post the image and you’re done.

But nobody is on Google Plus I hear you say. Well that’s not so true, currently it has 62 million users and that isn’t bad for something that just started 6 months ago. Okay, so it has the Google bandwagon behind it but still it is no mean feet.  The latest reports show that Google+ is reported to have over 400 million users by the end of 2012. That’s half way to Facebook’s current total and would make it third largest social network in the world. Here is some maths that help prove the point;

At the end of last year around 625,000 new people where signing up to Google Plus every day (this was in no doubt helped by the 700, 000 new Android devices being sold every day). So… 625,000 * 366 = 228, 750, 000. Now lets add on the 62 million existing users and we get 290,750,000. This is just short of 300 million, but if just half of those new users get one friend to sign up we reach the 400 million.

So what are you waiting for, join the revolution today!

Posted by & filed under General.

Predicting the future is tricky business. Who would have thought that 2011 would have seen the popularisation of the tablet computer or the demand to have books displayed on a screen rather then on paper? We also saw the rise in mainstream hacking and and the birth of a new social network, Google+.

So what can we expect to see in 2012? Augmented reality? Intergalactic space travel? Or that machine from Star Trek that generates food on demand? Well…not quite. These are a few things to watch out for in 2012;

Windows 8

Microsoft’s new OS is definitely something to watch out for and not just because of their huge user base. Windows 8 is a drastically different OS than Microsoft’s previous incarnations. With it heavily geared towards tablets it will be interesting to see whether or not hardware manufactures will pick it up for next year’s tablets. It will also be interesting to see whether or not it works on the average PC that doesn’t have touch screen capabilities.

You can expect to see Windows 8 beta released around February. As for an actual release date, Microsoft is keeping that one close to their chests. Let just hope they don’t try and rush it out like Vista, and instead take the time they need to make a good operating system. If you want  to find out more about Windows 8’s new features then click here. All credit goes to The TechLabs.


The Death of Boxed Software

If any of you reading this have an Android phone, an iPhone or even a Blackberry handset then you’ll be familiar with the app store that comes with it, and you’ll know how easy it is to download an app for almost anything. I feel that this will be the future for how we buy software and 2012 will be the turning point for this.  From a developer’s point of view they save money for not burning their software to millions  of disks and packaging it up nicely, and for a users point of view they have whatever software they want a couple of clicks away. To add further weight behind the argument, Microsoft will be shipping Windows 8 with its very own app store so we can expect to find new versions of Microsoft Office and Adobe Photoshop a click of a button away. 


TV Evolution

Television will become more online during 2012. That is a fact. With companies like Apple on the verge of rolling out Apple TV and already existing services like BBC iPlayer growing everyday it is only a question of how much will it grow rather then will it grow? Who is to say that over the next few years we will see the decline of the home television and it slowly being replaced by a home media centre that handles all the family’s music, films and TV shows via an on demand cloud service. Imagine that, not having to wait until 9pm to watch the next episode of your favourite series but instead just downloading it to your home media centre and watching it in full HD quality.


So what are your thoughts? Do you agree with what I’ve said or think that I’ve overstepped the mark and jumped the gun? Let me know by leaving your comments below.