Friday, 24 April 2015

Dungeon Crawler - C++/SDL - Loading Maps

Very quick update, I've been taking the XML Maps from the Editor in it's current form and loading them into the actual game now, this has required a change of several subsystems inside the Grid/Map loading code.

The most important change has been caching one copy of each image, so minimising memory use, and then customising them at a surface level to add walls, drawing all this once and then just rendering the one single image we hold in RAM, whilst the rest of the images can be dropped out of memory to again free more resources.

Anyway, here's a screen shot of the game (background left) with the map editor open showing the map in design.

Path finding of course routes around the walls, and tiles can be toggles as blocking or not, opening up the ability now to add doors or even hidden/false/magic doors.

Thursday, 23 April 2015

Dungeon Crawler - C++/SDL/C# - Map Editor Updates

So, the Map Editor, I made a brief mention of progress on Tuesday's post, but I've refined a few things, and I'm ready to show you some screenshots of how things look...

Here we see a tile set being imported, and placed down, then I've laid a set of dividers, a divider is a none-crossable wall like structure, but it lets us use a single square as a wall, rather than using a blank gap.

So, hopefully you can see that we can enclose spaces without so much blank black squares.

Which then leads to more complex structures:

The next item I'm literally coding now is a door, which will go into places as highlighted in red here...

Supporting single spans, or double spans...

And of course, once all this is designed into the map editor it's going to be ported into the game itself to give us the basics of the Adventure loading & walk through.

Wednesday, 22 April 2015

Dungeon Crawler - C++/SDL/C# - Representing Stairs Challenge

So, the game, at the moment is totally top down 2D, there are no camera angles, no isometric perspective, it's just all looking straight down at the canvas below.

So, one challenge is how to represent depth, I've seen some art styles showing walls rising from an edge of a square and away to the centre, so it looks as though it's a wall climbing up towards the camera.

And, this effect is built in, not by the game, but by loading the pictures/images from disk, so anyone can draw like that.

One thing I can't do however is I can't draw, not very well, not on a computer.

And the next challenge facing me is how to represent stairs, if I can't do it easily with a single tile, do I need to make stairs which take up several tiles and have isometric effects to them, or do I need to increase the size of the tiles?

You see, there are options, which work to represent top down stairs...

That looks right to me, but it's done with shadows, alpha and importantly to work it all needs more than 70x70 resolution...  The same trick for me, using gradient brushes, at 70x70 comes out like this:

It's not the same is it?... No, I didn't think so.

Other options are to make stairs as I would with a biro on a table top map:

But, again this needs more pixels per tile, and definitely needs more than one tile.

Stairs going down are also a challenge, they need just as good a resolution which my tiles don't provide:


Suggestions on a postcard please.

Tuesday, 21 April 2015

General Blog - Dungeon Map Editor & The Day Job Office

At home I'm working on fleshing out the Dungeon Map editor, so there's more information coming on that later... To whet your appetites however, I have implemented:

* Solid Tiles
* Total Empty Void Space
* Dividing Walls
* Doors in single tile
* Doors over multiple tiles
* Trap doors (drops)

And in the works on the editor are:

* Stairs Up
* Stairs Down
* Portals

These latter three items however, all require a change to how I structure the Adventure....

So, an adventure now is going to be multiple maps, each map being a layer, and you can portal from one place on one map/layer, up to another map/layer (or down).

Stairs are the same, but you enter the map at the position it's placed directly above the stair (or below).

However, none of this is why I'm blogging today, I'm blogging because I just left the day job, and before I get in the car I thought I needed to point this out...

The company I work for is multi-million Euro turn over, it's huge... The building I work in has had major infrastructure upgrades, notably a fresh air circulation system and about £35,000 worth of new air conditioning and then brand new energy efficient triple glazing....

So, the new glazing keeps the heat in... The Air circulation system is never on, and the air-con is on warm....

I have had to turn a fan on today!

It's ridiculous, the guys in charge of the A/C controls sit in an area of the building which is taller than here, so it's more airy, they don't have the sunlight falling on their windows, and they're old - so they're always cold...

The rest of us, in the blazing sun box end of the building, just sit and gently sweat...

I've pointed out before that this end of the building smells like the inside of a training shoe, and they turned the air cycling system on, and it became so fresh, so light and a great place to work... But then they insist on keeping this system off!

It is annoying beyond irritation, beyond moaning, it's just endemic stupidity, and lack of understanding of people... Very much the "I'm all right Jack" attitude prevails.

It's been so warm, I've taken to rolling a glass of water from the cooler on my arms... and I'm only sat here in a cotton shirt!  Gah.

The atmosphere, the temperature, would have to be the second thing I decided on if I ran my own software shop/office somewhere.  The first being what desks, PC's, keyboards, Screens etc the peeps used.... Before I worried about the coffee machine, it'd be air conditioning and proper fresh air, not recycling the same stale air through a wall mounted unit on a circuit.

Monday, 20 April 2015

Blog Views

We're in a unique position of two first, today is the first day my Blog has Russia as the top source of viewers (hello Russia - you strange lot you)... And also the first time the United Arab Emirates has featured on my top view count list... 

Friday, 17 April 2015

D&D - Session 1

Last night, I had the pleasure of hosting my first D&D Fifth Edition game, now I did vastly simplify the rules and let lots of the detail slip, because not only was it my first time hosting, but it was my players first time playing.

So, we simplified the D20 use and the character sheets, but I kept the story rich and powerful, I'll relay the whole story below, with the options I gave people.

The adventure was in two parts, one needed no board and it constituted me taking the players together to a small village to get a task, the task was given by the inn keeper (a woman) to track down her son who had gone missing looking for treasure in the nearby mountains.

The party had to roll perception to spot a picture of the son, and note he wears a distinctive hat, and they could roll charisma with the inn keeper to negotiate their fee...

The party then had to move along the obvious path the guy took through the forest and to the foot of the mountains and the first dexterity and athletics tests were put to them, with a party of a rogue then two cloth wearers you could imagine the rogue would spring up the mountain side, but they rolled a 1... So fell flat on their arse, this made the other two more wary of climbing up, so they missed a surprise round here against a rat enemy in the entry way...

I had it scripted that there was a rat, if they killed the rat by getting up there quietly it could not run into the next room to alert the next enemy.  As it was they didn't surprise the rat, it saw them and ran off, and alerted the next enemy.

Meanwhile I had them see a fissure in the wall looking down on a grander room below, this was the end goal room, so the dungeon they were in was a simple four sided affair, but they can only see this room, so I ask for a perception/history check... They fail this...

So the elaborate story about the light below and foot prints in the thick dust was lost on them, all they got to be told about was a shabby carpet which looked like it might have once been grand.

Into the next room, it's a church like vault, rotten wooden pews line it and it's rubble at one end.  At this point I explained "light" for the wizard and they elect to light a coin and throw it to the back of the room, where they see the first enemy a cockatrice (vastly lowered in HP)... If they had not let the rat go, they would have faced four 1HP bats, not a 8HP cockatrice.

This thing takes a bite out of the rogue, it also takes a bite out the priest, but they subdue it and then I offered them a rest.

No-one searched the corpse, the rogue just opted to chop it up for meat, only to find it's bad meat and not for eating.

Next there's a set of rotten double doors, they peek around and the rogue uses slight of hand to spot a trap, which they avoid.

Unfortunately they left the light on the coin, now they're in the dark and I point this out, but the wizard fails to light the tip of their wand again and the rogue falls down a set of steps in the dark.

The Priest manages it down the stairs, only the wizard manages the stairs well, and so at the bottom of the stairs the wizard manages to light their wand again and they see two sets of doors, one left with a grill, and one dead a head.

The door to the left is an old cell, the priest opens the door, by bashing them with their club, the wizard lights a coin and throws it in, they see nothing save a pile of bones and old straw, so they leave the room alone.

If they had stepped in, they would face a short sword wielding skeleton... However, the wizard and priest both stop the rogue going in.

They instead try to peek through the closed double doors, and they managed with detect magic, to find out there's a flame skull beyond the doors...

They open it, and surprise it, gaining advantage, the wizard slows it, it hits the priest and hits the rogue, it also silences the priest, but they beat it down... Not before however it bloodies the rogue down to 8HP.

They heal up and rest here briefly, then search part of the room, and find an important story line item I invented the "Globe of life", filled with good green energy.

They history check on it and find this is a much fabled vial of pure life, it was what the flameskull was seeking to bring itself back to real life.  The priest tucks this away.

They move on, and enter the final room, which has two halves, the half with the rug they saw previously, and the half just in stone... In the corner is a prone bundle, which is the body of the inn keepers son.  The players didn't know this however, as they failed their checks on it... They know it's dead...

The rogue then did a detect traps and spotted a gargoyle about to pounce, they fought this down fast, and had it at 5HP, when it offered to parle.... But they refused and tried to kill it, getting it down to 1HP, where it slunk away... It would have told them to use the vial on the body... As it was however, they decided to use the vial on the body and it was the innkeepers son, it was a check someone did to see if it had a hat on did the trick...

He takes a breath and says "don't step on the rug"... So they didn't.

Not using the vial they would have faced him as a zombie and not been able to get home with him to get their reward.

However, they also open a treasure chest, this spawned the final boss, however, as they didn't stand on the rug she's only 1/4 her normal strength, and with the wizard using all their dailies she's burning and charred and the DOT takes her down on the third turn after opening the fight.

This was the end of the run, it worked out, the flameskull was the hardest enemy they faced, at no point were they close to a wipe.

And in general feedback they decided the priest wanted more to do.

But each party member went away with 25 gold pieces each, some XP and a good grounding in the game mechanics.

Because the boss wasn't full strength they didn't get any special items, also because they didn't fight the skeleton the rogue missed out on a nice +1 short sword, and they didn't search a table in the flameskull room, so they missed 3 more gold pieces and some magic items for the priest and wizard.

But they missed this more through wanting to not take all night and getting to the end within two hours, so I may award them to the player character sheets with some story about adventures they've been on and add them some more skills, especially for the priest.

Thursday, 16 April 2015

Dungeon Crawler - C++/SDL - VLOG 3

The third VLOG in this on going series, see's me finding I've unexpectedly broken token collision detection.... But I'm; at last; loading maps from the MapEditor.

I've also fixed scaling issues which were causing the map to scale to the screen when it was a map which was intended to be smaller than the view area of the screen.

Update 3.5