Monday 21 September 2015

What on earth is DEA?

Okay, So I've talked about the design process a little bit. Now I think it's time to talk about DEA! This is something I've been working with (on and off) for about 4 years.

To put it simply, DEA is a platform game that focuses on quick reactions and super-tight controls which assist in free-running your player all over the place. It draws inspiration from the golden classics such as Metroid and Castlevania, while throwing elements of WarioWare, Ratchet and Clank, Super Smash Bros, Hotline Miami and Dota 2 into the mix. The result is rather insane! As Drug Enforcement Astronauts, you must visit different planets and rid the galaxy of the evil space cartels who rule with an iron fist. Everything you do in this operation is "under the table", meaning that the politics and paperwork go out of the window. You're given the agency to choose what you deem ethical, whether that involves diplomacy, arrests, or good-old smashing doors down, guns blazing! Want a shady slice of the profit? Sure! Are you a self-righteous do-gooder? That's fine. Are you a violent psychopath who wants to murder all who oppose you? We've got you covered.

The game plays out best with friends - it's all about the local 4-player co-op! These are some of the agents you will play as:



Before each match, each player is given an equipment screen including all the loot they've pillaged throughout the campaign. Players are given 4 item slots (one always contains the scythe (which is vital)) and can use any combination of items as they please. I must stress that there really will be an awful lot of items to work with. Here's a few of the prototypes:



Items are divided into 5 categories:


  • Passives: Will provide a passive boost or passive aura just for being equipped.
  • Activates: Can be activated to provide some kind of effect. This could be some kind of boost, heal, force or effect on surroundings, such as changing gravity or weather.
  • Deployables: Can be deployed and used up once per level. Could include mounts, vehicles, dispensaries or props, to name a few.
  • Fixed Guns: These guns will fire forwards as you'd expect, just like something you'd see in MegaMan.
  • Pivot Guns: These guns will aim towards a cross-hair, allowing players to aim their fire with their mouse or right analogue stick.
It's worth noting that I've given each weapon three firing modes and the game is designed that way! Everything is better with 3 firing modes :D

I want to then start pushing the idea of asymmetric multiplayer, which is rarely seen nowadays. The premise is that each player can choose a loadout of 4 items before entering a mission, while all having hugely diverse and polarized roles. All of the players are quite welcome to go in guns blazing, but if you really want to maximize your chances of survival against the big-hitters, you'll need to mix up your game. I'm trying to encourage players to try different classes, and would like them to all be equally fun with a sense of agency! This means that you can mix things up, either applying yourself to recon and stealth, speed, finesse, gadgetry, electronics, diplomacy, medicine, or any other mixture of classes.

I want to create a blend of awesome teamwork, where one player can hypothetically scan rooms for hostiles, hack security systems and rewire defences, another can handle finances and diplomacy, another player could report sightings from HQ, or load up on brutal firepower and Judge Dredd (Yes, I used his name as a verb) the whole place, striking fear in the hearts of the astro-narcs.

The game is still heavily in the early stages of development, and much of the art is acting as a placeholder until it can be re-done. Here's a couple of early development videos. My proudest achievement at the moment is the responsive and diverse free-running system which is easy to learn and hard to master (Videos can be viewed in HD 60fps):







(I'm a massive Nintendo and Valve fanboy - as you may have guessed due to my never shutting up about them)


i herd u liek optimizations

Thursday 17 September 2015

Creating something feasible

Hello again! My thanks again if you're taking the time to read this. In this post, I'll be talking a little bit more about the design choices I made with my game, and also just giving a little introduction. So, without further adieu, I present to you:






Well, there's not much on show here. It's just a little concept art! After drafting up all kinds of ideas on paper with some uni flatmates, I finally found the time to start converting it into art. I'd considered all different mediums of art styles, but I decided to keep pixellated sprites and give them some bold, black outlines, to hearken back to the old days of 16-bit gaming. Of course, we're no longer in the 16-bit era, and this gave me all sorts of freedom to mix some really outlandish colour palettes together. I generally find that just making some screenies and conceptual art really helps drive you on, especially with the early stages of development.

Personally, I like to keep old versions of my projects so I can see my progress, so matter how small that progress may be. In an ideal world, I've always wanted to make a game like Wind Waker:



Wind Waker has a beautiful and immersive setting that draws players right in with its accessible and beautiful cel-shaded graphics and open world. I couldn't start with something like this, though. I mean, look at it! I'd need my own development team of 3D artists, conceptual artists, character designers, 3D animators, etc. Not feasible, but it's certainly something to consider in the future if I ever get the time and resources required!

I opted for a 2D platform game for a few reasons:


  1. 3D quite literally and figuratively adds a whole new dimension of complexity to game development (ie. A Z dimension).
  2. Sprites for a platformer only need to be drawn facing one direction. (Less time drawing art, more time adding meaningful content)
  3. There are some truly amazing platform games out there I'd like to draw inspiration from. 
  4. I have previous experience working with platform games!
Let's go into these reasons with a little more depth:

1.) 3D games are where it's at. There's no doubt that the vast majority of major titles these days are made in 3D at the very least. I suppose this is because the vast majority of people opt for realism and immersion. With the imminent rise of more powerful gaming platforms, this is pretty much expected to happen. However, more processing power doesn't just mean we should focus on graphics, and I think I, along with a large fan-base of retro game enthusiasts, appreciate that this extra processing can go into many other things besides fancy graphics. More power means we're given the freedom to create complex mathematical functions, boost up the amount of things going on, and also create bigger worlds, alongside a plethora of all kinds of other things. With this in mind, all my focus is going on creating a GameSpace which can support hundreds of props, monsters, bullets, traps, and more. Also, 3D can hinder some game genres. In a 3D world, you can see around your player, or from your player's perspective (in a first-person game). In a 2D world, you can see for miles in all directions and use this awareness to plan your next move. For the type of game I'm making, this is critical.

An example of 3D actually removing agency and meaningful decisions from the player can be applied to the stealth game genre. Does making a game 3D automatically make it better? Well, a common complaint and design constraint with developers comes along with stealth games. Stealth games can be brilliant, but they must be designed carefully, as it is all too easy to turn your audience right off! I could re-hash everything this guy says, or you could just watch a much better version of what I could possibly write here:


(Also, PLAY THIS GAME if you haven't already!)

2.) This is an interesting one. I originally planned on making a Zelda-style game with a bird's eye view, which can still be created in 2D. However, every sprite would need to be animated facing three different directions:



Ooooft! That looks like it's going to take a while! Think about it for a second. If the character moves up or down, they require an animation for walking up and down. If they move left or right, this can be flipped in the game engine or sprite sheet, meaning this animation really only has to be drawn one. Still, that's three sets of animations. What if I want to start adding all kinds of different attack animations? That's a hefty load of work for someone who just wants to design and program something fun. Doing the art is a necessity, but for my purposes, the art can be cut down.

Now let's look at sprites for a platform game:


That's more like it! They can be drawn and given various animations, and you only have to worry about drawing them once. They can then be flipped if facing left or right. I'm not saying platformers are the way to go all the time, but this seems logical to me for the time being!

3.) I've played so many platform games!! MegaMan, Metroid, Mario, CastleVania, Super Meat Boy, Broforce, Donkey Kong, Shank, Duck Game, Sonic, Limbo, James Pond, Bionic Commando, Metal Slug, Contra, Rayman - just to name a few! I practically have a PhD in what makes platform games fun. I have played them to death throughout my childhood right through to this current day! In picking something I'm passionate about, I can pick and choose my favourite bits and negate the things that annoy me. So I started thinking to myself: CastleVania would be cool with Sonic's speed. Super Meat Boy would be awesome with Metroid progression system. Imagine donkey Kong with Shank's intense combat experience! It's hard to run thin on ideas when it's a genre that you're generally so comfortable and at home with. All those years of wasted youth spent sat fixated on a screen, trying to beat Ridley or speed-run that extra hard unlockable level, are not actually wasted youth. All that time spent playing games is firing up your imagination and giving you all kinds of crazy and zany ideas for your own game. Stick to your strengths!

4.) This runs into the last point. I've developed a few platformers over the years and generally have a good understanding of them! I'm not bored of making them, either, so I have lots of room for innovation here!

If you're trying to think of an idea for your own game, you should throw all of these ideas into a pot and mix them up until you have your perfect game idea. If you're simply trying to recreate something, you should think to yourself, "am I pushing the genre further?". Why would someone want to play something that blatantly copies something that's already great? If you're planning on making a Sonic re-hash, but a version that cuts the content short, ask yourself why! We see this in Hollywood a lot.

They get some brilliant cult classic with incredible casting, acting and plot, like OldBoy,



then re-coat it with some magical American movie production pixie dust, and voila, it's crap:



Eeessshhh....

Not to say that you need to innovate the genre in some way. Purity is sometimes the best thing you can go for. But if you're making something simple, keep it tight and good in its own right!

That's all for today. Hope you learned something!


I herd u liek physics







Setting the groundwork

Hello to whoever may be reading! I would just like to thank you for taking an interest in my blog. Hopefully you shall be able to take away a few tips and pointers of your own if you're simply curious about the game development process or would like to design your own game. This first post is more about the game design process (not the programming side) and offers a more abstracted look at the whole development cycle. This is also aimed towards people who already have some form of programming experience. If you don't, it's important to make as many spare-time projects as you can and play around with different aspects of games. Play around and make some particle emitters, a little asteroid game, a custom menu, etc. If you try to build your first commercial game from 0 experience to completion, I do not envy the kind of Hell you're going to put yourself into!

Game development (programming) and game design (conceptual design) actually work hand-in-hand and complement each other beautifully. Now, when I talk about game design, I'm talking about the actual game and how it will play out. To a seasoned veteran who plays lots of games, some of this might appear to be common sense, but it goes a whole lot deeper than you could possibly imagine, so please bear with me and you'll soon reap the rewards! I generally don't have a whole lot of industry experience, but as someone who has released titles (right from the beginning to finished product), that at least puts me in some position to share my experiences and challenges I've faced.


When I show a software developer what I've created, they generally freak out a little bit at the scope of my creation. I'll get questions like "How did you manage that hierarchy?" or "Why did you do this THIS way instead of THAT way?" and I'll receive lots of interest. To someone who doesn't program, I can show them a buggy prototype which appears to run and show some pretty particle effects and get a load of praise for it, then show them some lovely little cohesively-designed class hierarchy or nice class for handling future additions, and I get this blank look of "That's about as interesting as a brick". It's almost a polar opposite reaction. Programmers don't get excited about something that looks pretty, but like to see what's under the bonnet (the code), while people who don't program just want instant gratification, and the fact that my game looks nothing like the latest AAA release tends to draw them away.


However, all good things take time. Unfortunately, if you're a programmer, good things don't take time - they consume every essence of your being! Its important to know what you're jumping into. When you start to create a game, every tiny, microscopic, unimportant, boring-as-hell little detail, is left to the programmer. You start at this point where you compile a little code and get a blank screen, then you figure out how to draw a square on the screen, then how to move this square a pixel or so. Eventually, you learn what seems at first an insurmountable amount of knowledge, and you will be surprised with what you have achieved. Everything has to start somewhere!


Anyway, I'm derailing a little bit, so I'll get back on topic. I always get ideas from people about games such as "A massive MMORPG with Morgan Freeman as the narrator and a million weapons and five-thousand playable classes". That's nice. Is it feasible, though? Yes, if you have a few million quid spare. I'm going on the assumption that if you're reading this, it's because you want to MAKE money, not because you HAVE money. You have to work with your strengths and fizzle out your weaknesses. I'm a very lucky guy, because I started drawing at a young age, and therefore am able to provide the art for my own game. However, I'm not exactly a 3D modeler, so if I decided to take on a new project, I wouldn't opt for 3D, because it's just not feasible. Not to say it couldn't be done, but it could take months or weeks just to make a 3D model, when all of that time could be put to something more productive.


This is where game design plays its part. If you have a good game design concept, it doesn't just mean that you should have thought of a good game idea, but should also mean that you've factored in all your strengths, weaknesses, free time and budget. Let's look at Tetris. When Tetris was created, there wasn't much processing power available at the time, and the idea of creating something of today's standards was something of a pipe dream. Instead, the designers looked at what hardware they had, thought really hard about it, then put a SIMPLE but EFFECTIVE idea into practice. Tetris has been a phenomenal success and that still holds true to this day. The graphics have barely changed, it doesn't have vast, procedurally-generated landscapes, super high-fidelity 4k textures or a consequence-based story with branching choices. It's just a great idea for a game and feels pure and untouched. It's an addictive concept that gives rise to all kinds of strategies that the original developer probably didn't even account for!


This brings me to my game project. I've been working on a prototype on and off for the best part of 4 years. As I started to draft up ideas for my next game, I had to take into account all my strengths and weaknesses:


Strengths:



  • I can draw pixel art
  • I'm somewhat good at C# programming
  • I have a computer and electricity mains
  • I have arms and hands (vital for typing)


Weaknesses:



  • I'm haplessly addicted to Dota 2
  • I'm scared of volcanoes
  • I can't draw ultra-realistic still-life drawings


This gave me somewhere to start. I'm by no means a veteran of programming and I have to know my limitations, but I have a roof over my head and a PC with Visual Studio installed on it. I decided to destroy any links to my weaknesses. Uninstall Dota 2 was first on my list. Also, I don't live in or near a volcano, so that's good. I also decided that the art direction would have to be abstract or cartoony in some aspect, and going for something gritty and life-like would be a large waste of time. Now, that's not to say I couldn't gradually develop these new skills, such as a fine eye for detail, but would these skills be necessary? Let's have a look at something:



Time is the ultimate currency. Want to get an education? That costs time. Want to earn money? That also costs time. Want to improve skills? Time! Something that, in my experience, indicates a good design choice, is when a developer is able to create the maximum amount of enjoyment from the minimum amount of development. This isn't to say that projects need to be rushed, but more that your time should be spent efficiently, almost like you're bartering money for a better deal, but with time instead. The deal is that you want something that plays well without breaking an arm and a leg to get to that point. Now, without rushing to conclusions, something worth playing needs all the love and care you can give it, but you need to be able to give it! One problem that arises in mainly the AAA industry is that the people behind the business don't tango with the developers too well. for example, the visionary may decide that a soldier, when running up stairs, MUST have his feet contacting every step on the way up to create extra realism. These people are working within a limited time frame on a limited budget, and to discredit the game's creator, he has little knowledge of how difficult this might be to program. It could involve all kinds of animation hitches, reworks, re-modelling and shuffling round code which was pristine and nice when left alone. This is very bad. This time could have been applied to creating something ten times as fun at a tenth of the cost (hypothetical, of course).

Things that may appear to "wow" crowds of people in games could be slow motion, mind-control, rewinding time, stat upgrades, etc. To the non-programmer, these could seem like feats of incomprehensible dark magic, when these could be generally very easy to add. But something as simple as realistic walking up steps could be nightmarish to a programmer. This is all because of how programming works and how the programmer is responsible for allocating memory and processing in the most elegant solution. This problem with communication is a huge gripe for many game programmers in the industry. No offense to the other people involved, but we all have our own areas of expertise for a reason, and you must trust our judgement!

The beauty of being an indie developer is that you don't have anybody to tell you what to do! If you have an idea, it's virtually always possible to convert your idea into a fully-functioning game/program. With power comes responsibility, and you definitely have enough responsibility to contend with! Ask yourself, will creating a 3D game really add to the experience? Will multiplying development time ten-fold pay off? Is it viable and will you see it through to completion? You're way more likely to impress somebody with a fully-finished product instead of a buggy code graveyard of broken dreams and ambition.

If you're mediocre at programming, but a great artist, maybe create a game with atmosphere that tells a story with its great scenery. If you're a champ at maths but can't draw, maybe consider some kind of Geometry shooter with minimalist graphics. If you want to develop a new area of understanding, make sure it's for a good cause!

Now here comes the shocker: a great game doesn't have to excel in EVERY area. By sticking to your strengths, you can truly showcase exactly what you're good at without watering it down with a terrible story or horrible soundtrack. I see this time and time again with games, where a solid game mechanic is put in place, to be totally ruined with some horrendously stiff voice acting. If you want to add a system, such as weapon upgrades or levelling, for example, make sure it's done right, or simply do not add it at all. Adding stuff for the sake of it diverts attention from the truly brilliant mechanics you may have added and dilutes the general experience. Your game doesn't even need a story. Tetris, Lumines, Mario (we all know the story doesn't really count), or Geometry Wars just jump you straight into the action (for the most part) and that is not a problem. A story wouldn't really enhance these games and wouldn't fit the aesthetic. Sometimes purity is best. Super Meat Boy doesn't have a story that induces buckets of tears, but it's extremely fun to play!

In summary: Work to your strengths and try not to include weaknesses. Don't add stuff if you're not happy with it or you feel it doesn't add any depth or fun to the experience. If you want to develop areas of knowledge, do so in knowing that it will be a vital part of the game!

I'd just like to leave you with this video series known as "Extra Credits". They give some fantastic insight into the game design process. Thanks for reading!!!!!!




The editor in action