Yesterday afternoon I had a meeting with a prospective supervisor about my dissertation idea. On the whole he like the whole designing a roguelike game but felt it was ‘lacking’ in uniqueness, designing a game is quite simple in regards to the grander scale of things, for example there may be lots of work but once you have the basics adding new things becomes a mundane task, for the most part I would agree with this. We sat and discussed ideas about how to bring this project up to scratch and make it something more, a few ideas were floated but two of them really stuck.
That’s right, this will no longer be a desktop game; at least not this incarnation of it. Designing the game on a modern technology helps make the project not only more complicated but unique, I’ve often sat playing a roguelike game thinking “This would be great on a mobile platform”, whether it is on mobile or handheld consoles. Looking at the market I can only find one or two games that currently exist, but the play style they have is very true to the roguelike genre, in the aspect that it’s all turn based; the game I want to make will be free flowing as The Binding of Isaac is.
Using Android also allows me to utilise some of the hardware that a mobile phone has, for example the accelerometer is just begging to be used for some sort of puzzle/challenge room. The weather application on the phone could be utilised to help create in-game weather and the phones clock could do day/night.
I’m both excited and nervous about using Android, on one hand this allows me to use a whole bunch of APIs that come with it; which allows me to be more creative with some of the room content, but on the other hand I haven’t got a clue how to use Android. I’m sure I can pick it up, but the task currently is quite daunting…not as daunting as the other idea that stuck.
Self-Learning Artificial Intelligence
Yeah…those were my thoughts too. Summarising in a nutshell, the AI of some of the mobs needs to learn how the user plays, it then needs use this information to update its own logic and respond accordingly. So let’s say Monster A attacks by creating a path to the player and once it is within its firing range, launches a bomb at the player. Now let’s say 70% of the time the play dodges to the left, Monster A will need to be able to understand this, perhaps the updated AI could fire the bomb slightly more to the left, perhaps it could fire two bombs, one normally and one to the left, perhaps it could move left and then fire. All these are just some of the possible ways for the AI could react.
How I actually go about doing this is beyond me right now, I’m going to have to do a lot of research into the area as I know self-learning AI has been done before, hopefully I can find a creative and unique way to implement this concept into a game.
Android tutorials, lots and lots of Android tutorials…
It’s been awhile since I last made a post, this is partially down to my negligence but also due to my third year of university starting. I’ve been occupied with getting back into the swing of studies as well taking archery and surfing lessons. I will be posting more regularly as my dissertation requires me to keep a form of diary that logs everything I do towards it, thus making the write up at the end a lot easier to complete.
This post is mainly about my dissertation and the idea I have for it, but I will say one thing on Dragons at Dawn before then. Since I was not able to complete Dragons at Dawn before third year started it does mean that I will have to put development of it on hold for now, I will return to Dragons at Dawn someday as it is a project I am still eager to complete.
So, my dissertation idea. It’s a game. Big surprise right? Well, the idea I have submitted is a game, it still requires approval and for a supervisor to take me up on my idea, if they don’t then I don’t really know what I am going to do as none of the proposed ideas took my fancy. The idea for the game I have is to be a roguelike/rpg. I have had a lot of fun recently playing games like The Binding of Isaac and FTL: Faster Than Light and I’d really like to have a crack at the whip and come up with my own one. I’m still not 100% sure on the theme yet, but it will most likely contain robots as they give me greater customisation in character design, also I can draw robots whereas I struggle with drawing people. I have asked if it’s possible to outsource on this project, art and sound are not my forte and I know people who are much more talented than I in those fields, if I am then that will make the game a whole lot better.
I’m still fleshing out the final game but here are some ideas that I have so far, feel free to leave a comment for any ideas that you think would add to the game.
- Randomly Generated Items & Levels: You will never have two playthroughs the same, each game will have different rooms in different orders containing different Mobs/Items/????
- Limited Inventory: Makes you really think about what items to take and what items to leave behind.
- Magic/Magicka: Special abilities that you have limited use over but may well save your arse in a tight bind.
- Hard Mobs: I want you to fear the monsters you fight, I won’t make them just have a stupidly high amount of health, but have unique AI’s that make them tricky to fight.
- Stupidly Hard Boss Fights: I want you to feel like you have really achieved something if you beat a boss.
- Character Customisation: Every Time you pick up a new item, your characters appearance changes based on that.
- Hundreds Of Items: I want there to be so many different items in the game, that even after playing through it several times until the end you may not have found all of the items.
Looking at the date of my last blog post and comparing it to today’s date, I took longer off then I had previously intended. I blame this entirely on Valve and their Team Fortress 2 game, which I have become addicted to playing again.
Today however I did make some more progress with the game, I decided to implement the code for the boss monsters, and this involved creating unique AI for the boss as well as its own separate set of projectiles. I was having an issue earlier today that took me a few hours to overcome, basically I was telling the boss’s fireball AI that if it collides with the player, damage the player. When testing the code it wasn’t registering at all and the fireballs were passing straight through the player. After a couple of hours of shouting at my screen it dawned on me, I had this problem before.
Turns out that I needed to go back to the player class and add fireballs to the list of entities that the player can collide with, once I added this in all was right in the world, well at least in my code. The moral of this story is that I should really comment my code better, a lot better.
There hasn’t been any new posts on this blog for a while about Dragons at Dawn development or anything else in general, for once this isn’t down to me getting bored with blogging. I’ve effectively been on three holidays in a row, I’m now exhausted and need time to rest!
The first holiday was a camping trip to North Wales, the main highlight of the trip was that I climbed Snowdon Mountain, I’m glad I was able to do it as last time I went there I was only about 7 years old and I took the train up, so I couldn’t really say I’d climbed it until now.
The second and third holiday was with university friends, first we went to Belgium for a long weekend and then we went to an Anime Convention pretty much straight away afterwards, both of these were really fun and I had a good time wondering the streets of Belgium looking at all the sites, except for the one day when we went to a Häagen-Dazs restaurant and I ate too much ice cream and waffles and ended up feeling sick for a several hours afterwards! The Anime Convention was also really fun, it was my first time attending one and I would recommend it anyone, there is so much stuff going on all the time that there is pretty much something for everyone, whether you want to learn out to play Yu-Gi-Oh Cards, learn how to make a fursuit or just play strangers at video games. The main guests at the convention were the “UK Abridgers” and whenever I saw them at a panel they were really funny!
In all I had a good time, but those good times are over now and once I have taken a few days to rest I’ll attempt to get back into the swing of Dragons at Dawn Development. I am also expecting the arrival of my Hexy Robot this month so expect updates about me building that and then I have my third year of university starting up at the end of the month, so expect blog posts along the line of “OH GOD WHAT THE HELL IS THIS AND HOW DO I CODE IT!?”.
I’m away on holiday at the moment so I haven’t had any time to work on Dragons at Dawn, so I thought I would take this time to talk to you about the OUYA.
The OUYA is a new kind of video game console that will apparently revolutionise the television! The main idea behind the OUYA is to allow indie developers a chance to get their games into the living rooms of gamers, to do this the OUYA has been made open source, this means that you are free to do what you want with it, whether it be to make your own game, modify the software running on the OUYA or simply upgrade the hardware inside, all of this is possible and in most cases suggested by the developers! They’ve even gone on record saying that hacking the OUYA will not void the warranty.
There will be an exclusive store for applications and games designed specifically for the OUYA and all the games will be free-to-play (Team Fortress 2 style), whether it be completely free or have in things in game that you can purchase, such as hats, levels or new characters. The actual size of the console is expected to be around the size of a Rubik’s cube, which means that you can easily pick it up and take it over a friend’s house if you wanted.
I was lucky enough to check Kickstarter early one morning to find this project in its early hours of launch, I was so impressed with what it had to offer I quickly snapped up one of the early bird options. I find the idea of the OUYA being a home media centre more interesting the gaming side, but that isn’t to say that I won’t play games on it. Being an early bird I get my console a month earlier then everyone else, so expect to see more updates about the OUYA when it arrives.
Full OUYA Specifications
- Nvidia Tegra 3 (T33) SoC
- 1 GB RAM
- 8 GB of internal flash storage
- HDMI connection to the TV, with support for up to 1080p HD
- Wi-Fi 802.11 b/g/n
- Bluetooth LE 4.0
- Ethernet port
- One USB 2.0
- Wireless controller sporting two analog sticks, d-pad, eight action buttons, a system button, and touchpad
- Android 4.0 “Ice Cream Sandwich”
I realised the other day that I haven’t posted a Dragons at Dawn update in a while, this isn’t because I haven’t been working on it and therefore have nothing to show, it’s in fact been the opposite!
I don’t want to give too much away from what I’ve been working on as it kind of all goes together in one big update, so I will leave you with a sneak peak of the new level design I have been working on. The design is supposed to represent a form of hell and we all know what exists in hell; bad things!
(Due to moving blogs I have lost the original image)
Since I’ve started making small games I’ve found myself being asked by a few people, “How do I make my own game?”.
The hardest part about making your own game, at least I find, is coming up with an idea that will keep your interest. After making the browser version of Dragons at Dawn I found myself starting about five or six different projects, but I got bored of them all and moved on to something else, keeping your interest is vital as you will be spending a lot of time with that idea.
Two of these tools that I have used in the past and recommend are GameMaker and Construct 2. If I had to choose one of them, I’d go with Construct 2 as the interface is a lot nicer to use, also the tutorials are pretty ace. Whichever one you choose, or even if you find another, you should practice making as many different types of games in them as you can; I usually like to follow the basic tutorials and then add to them once they are over. If you follow the beginners tutorial for Construct 2 you’ll find yourself making an alien shooter, that’s what I did here, once I completed the tutorial I went and added some more stuff to it.
Once you’re happy making games with the help of these types of programs then you can think about picking up a programming language, for learning programming languages I couldn’t recommend Bucky from thenewboston more. Yes his teaching style is a little odd but you get the chance to program along with him and he even has some tutorials on making your own game.
Now I’m not saying that what I have said above is the be all and end all of learning how to make your own game, everybody learns differently and it’s important that you learn in a way that you are happy with, you might feel confident enough to dive right in to the programming side and not bother with programs like GameMaker, just find a way that you are happy to learn in and you’ll soon be churning out those games!
A while ago Google announced that iGoogle will be discontinued, unlike previous Google products that have been discontinued (anyone remember Wave?) I actually use this product.
iGoogle simply allows you to collate all your RSS feeds into one simple webpage, most use it as a homepage so that when they loaded their browser for the first time of the day they could see if any of their favourite websites had any new articles, web comics or news. Sadly this is going to be taken away from us and you will now have to manually check each of those websites one by one to see if there is an update, which is very time consuming.
The other day I was asked if I could remake iGoogle, my immediate reaction was “no”, after all it’s a Google product there is bound to be thousands of lines of code behind it and it would be way beyond anything I could do, but then I thought about it some more, it really is only a drag and drop RSS feeder, I COULD do that! So I’ve been asking around and it would seem that people do still want something similar to iGoogle as a homepage.
I’ll be honest; I haven’t done much work on Dragons at Dawn over the last week. This isn’t due to me getting bored with the project but a little obsessed with some other games, which is rare for me as I find myself playing new games less and less these days. The games I got a little obsessed with were Minecraft and Team Fortress 2, both received large updates recently and I found myself playing them rather than developing Dragons at Dawn, however the initial urge to play these games has died down and I found myself working on Dragons at Dawn again today.
Since I hadn’t worked on the game for a few days, I found myself going through the code at first to remind myself of how the game works, after doing this I managed to optimise the code a little bit as well as performing a general tidy up. For some odd reason I had code doing the exact same thing twice but in two different places, I’m not sure how I ever managed to end up coding that but I’ll have to keep an eye out to make sure I don’t do it again.
I then moved on to progressing with the projected and added in some new upgradable stats, these were “Fire Rate”, “Fire Limit” and “Fire Speed”. I feel that giving the player the option to update these stats gives the player more choice over how they want to play the game, hopefully giving more reply value.
Hopefully tomorrow I’ll be able to make even more progress and give more of an update of the game, I really am not very far away from an Alpha release, which is a bit nerve-racking as I’m not sure what people will think of the game, yes the browser version of the game was liked but this is very much different so far, I’m not sure how people will feel about it being a desktop game for one, I guess we’ll see…
A while ago I got into the whole Kickstarter crowd funding thing, the first project I backed was Wasteland 2, a sequel to the original Wasteland game which is the father of all Post-Apocalyptic RPG’s (such as Fallout). Soon after backing that project I found Hexy.
Hexy is a six legged robot that brings learning hardware to the masses at low cost. Since being at Aberystwyth University I have had the chance to learn many skills such as Web Design, Programming and Networking. One area that I haven’t managed to get into is hardware. Since I was young I always enjoyed building things especially with Lego and Technics however as I have got older I’ve found myself building things less and less, so as soon as I saw Hexy I jumped at the opportunity to get one and hopefully get myself back into building things again.
I am expecting Hexy to arrive sometime during September and hopefully I will documenting the build on this blog. I have purchased an unbuilt version of Hexy as I feel that building it will be one of the best parts, once it’s built I will then begin coding the hexapod to do various different tasks.
Hexy Kickstarter Page