How’s everyone doing?
On the subject of Wasted Youth, things continue to creep along, but not at anything like the pace I’m aiming for. I’m feeling a bit better than when I wrote the last blog post, but that’s not to say things are going swimmingly.
Recently I’ve found I have to put a lot more forethought and concentration into coding, which over time induces a lot of mental strain. So often I get foggy-minded whereby a simple task becomes an ordeal.
I’d love to stick my head in an MRI and see what the hell is going on in there sometimes when I’m struggling. It’s got to be a mess in there.
Aaanyway… so be it.
Some of the problems I face are just so damn simple on the face of it that I feel a pang of embarrassment even mentioning them on here. I’ve covered some of the issues in previous blog posts, like the camera conundrum, but there’s one that continues to mock and torment me.
As a game developer, constantly seeking answers for my own problems through discussion boards and the like, when I come across someone struggling to grasp such a basic concept such as walls - I’m not proud to admit this - internally I slowly shake my head and derisively mock them for their attempts to learn entry-level game design... knowing full well I stood in the same position at one point.
Yes. I am an awful person.
Early on, I decided to employ a tiling system for wall and object placement, like any early 2D top-down RPGs (or Minecraft as a 3D example) the world would consist of a strict grid-like structure, or to put it another way - blocks.
It didn’t take me long to break these rules in favour of a more naturalistic design, but yet I kept the rule in place for walls.
The reason for this is simple, when the walls consist of tiles it’s much quicker and easier to place them and construct rooms.
OK, so conceptually in my mind a wall is a tile or a block, on a grid consisting of 1m2 cells. There are 9 types for each kind of valid wall connection (including diagonal).
Now consider the natural structure of a building with multiple rooms, a single 2-sided wall block would usually be shared by 2 separate rooms. Potentially, a wall could be shared by 4 separate rooms if it was a cross-junction (in the shape of a +).
For such a case, the + shaped wall has to consist of 4 smaller pieces, or potentially 8 if the wall texture changes in the inner corner.
And then consider, along with the 9 fundamental pieces, more types of wall block are required for windows & doors of various sizes, and other things.
A single wall type (or tileset) now consists of 30+ pieces, now imagine all the different wall textures and whatever that figure amounts to multiply it by 30.
Recently I decided to try and automate all these complexities so that I didn’t have to mess around with hundreds of different wall blocks manually.
However I eventually gave up, realising there was little reason to carry on with such an overcomplicated and flawed system when a simpler (though less ideal) solution was available.
A quick demo of my wall editor thingy before bidding fair well.
A bit like the problem I was dealing with a few weeks ago I decided to forge ahead and finish what I started, for reasons of pride more than practicality, but this time I chose the easy way out.
You’re probably asking the question, why aren’t the walls just… walls? What’s the point of all this tile business? Seems like overkill for something so simple.
Well, you're right. The problem was in my planning and failing to see the flaws in such a system before implementation.
It’s not great though, I resent this change of plan so late into development.
It's also brought about the redefinition of what is a ‘game object’ (a chair, a bike, a person, anything dynamic or moveable) and what is a ‘static object’ (the floors, greenery and now walls).
To be honest I’m not sure what the true nature of the system is I’m developing. It's taking shape before my eyes but it’s not the one I planned or wanted.
Another problem I’ve been experiencing of late has been the actual Unity program itself, and its proneness to crashing.
I’m really beginning to loathe having to use Unity’s editor for designing the game. As time’s gone by I’ve noticed so many bugs and flaws that I struggle to comprehend how they persist. Just yesterday I submitted another bug report to Unity HQ, it must be the 5th or 6th time I’ve tracked down and identified a new bug, and they've all been confirmed.
It kind of reminds me of the old Flash days, which would crash incessantly and often at the worst of times.
At least with Unity I know some of the triggers, and just in case there's I wrote a script that autosaves every 5 minutes, but in all truth I don’t think I’ve encountered any software quite as unstable as Unity’s editor... besides Flash.
I still haven’t got round to submitting my helpful utility to the Unity Asset Store (which is why I didn’t end up doing a second news post last week).
I’m always noticing some small, often inconsequential errors here and there it so it’s probably best I sit on it until I've found all of them.
Before I leave… a quick comment on world affairs!
You might have noticed by the stark title of this post that I was also alluding to the new American president in waiting, what with his yearning to build big beatiful walls, and as such I’m going to take this opportunity to remind you all, American or otherwise, that where I’m from ‘trump’ means ‘fart’, and I’d appreciate it if you all acknowledged this more in your day-to-day.
Although I felt a Trump win was likely and I was prepared for it, it didn’t make it any less of a shock to watch it unfurl, much like the result of the EU referendum here in the UK.
Knowing pretty well the demographic of my small pool of fans and wellwishers, I’m curious to see what you think. Leave a comment maybe. Be as profane as you like.