Thursday, 5 July 2012

That Pixel Sure Is a Puzzler

My break did not work exactly as planned, I ended up working on the game while I was suppose to be on the break and then took a break once I was originally suppose to start working on the game again... does that even make sense.

The good news is that I've got quite a bit of the games framework done already and mostly what is left is just game logic. I have also duped my girlfriend into doing the art for the game, so making games will now qualify as "time together", which in turn means there will actually be time for me to finish this game in my life-time.

I have also been experimenting with some ideas and it could be that the camera angle will change quite a bit, as I am leaning towards a more overt pixel-art style and feel for the game. This of course means that I will have to re-write some of the tile engine, but I will talk about that once the design changes are a bit more final.

TL;DR: Pixels!



Thursday, 8 March 2012

Explaining the Blobs and Surprising Connections

TLDR: We the Blob is gonna be online multi-player and its actually going well so far.

We the Blob (WtB). Now isn't that a good title for a game? Says it all really; there are blobs and it kind of hints at being multi-player... okay well maybe it doesn't say it all.

The idea for WtB really came from wanting to create a fun but simple puzzle game for my Games Engineering module at University. I came up with the simple idea of having some sort of blobs that you collected and combined to get points, I called it blob hunter at first. I took this idea to my partner in crime Simon ( as we had to create the games in pairs) and he brainstormed on the colour aspect of the idea. He came up with bunch of great ideas, some manageable, some less so.

In the end I took these ideas and moulded them into a game concept I called Me the Blob. I.e. now you actually were a blob and you had to change colour to solve puzzles. This mostly involved “eating” smaller blobs of certain colour and then being able to go through barriers or “doors” of the same colour.

Can’t remember why, but for some reason I turned Me into We and created two blobs with different skills that would need to co-operate and help each other to solve puzzles (all on one keyboard I would like to point out). I think it was Simon who came up with the names Mass and Pass for the blobs. Mass was a heavy blob that was able to push blocks (of the same colour as him/her/it) and Pass had arms and was able to grab minor blobs and toss them over walls and obstacles. The two blobs could also combine into one, combining both skills and the colours they possessed (i.e. blue blob + red blob = purple mega blob). To move the mega blob both players had to move into the same direction at the same time.

That was the basic gist of it. There were plans to add more stuff into the game (like pressure plates and enemies), but due to time constraints they were never implemented or really completely thought through. Also because of the work load I had during that semester I ended up writing most of the actual game (excluding the engine we built as part of the practicals) in three days. So as you might guess, me doing my very first game for a coursework project and doing it in three days; the code was not pretty. Which is why I have now decided to start the whole project from scratch.

Also one of the main problems with playing WtB locally (on one keyboard), was that only one of you could really move at once (at least on my crappy keyboard). This is why for the past week or so I’ve been looking at how to do a proper multiplayer game over the internets you see. To my surprise it looks pretty doable.

I’m looking to use Lidgren’s XNA networking library and I’ve been following this cracking tutorial for how to do it all properly. Saying all that I will be taking a small break from trying to get a "game" up and running, as I need to finish some honours project work for next week and after that have a couple major pieces of coursework to do as well, but will continue looking into this after a couple weeks hiatus.

Edit: Got bored today of reading stuff so went back to the game for a bit and got it all working. By working I mean, that it runs and all there is to do is move a character about, but I did get the animation of the characters to work as well and after a couple hours of figuring out how messages are sent between the server and the clients got the animations to actually come up on both machines (not just the local machine!!). So pretty chuffed with that, especially as it hasn't taken that long to get to this point, I am also using parts of the game engine I built when following the tutorial I mentioned before on this blog, and that is really where most of my time has gone, just tweaking the AnimatedSprite class etc. to get them to work with this newfangled Host/Client structure I'm working on.

Well as I said, not gonna work on this for a few weeks now, but really looking forward to getting some time off just to concentrate on this. Starting to feel pretty good at the prospect of actually getting this re-make released at some point.

Wednesday, 29 February 2012

Back from holidays?

TLDR: I'm back, gonna remake my first game.

So yeah finally back from my holidays. Just joshing, I've been quite busy with University work so haven't had time to think about games never mind updating this site. I did start up a project for a turn-based game that I want to make some day, but that day is not now or anytime in the near future. Biggest reason for not doing any games for now is that I am on my last year of Uni, and in the middle of doing some background research for my honours project (dissertation, or what ever you want to call it).

As for what happened to my android game, which I ended up calling Run Boy (instead of blob). Well as a piece of coursework it went really well, I got like a 91.6% mark for it or something stupid like that, which was then dragged way down by my actual report on it and software design documentation + exam. Also to put that mark into context, anything above 70% is classed as a first (so it's pretty good). So while it might have been exceptionally good as a piece of coursework, didn't mean it was a very good game.

Well it was okay, pretty good actually if not somewhat simple. It's just that it needs a bit of work before I would be completely happy sharing the code with anyone, and a hell of a lot of work for me to actually release it as a game (as it was really made to just work on the emulator). But as might be apparent from the above I don't actually have that much spare time these days, this together with the fact that I don't actually have access to an android phone and I got a bit sick of the coursework means that I won't be putting this work in just now.

I did the same with my first game, I worked pretty solidly on it for weeks, got it handed in and because I thought of it as a piece of coursework got sick of it and left it. But this wont happen again, well it will but slightly differently. Let me explain by going through the through process I've had in the last few weeks:

1. I'm sick of this coursework game I never really wanted to make in the first place.
2. I want to make a game that I actually want to make.
3. I don't have time to make this really big turn-based combat game with a realistic simulated world.
4. I should maybe think of some games with much smaller scope to make first, especially now that I won't have much spare time for a while.
5. I should make some sort of quick and dirty puzzle game, I like puzzle games.
6. Wasn't my first game (We the Blob) a puzzle game, why didn't I ever properly finish it.

So yeah, now that I've had some time away from my first "coursework game", I feel like it is a game that I want to do again. I always liked the idea behind it and it is sort of simple enough for me to only work on it every now and then and maybe even get it finished sometime this year. After I've remade WtB I will probably come back to Run Boy as well and give it the time it deserves.

So yeah that is my plan as far as making games again is concerned, and my next update (when ever that is) will explain a bit more thoroughly what We the Blob actually is, and what I plan to do with it.

Saturday, 17 December 2011

Break for the holiday

Finally done for the year. Been really busy reading for exams the past two weeks and handing in coursework the two weeks prior to that, so have not had time to write here. I am now just letting you know there won't be any new updates most likely until after the new year, as I am off to Lapland for my holidays. Not because it is the latest trend or because I really want to see Santa (okay it's partly because of that), but because that is where I'm from, i.e. I'm going home for the holidays.

So take care and have a Merry Christmas/Hanukkah/Eid/Yule/Kwanzaa/etc.

Saturday, 22 October 2011

Update!

Okay time for an update. I wish I could just say that I am done already but unfortunately that is not the case. Last week I got bunch of stuff done, but not as much as I was hoping and this week I have been doing everything but programming. Coursework for Software Engineering (UML and stuff) got handed out, so I spent most of the week on that. Fortunately I got it done yesterday (and handed in), but on the down side it was only part 1 of 3.

On the upside again, I can only start the second part 2 once they have marked my hand in, which gives me about a week to finish of my android game. All I really need to do anymore is just finish of the 2 mob types which are both half implemented already and then it is just to build a level out of all the stuff I have already done. Which should not take me any longer than 3 days tops, but need to see if anything unexpected occurs, like the coursework for software development 3 gets handed out.

But if everything goes as planned I will have the game done by the end of next week, by which I of course that mean the first prototype version of it will be done by next week. This means that instead of writing what I will be working on I will be writing a bit more detail on what I actually did write and more on the actual gameplay design. I can't put the game up for download just yet tho, as I don't want other people from my course stumbling onto this blog and just downloading a finished coursework, so I will wait until the end of the semester before putting it up. We were actually told of a student that stored his coursework code on GoogleCode (which is meant for open source projects), meaning that everyone could download his code freely (and many did). I plan not to repeat his mistake, but I do also plan to put my code up on GoogleCode (after this semester), so if someone does have a interest in seeing the code and modifying it for their own purposes they will be able to do so.

At the start I said that I had basically done everything but programming this week, but that was more or less a lie. I've started reading a book on C++ (and following the examples) during the mornings when I have an hour or two to spare before I have to take the bus to Uni. I have basically decided that I won't be using Xna for my games, and instead learn either OpenGL or DirectX (and C++ of course). One of the biggest reasons I had decided to do Xna was because I thought the learning curve of learning OpenGL or DirectX would not be worth my while for the type of games I wanted to create. I also wanted my first few games to be created somewhat fast, so I did not want the creation of them be slowed down by having to learn extra stuff (that Xna takes care of). But as I have used OpenGL for this android game I have been developing I have realized that in a simple little 2D game like the ones I am first going to be making the amount OpenGL to learn is pretty minimal. So rather than first getting used to making games with Xna and then learning how to do games properly, I will just jump into making my first game (after this android game) in C++ and either OpenGL or DirectX. I have yet to decide which one I want to go with, and keep changing my mind which one would be best. Pros for OpenGL are that it is cross-platform, in case I want my games to run on linux or other OS's, also I have started to already learn the basics doing android development. Pros for DirectX is that all books that I have found on games programming have been in DirectX and it just seems to be the choice most people go for proper games development, which in turn would mean more support and more stuff found by googling. So yeah I might be leaning a bit more towards OpenGL at the moment, but I haven't done a proper analysis on the matter yet.

Anyway that is my update for the whole week, which is why it came out quite long, and hopefully next week I will have something to actually show (images and design document).

Monday, 10 October 2011

Scrolling with the Homies

Didn't get much done today as was expected, but I still had a few minutes to restructure the way input was handled, which allowed me to add in a Camera class so I could finally start implement scrolling. To start with I was confused as fuck as how to implement it. Still not completely used to the OpenGL way of doing things, but a few idiotic mistakes and 30 minutes later it was all working.

This is really as good of a start for the week as I could have hoped for, if I can get everything else implemented as fast as I did scrolling and the input handler I have nothing to worry about for the rest of the week. The only thing that is giving me slight concern is the speed the application is running on my emulator. Something I noticed the very first time I used the emulator was that it runs pretty slowly even when doing the most simplest of things, and now that I am actually running a full tile engine it slows to a crawl. Need to see how it runs on the computers at Uni or my desktop before I get too worried about it though.

That's about it for today, tomorrow I have Uni from 9 til 6 so not much time again to work on the game, but if I remember I will take my laptop with me to Uni so I can work on it during my lunch and boring lectures/practicals.

Cya.


Sunday, 9 October 2011

"Half Done"

Okay so I ended up working over the weekend anyway. The missus went to Glasgow for an all day shopping/drinking trip so I thought I might as well start work on Run Blob. I got bunch of structural stuff done, like a level managing thingy, which helped me add in collision detection. Of course I broke the collision detection just a few minutes ago in order to add animated sprites in. Well it still works, but not for animated sprites, and my brain is too exhausted for me to go and restructure the code.

Tomorrow I will have a League of Legends gaming day with a couple friends, so don't know how much I will get done but I will try to do something. Hopefully I have the motivation to do a screen management system because after that I would have all the structural stuff done. Other than that I only need to figure out how to implement the screen inputs (the way I am doing it at the moment is not very good) and add in scrolling (which is already half implemented anyway). After that I am implementing 2 mobs, a electric ball thing and a big rock thingy that rolls. Once I've got all that implemented I will see how much time I have left and depending on coursework for other modules I might be adding more stuff in, I have an idea for a third mob type and a couple block pushing puzzles (which would mean adding in a push ability). The only reason I am hesitant in adding abilities is because I can't really have button pushes as part of the input, so need to come up with an ability that does not require you to do anything except move. This is because am using purely touch screen to do the input and using an Android emulator I can only do one thing at a time, can't do double thumb controls using just one mouse. Quite a big drawback but I quite like the idea of simple controls so if the game can be played using just one finger/mouse it's not all bad.

I hope I get as much done next week as I did this week, because if I do I could be done with the whole coursework by the end of the week, not likely but possible, which would give me another 3 weeks before I actually need to hand it in :)

Well until next time,

Cya.