[font=arial]Even now as I sit here typing, I am contemplating the future of my life, the weather outside, what that noise down the hallway was and what I have just taken a sip out of my cup (it was awful). But one thing I'm not currently contemplating is the direction of my game. That was an affair I had several weeks ago. My game took a slight shift not so long ago due to that fun stage of prototyping, where things look shiny and full of hope, but in a some cases there's that slight itch that you just cannot scratch and think to yourself, something isn't right. Now, for a very fast and brief recap and because supposedly an image is worth a 1000 words;[/font]
[font=arial]This is what the game roughly used to look like. A top down, programmer picked art shooter. Now the shooting was semi-fun, it had its quirks, but it worked and just needed some tweaking. What didn't work was the visual representation of the game, enemies didn't really vary much even with my ripped art of colourful copypasta, and there wasn't much to the environments that couldn't be appreciated unless you twisted your head at dangerous neck levels. So I sat down, had a little think and decided to play a couple of games I picked up in some sales. None of them actually helped me of course because they weren't even the same genre, it was Christmas. But on a serious note I did decide to play a couple of games that did have the elements I was looking for, Diablo, Torchlight etc. The isometric, slightly above being watched from across the street with a camera works for these games, you can see details in the environment, but the enemies still remain the focus and can be seen easily in detail as well. So it goes without saying that my game is now following the footsteps of games before it.[/font]
[font=arial]So I present to you, another image;[/font] [font=arial][sharedmedia=gallery:images:5997][/font]
[font=arial]OK it's a little high up and at a very odd angle compared to most, but that's the beauty of prototyping right? But you can very quickly distinguish what kind of game this is? You automatically (hopefully?) recognise the genre. You know the games it is inspired by and hopefully from that I may of caught peoples interest slightly. I am all for trying to be different, but I shouldn't be for the sake of it. Personally I believe my error was taking some of my favourite games and mashing them together into a format that's less than ideal, something that makes it feel wrong. It should be important to note I am talking about the way the game is presented still. Now there are obviously still potential problems, like what's in that room above, I don't know because there's a wall in the way, although arguably if it was first person then you can't see that room anyway, but I digress. It's something I don't think I can fully solve until I am collaborating with an Artist, but it's definitely there on a list of things that needs some attention.[/font] [font=arial]Now, you can see that there is an item on the floor, it has an item label, is it good loot? Maybe, it's colour coded and sounds like it might be good![/font] [font=arial]Now you may be asking, (or not, let's assume you did ) what is that green and pink neon paint on the walls? That's actually blood, inspired by various media such as Danganronpa, Sin City etc. I wanted something that's quite striking contrast wise and is something I will put ahead to any artists that hops on board this crazy project.[/font]
[font=arial]Now, there's still very little going on in that image, it is literally 2 rooms, an item, 2 characters and 2 splats of blood. But you know (again, hopefully!) what type of game this is and I think that's something I missed originally and is really important. The itch that once was is now scratched and I can carry on concentrating on the the other features of the game that the player is probably going to be more judgemental on.[/font]
[font=arial]The core concept of the game still hasn't changed and the ideas I have that I think will make this different are still planned. Although admittedly when I recently learnt how Path of Exile worked I did become a little disheartened because it has a system that is very similar to the one I've designed unbeknownst to theirs (I honestly didn't know their game existed until recently). But should that stop me? No, South Park episode "Simpsons Already Did It" pretty much sums it up, someone before has bound to of done it so why worry? As long as my system works and is fun, then that is what matters to me. Yes it can be argued that it may be better to have something completely original, but then the games development would probably be extended by several months if not years until I get an original idea, which knowing my luck someone else will also come up with the same idea in that time frame...[/font]
[font=arial]So where am I going from here, well by the end of January I am aiming for a small but playable demo for the game that I can use as a recruitment tool and get more people on board and also just to get people interested in the game. I recently put everything I can think of feature wise that would need to be done by release and that currently stands at 400 or so items so my work is definitely cut out for me, but for this demo I think I am aiming for a mere fraction of that (I need to make that list...) This does exclude any artist work so that list will definitely increase but so be it.
Anyway that's it for now I think, thank you for reading if you made it this far and I hope you had a happy new year![/font]
So really it's about time I started working on some core mechanics and being able to play test things to see if they're actually fun, and AI is quite a big part of that. I understand some principals of pathfinding but never actually attempted it so this was a pretty interesting (and enjoyable) exercise for me. For this I needed a new playground to be able to really test the system I was about to put in place... so here it is!
[sharedmedia=gallery:images:5710] It has some walls, some areas without floor tiles and some stairs etc, this is enough for now for the basic set-up methinks! So firstly I need some nodes and there's several ways I can do this:
The floor tile prefab has nodes as children
Generate the nodes automatically
Do it manually (ALL OF THE NOPE!)
Having the floor tiles as the parent of nodes would be convenient but several things would still need to happen, such as linking nodes to their neighbours. Doing this manually would just take too long and would be prone to errors, I could write a tool but then why not just generate the nodes with that as well? Generating the nodes would be quick and easy, I can link them all up and get consistent results across all maps and levels. I could make it customisable as well with settings to make it any size I want.
So the end result is this! Each square represents a node to be used in pathfinding and it's 2x2 nodes per "floor tile". Maybe I should have mentioned it earlier but I am using A*, but I am continuously doing research and reading up on the subject and I'm finding out new things all the time so there may be a combination of systems in the end product. Influence mapping is something I really want to implement as part of it because the game would benefit greatly from it the longer it goes on ;D [sharedmedia=gallery:images:5711]
This is 5x5 nodes per floor tile, which so far is the amount I am leaning towards for the majority of the maps. I can choose the amount of nodes I want per floor tile (the density) when I generate them, so that is awfully convenient. [sharedmedia=gallery:images:5712]
I eventually ran into the problem of what to do between the layers of the level and how to have the AI traverse it. I did experiment with a combination of the earlier mentioned techniques, one being having the stairs prefab with nodes as its children and hooking it up manually to neighbouring nodes, but that would grow tedious even with the smaller amount of nodes to deal with. So I didn't go for that either, it's just best if I automate it as much as I can, so what did I do? Using each stair object in the scene, I took the origin of the stairs and which direction going up they were to start off, from here I know where the nodes should be that intersect with the bottom and top of the stairs due to everything being in a fixed position. I locate the first node that is "highest" on the y-axis and work my way down using it's stored southern neighbour to get the rest at the top and bottom of the stairs. It's then a simple case of just neighbouring those nodes together to pair the top and bottom layers of the map via the stairs and also enabling them for pathfinding.
And that's it! It works really well and the AI happily goes up the stairs to reach a given destination. The only thing I need to do now is have some reminder to tell myself to regenerate the nodes if the levels geometry is changed, because that has given some interesting results when the AI has used old data xD [sharedmedia=gallery:images:5713]
It may or may not be the most elegant system (or even how you are supposed to do it xD), but it works really well and gives fast results that I am (so far) happy with
And to finish off here is a little extra something, I like to test out ideas for maps or locations and wondered what it'd be like to walk over some traffic that gives some life to the city. Think of it like, concepting some locations in the game. (Hopefully youtube works at time of publish?)
I did start off saying that I'd try and post once a week but various things in life got in the way and I just unfortunately had no time to do so let alone have much time to work. But most of the problems are now over and I have lots of time again, it's also been way over a month now and there's one or two things that have changed.
Going to new heights
I did a little play testing in an area I made and the geometry was just... boring. Not due to its layout or the fact it was quite simple, but due to it just being mostly on one level, one set height. I always wanted several heights but I was going to have it via elevators or something, so it's still basically one height. I also ran into the problem that the level editor I had built is just not suitable for something on different layers to the detail I wanted it, I needed stairs... So I decided to rethink how levels are constructed. The resulting method will take me longer but also allows for the possibility of more interesting environments.
It's quite a simple example but it's nice to get a new perspective of things ;D (Dat stretched texture!)
So with my old editor I had various checkboxes that show where a floor is located, it then generated all of the walls automatically, deleted missing ones, added new etc. It was pretty useful! But it didn't allow for anything super complex, what you see is what you get. I could still use the tool to create layouts and then edit levels manually, but I still needed something that's easy to use when I do edit manually. Quick reminder what the old editor looked like:
That's where snapping comes in, good ol' snapping. I can now create pretty much any layout I want, it's so simple and basic but I love it. Now that I can have different heights there is a slight issue, what happens if there is an entire floor above the player? I'd need to hide it, so organising layers would be pretty useful so that's what I've done ;P
For example, in the below image I've selected Layer 1 who is the parent of any object at a set given height (with the stairs being a bug, they need to be visible on two layers). In theory I can now just hide one layer depending where the player is and it's all sorted. Great! When moving objects via snapping it also automatically sorts that object into the appropriate layer as well so I don't even need to worry about that.
That's all I have for this week, little less than I hoped but ah well , things are progressing well and hopefully I will be able to show some gameplay in the near future, although I am concentrating on the story this week as I finally have an idea that I'm quite excited about. Oh and Unity 4.6 UI stuff, experimenting to see what I can do with them too of course :D. Thanks for reading!
A bit later than I planned but I was still unsure of things, but ah well. Plus gamescom stuff got in the way! (Also everything shown is very very early, as in a week or two of prototyping etc!)
So I said last week that I was working on a "[color=rgb(40,40,40)][font=arial]top down shooter with rpg elements set in a sci-fi like city influenced by various media", the influences being GTA 1 and 2, Borderlands, Diablo 3, Ghost in the Shell and Deus Ex etc. The influences from GTA are pretty clear once you see the screenshot but that's pretty much where it ends. While the mega drive was my first console, the PS1 is what I grew up with and if I can make a game that has the look and feel of a game from that era, I'll be very happy and is what I am currently aiming for.[/font][/color]
Naturally ripped graphics crudely put together, but this was just me trying to get the look down and explain to my artists what I was looking for. I'm not great at explaining things (that may become evident in this journal) and there was a mood-board somewhere of games and styles that I liked, but this seemed to do the trick. I wanted the sense of depth with over hanging objects and lights giving the feeling of a fully living environment. Although it's hard to explain with a screenshot, the lights have randomly generated behaviour and act differently (flickering etc) that is different every time you play and react to time of day etc if told to. It's just small details that I experimented with to try and immerse myself in an environment.
I was going to talk about sound but I'll wait till I can get a video up to demonstrate it (my net is horrifically slow at uploading). But I really liked it in games such as Saints Row 1, where you walk past a car and you can hear the heavy muffled bass coming from inside or you walked past buildings where it has ambient sound specific to that location. But I want to use such a system extensively to really immerse the player in the world and if they rather listen to something, then maybe have a radio as some equipment!
The above screenshot was done by hand (all the tiles placed one by one) and was of course beyond tedious so to make level layouts quicker to edit and create, a quick tool was thrown together which works perfectly.
Checkboxes display where a floor tile is, walls are then calculated based off that data. It's simple but effective, but needs expansion as I get more ideas such as height layers etc. I am playing around with the idea of randomly generated "dungeons", but I think I would rather have randomly generated content and challenges inside pre-existing layouts instead. It kind of gives a false sense of security, you think you know the area well but its inhabitants may have changed that leave unexpected surprises for the player
So far all I have talked about is immersion, a little a bit about tools and very little about gameplay, but to me atmosphere is really important, it's one of the things I love in games. I love exploring worlds in games and being fully immersed, also as I've nearly nailed the look and feel I want I found it easier to talk about! But that's not to say I've been ignoring gameplay, that's definitely being worked on but it's not final and I'm not entirely too happy with it yet. But here's a little bit about it:
The numbers on the character in the first image is damage, as said it has rpg elements so shooting someone isn't necessarily going to kill someone outright. It will all depend on what equipment you have and how much you have customised it to the situation or your play style (and also the enemies gear and play style ;D). Change your entire arm into a built in gun for example, with automatic quick reloading as a bonus! Or change both into guns for some serious quick damage low cooldown firing... although you can no longer throw grenades or access areas that require hands so that might be an issue! Maybe your character is REALLY heavy from all the gear so the footsteps are really loud and the enemies can prepare in time for your arrival because they heard you coming. It's still an area I need to nail down and will go into more detail in the future once I'm happy but it's the area I am currently concentrating on so should be soon!
If you've made it this far, then thank you for reading!
So everything in theory has a beginning, so this is mine. Or at least the journals...
As for some background about myself, I graduated from University ~2 years ago and worked for an indie studio for about 1 and half years, which I have recently left to pursue other interests and things to do. Myself and a few friends have basically got together to make a few games, if they succeed then great, if not, then oh well, learn from it and move on. But at least we did what we wanted
So the idea is to just write about my experiences about the project I am working on, design choices, rant, ramble etc at least once a week hopefully (I promise nothing though), but maybe more. Unfortunately I won't be showing off the project just yet, but hopefully within a week as there are a few things left that I want to get sorted out first. But all I will say is that it's a top down shooter with rpg elements set in a sci-fi like city influenced by various media. Admittedly it doesn't sound too special when briefly put on paper, but I want to play it and will have more info soon.
So more than anything this is just a standard welcome blog, hello world!