In the first “Trying to Figure it Out” segment, I’ll share a question I posted on Stack Exchange. Sometimes things just aren’t that easy to figure out, and crowd-sourcing an answer, or at least some guidance, can save huge amounts of time.
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.
So I’ve been working on the dirt/cave tile set. I’m up to 48 tiles covering all of the transitions between light dirt, dark dirt, and walls. So far, so good!
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.
Hopefully this will be a productive weekend.
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.
Here’s some brief Q&A about the project.
- What is Labyrintheer?
Labyrintheer is a procedurally generated RPG with a crafting system and character development and exploration and LOOT! What else could you ask for? But for a bit more detail, the game leans on the idea of the Roguelike genre. Each game will be seeded with a fresh random seed that will allow the player to progress more in each of dozens of dungeons, die (perhaps), then jump right back into the fray.
- Is there replayability with this concept?
Replayability is a huge part of my dream for this project. Part of this will allow New Game + (NG+). In NG+, you will keep all of your character progress, skills, and inventory, but also be able to control your seed. Chances are no two players will have a first playthrough that will be the same, but if someone finds something particularly great – a rare weapon, an interesting NPC, et cetera – in their seed, you’ll be able to play through their game (in a sense) by using their seed in your second (or third (or fourth)) playthrough. There will be some very special items and characters available only in very specific seeds.
- What platform will Labyrintheer be available on?
It will definitely be available on Mac and PC, hopefully via Steam. I also plan to put forth every possible effort to make the game available on PS4 and Playstation Vita. Other platforms may be targeted, but those decisions are far down the line.
- When will Labyrintheer be available?
Ah, now that’s the magic question, isn’t it? While I have some software development experience, and a whole lot of experience playing video games, I don’t have much experience combining the two aside from a few years working on some C code for a MUD back in the 90s. I’m currently setting a personal goal of Summer 2019, but it might be sooner or later. Partly, that depends on…
- How is this being funded?
If you missed the previous post about this, I have a Patreon page setup at: https://patreon.com/user?u=3668376 . Please feel free to pledge a few bucks (or more) if you are really interested. Patrons will have access to some posts here that will only be available to them.
That’s all I have for now. I’m sure there will be more Q&A posts to come, but hopefully this will give everyone at least some idea of what’s going on here.
Ok, maybe not quite yet, but projects take funding to move along, and there’s lots to do on that front. So… if you’re feeling generous, or maybe just want to help move a dream along, consider becoming a patron here: