It’s been pretty busy with non-dev stuff the past couple of weeks. Also, I just built my first 3D printer, which has eaten some time. But sometimes it’s good to get away from the grind for a bit. I expect this week will see some work on Labyrintheer as well as a little bit of toss up time on a different project I’ve been mulling over for a bit. I have no plans to stop development on Labyrintheer, but RPGs are a dime a dozen, and to make something that’s actually interesting will take quite a bit of time, still.
So, to bridge that gap, I might do some very preliminary work on another project that I’ve had rattling around in my skull for a few months now – JUST to see how it looks in practice.
Well, I’ve overcome the first major hurdle for cave/dungeon lighting. It’s no longer haphazardly sprawled about – it’s now at wall vertices. Next step – put in on the line segments instead and randomize them a bit more.
A couple of the first unique rooms in the game (interestingly this screenshot shows two of the same room – oops!) with lighting from a single torch.
Tiled and Tiled2Unity are both saviors, but neither come without a few major question marks. Interestingly, right now every time I import a new room into my project, I have to reimport the tileset, even though it doesn’t change at all. Not quite sure what’s up with that. But it’s a minor headache.
I’ve switched to a properly top-down perspective player character as well. It’s a place holder with no animation, but it gives a better feel for scope, motion, and lighting. The movement script is a bit weak, and something funky is going down with the rotation of the sprite – sometimes he just rotates eternally for no good reason after coming to a stop. It’s the joy of figuring out these little things that cause development time to increase.
Remember, great ideas don’t always lead to great code. Hell, great code doesn’t even always lead to great code, and first attempt code is rarely great.
Oddly, the thing I found most difficult about this was using Pyxel Edit to actually put the tilesets together. Not that PE was a problem, *I* was a problem. I ended up overwriting some tiles here and there, then creating duplicate tiles as I was moving between the editor and the tile set itself. But, the lesson is learned.
For anyone interested in the process, I started with a “dirt” image from some other tilesets out there, edited it a bit in Photoshop CS4, brought it down to 64px x 64px (since that’s the “unit” size I’m using in Unity) and used that as the base. The darker dirt color was that base. For the lighter dirt, I lightened the tiles or selections from the tiles by +30. For the cave walls I darkened the selections by -70, then ran Photoshop’s Sponge filter with settings of (0, 0, 8).
Beyond the base full dark dirt tile, I mostly worked in a 3×3 grid with a feathered mask that ran from 32px in and over to 160px back and down, making a sort of rounded, feathered area that blended from a midpoint 32 pixels into the edges. This helps ensure that all tiles will fit together nicely and look decent.
For the diagonal tiles, I overlaid opposing corners, used the polygon lasso tool to cut across the opposite diagonal, merged the layers down and BOOM! There’s a diagonal tile.
The sections at the very top center and bottom center are where the three types of terrain blend together. I’m fairly certain that I’m missing a few combinations, but this should be pretty good to start.
For anyone looking to work in tilesets and the like, Pyxel Edit is a GREAT tool. And I think it costs about US$9, so it won’t break the bank.
Cave floor (tiled 3×3). It looks decent, but it took me a very long time to get this just right. I definitely need to work on my Photoshop skills. Also, man… these things don’t look nearly as good in Tiled. At least they look almost this good in Unity. It’s a start.
Well, for now I’ve decided that I want to do a truly top-down (TD) graphical style. I think this suits me well since I am not an artist. Hotline Miami is a good example of this, as opposed to a traditional isometric “top-down” view that is common in RPGs. So, I’ll need to make some new placeholder graphics for the main guy, but at least it’ll give me a lot more freedom with the tilesets.
I was considering how to make TD torches with a particle system. I recently saw this video on Unity particle systems by the awesome Daniel Moran over at Makin’ Stuff Look Good in Unity. Oddly, making a decent TD torch isn’t as easy as I would’ve expected, but it wasn’t terribly difficult. I also have a script attached that adds a flicker-type effect and also slowly changes the color of the light generated by the torch, lerped across a gradient over time.
So, this is what the torches look like currently:
It’s a work in progress, but by all means leave a comment here or on Facebook if you have any comments, critique, or suggestions.
So, the first step in fleshing out the map is to add a boss. Currently I only have one prefab creature (yet another placeholder… YAP), but I’ve been playing with materials to ensure that the standard dungeon is dark and scary for our Labyrintheer.
A bud guy lurks in the darkness with only our Labyrintheer’s aura to shed some light on the situation. I’ve disabled global illumination for the dungeon and fixed all of the materials so that they don’t light up on their own – an issue with Tiled and Tiled2Unity’s default shader. Currently I’m just using the standard shader. Next I’ll be placing torches here and there around the dungeon either as it generates or post-generation (not sure what makes the most sense quite yet). I also plan to add height maps in and create a LoS component so we don’t see through walls.
Today it’s reaching some crazy temps here in Michigan, and my wife and I decided to take the day off to go to the zoo. Dumb? Possibly. But it’ll be a great day all the same. Tomorrow evening I plan to start hammering out some new code and will update all of you at some point this weekend. The next plan is to start filling in creatures, bosses, keys, and doors on the map post-generation. It shouldn’t be too difficult, but I’ve said that before and been very, very wrong, so anything can happen I suppose.
For now, here’s a gameplay screenshot with the shaded rooms – you can see the order in which these rooms were laid out based on their color. No, the final game will not have colored rooms… unless maybe there’s a disco labyrinth.