RSS

Monthly Archives: January 2015

Making a Game – Report 2


Sprint 2 is done, let’s see how it went.

I got halfway through the Introduction to Unity 4 course I decided to work through.  So far it covers the same ground as the Quick Start to Unity courses, skipping over some points, and focusing more on others.  I’ll withhold judgement until I’ve finished it, but so far I prefer this one as it covers several extra things that, such as how to more reliably line up wall sections and other items without having to count the pixels, as rotating the textures to the level a more consistent feel.  I’ll be sure to finish this off over the next sprint.  For some reason, the 2nd edition of The Art of Games Design still hasn’t been released on the kindle, so I’m not sure what I’m going to do about that.  The current version has a number of typos and removes all the lenses that everyone raves about, which doesn’t make it a sensible purchase.  I’ll have to see if there’s a better digital copy available elsewhere.

As for Unity, I made some good progress learning how to get a lot of things working.  I’ve got a rough waypoint system in place, where you can click a number of points on the map to show where your character will move.  There’s a circle drawn around the current waypoint to show the maximum distance your character can move, and lines to mark out the path you’ll take.  Almost all the work for this involved scripting, apart from a few bits I still had to do some within Unity to create the movement circle and waypoint marker Game Objects so they could be referenced by the scripts.  Unfortunately this is where using Unity gets a bit annoying…

The movement circle for instance.  What I wanted was a single line drawn in a circle.  It turns out that this isn’t something you do in Unity, the in-game options only allow you to create a few predefined shapes.  That itself isn’t a problem since Unity isn’t 3D modelling software, it’s just for creating the game.  Unfortunately using a textured 3D model of a circle results in the line getting thicker or thinner depending on how stretched out it is.  There is an option to draw an outline, but for some reason this is only visible from certain angles.  In the end I had to create a very squashed invisible sphere, download a custom shader and use that to create the outline.  It’s not perfectly round, but that’s something I can fix when I get around to learning some 3D modelling basics in something like Blender.

Also lines.  What’s so tricky about drawing a few lines?  Apparently everything…  There’s only 2 ways to do this within Unity, the most “reliable” is to create a series of long, thin rectangles and line them up the way you want.  That’s pretty horrible, and causes problems with Unity when you’re constantly creating/destroying objects at runtime.  The other solution is to use a Line Renderer, which sounds like it would be ideal but unfortunately suffers a few issues where parts of it shrink and grow at different points, and from some angles are completely invisible.  There’s a few solutions which neaten them up, but none are particularly ideal.  The goto solution that most people have is to pay $30 for an external library which solves this problem entirely, but that’s something I’m willing to do at this point.  I’ve read that I can put together some scripts to make a number of GL calls directly, but that sounds like a lot of work just to fix a few lines at this point.  It’s a problem I’ll want to come back to later, but for now it’s 90% done, and there’s not much to be gained by spending another sprint on it.

For the next sprint I’d like to finish off the last few movement issues that are outstanding.  Right now your character can move wherever you can click, even through solid objects, so that needs fixing.  I also want to be able to have multiple characters on-screen at once so you can choose which one you want to move, then a finalise button to make the moves happen.  Moving up/down layers isn’t something I’ve quite figured out yet either.  I’m thinking of having certain hotspots such as ladders, which you can click on to take you up a level, but I’m not completely set on that yet.  If necessary I’ll leave that one until later and focus on some basic combat mechanics.  I’ll post another update in another 2 weeks to talk about how this goes.

Advertisements
 
Leave a comment

Posted by on January 30, 2015 in Making a Game

 

Making a Game – Report 1


The first sprint is over, and while it’s still very early days, it’s going well so far.  I haven’t picked up the full version of The Art of Game Design yet, and won’t do until the end of the month, but looking through the kindle sample chapters it seems pretty good.  Unfortunately the current ebook version has a few formatting issues, and entirely cuts out the lens descriptions which appear in most of the chapters.  If that’s not been fixed for the 2nd edition I’ll have to go old school and pick up a hard copy.

Research-wise I’ve finished the entire Quick Start to Unity learning path and, while I’m sure to struggle with many areas, I can find my way around the UI now, and now the basics of putting something together.  I’m going to have to do a lot more research to figure out the more complex stuff.  To help with this I’m going to continue working through various Unity courses to get some more practice before I need to start putting the more tricky stuff together.  For the next couple of weeks, I’m going to go through a similar introduction to Unity that goes into more depth on several topics.  Since I’m focused on actually making something for the game this month, this might not get finished until next month.

Speaking of which, I’ve settled on a concept for my game.  I’ve had a few ideas rattling around my head for a while, but the one that ended up being one that’s sat at the back of my mind for years.  Way back in the early 90s I was a fan of Necromunda by Games Workshop, a skirmish game where each player controls their own gang, fighting for survival and to end up as top dog in the sprawling hive, all in a the dystopian sci-fi setting.  It can probably be blamed for my fascination with Tactical RPGs (like most entries in the XCOM series) ever since, but while they share some features they don’t feel the same.  I’d like to create something in that same vein, something where you have to balance your desire to win a battle with needing to get enough people out alive to survive another night.  Additionally I want to work in the persistent elements, with teams competing over territories, gaining more experience and skills over time, and even injuries rather than just killing anyone outright who doesn’t make it through the mission.  There’s a lot more games than just Necromunda to draw inspiration from, so when I get to that point where I’m defining rules I’ll be doing a lot of reading for inspiration, and to make sure I don’t just create Totally-Not-A-Necromunda-Rip-Off.

For the next couple of weeks I plan to continue working my way through courses and fleshing out the concept some more, but I’d also like to get a good chunk, if not all, of the movement system working.  It might sound like a strange place to start, but carefully planning out your movement in traditional skirmish games is a pretty major part, and it needs to feel right.  I’ve considered square grids, hex grids, and measured distances, and while squares or hexes would make my job easier, I think it really needs measurable distances to get the same feel.  My plans for now are to have one character model, and have a circle drawn to show the furthest distance they can move.  By selecting several points in this circle to move to, you set up a for the character to follow, with each new waypoint causing the circle to both shrink and move to the newly selected point.  I’m not sure how I’m going to factor in moving over rough terrain, or climbing up/down ladders and other objects yet, but for now, I’m going to treat it the same as moving across flat terrain.

 
Leave a comment

Posted by on January 15, 2015 in Making a Game

 

Budgeting Score – November


These next last few reports are going out fairly quickly, so not much pre-amble to go here:

Essentials Lifestyle Savings
Target score: 50% 30% 20%
Actual score: 55.2% 46.3% -1.5%

So things took a bit of a dive in November.  That can almost entirely be put down to a very large number of pet-related expenses (35% of my total budget in fact).  A good chunk of these were unavoidable vet bills, which while I have a piggybank to handle wasn’t enough for this month.  The rest though was new toys for a kitten we got this month.  I take some comfort in knowing that if this hasn’t been such a pet-centric month then it could have been a rousing success, but there’s no point dwelling too much on “could haves”.  Something else to take away is that if I’d done these reports on time I would’ve noticed how much the expensive the pets were starting to get.  More reason to make the effort do these on time for a change.

November’s final score:

0/10 – Too many kittens

Past scores:
 
Leave a comment

Posted by on January 3, 2015 in Budgeting, Self-Improvement

 

My single New Year’s resolution for 2015


I’ve had a few thoughts on what I could do for the upcoming year.  There’s some areas I could work on to improve my software development, a range of different household tasks I could learn to do to keep a better home, or I could finally get around to learning a new language.  I’ve already been trying to do those first 2 things for a few months, and that’s not something that’s going  to change in 2015, and I don’t really a resolution that’s just more of the same (learning a language is something I’d like to come back to though).  Instead what I’d like to do in 2015 is make a video game.

In the past I’ve tried to make a video game several times, both with friends and by myself, but for one reason or another they’ve slowly petered out and stopped.  I’d like to make 2015 the first year where that doesn’t happen, and get something put together which I’m happy with.  I will say that I’m not doing this with the intent to make any money from it.  I don’t plan on creating the next Minecraft, and while I’d hardly say no to $2 billion, I don’t expect to make a single penny from it.  This is purely for the joy of finally completing a game I set out to make, and to get enough experience doing if I ever do want to try this professionally.

So here’s how I’m planning on doing this.  There’s a number of things that I need to sort out before I can get started.  First off, I need a concept and a rough design for what this game will be.  In the past I’ve heard of plenty about design bibles, and Game Design Documents, and while they certainly have their merits when you’re working with large projects with a hundred people working on them, the idea of one person doing that reeks to me of the same Big Design Up Front and Waterfall methods in software development that are pretty outdated.  As I’m just a team of one, without any experience designing games it’s not only unnecessary, it’s also pretty wasteful.  I can easily imagine spending weeks designing features for later in the year, but by the time I get there I might realise it just doesn’t fit with the rest of the game that’s been built.  Skipping out on design entirely doesn’t seem sensible either though, so I’m going to take an iterative approach, which can be summed up along these lines.

  1. Analysis – Figure out what I want to do.
  2. Design – Work out how I’m going to do it.
  3. Implementation – Make it do it.
  4. Testing & Evaluation – Did it do what it meant to do?

I’ll be doing “sprints” of 2 weeks going through all these stages, although this number might change over time.  I’ll also be putting together a roadmap of sorts with a list of features I’d like to create, and any pre-requisites needed, but these will be only speculative for all but the current and next sprint.

As I mentioned earlier, I don’t have hands-on experience with games design, so I need to do some research into game design theory, techniques and pitfalls.  Some of this I’ll be basing off my past experiences with games, trying to take Id software’s original approach and making a game that I’d like to play myself.  But there’s still a lot of things I just don’t know about.  Doing a little research around the area already, a good start will be reading through James Schell’s The Art of Games Design, which has recently had a new edition released.  After this I’ll be doing research on a case by case basis on any topics I feel unsure about.

I’ll also need to figure out how to use the all software involved in making this game.  For the most part this will involve learning how to use Unity, which seems to be the go-to choice for a lot of free and professional projects.  I’ll be working through courses on Digital Tutors, and filling in any gaps with various web articles and Youtube videos.  There will be other work involved though, like putting together some basic graphics to make the game playable.  I’m not much of a graphic artist, so I’ll need to do some research there to find out how to put together something that works well enough for now.  By the end I’ll have to see what I can do about improving them, but the focus for me is getting something that works first, then make it pretty afterwards.

I’ll be posting updates every few weeks or so, depending on how well that particular sprint has gone.  Most likely the first one will involve me learning to learn Unity and fleshing out the concept I have in mind.

 
Leave a comment

Posted by on January 1, 2015 in Gaming, Self-Improvement