So Many Updates

Well where to begin. Realms has had so many updates it really starting to “hang together” as an actual game at last.

I’ll just list a few of things rather than blather on for ages about each one.

  • Monsters now have a chance of dropping a chest which in turn has a chance of dropped varying quality and number of items.
  • Monsters can have “body” loot too. So if it isn’t in a chest it’s actually on their body instead.
  • Indicators have been added for corpses that contain loot. The corpse will decay a lot slower if it has an item on it and it will never decay if it has a quest item. Quest items corpse have spinning Q and other items would just have a spinning star.
  • Monsters can now have multiple attack animations (again I’ll need to find a good animator at some point because my skills are mediocre at best).
  • Particles can now fly in the direction of something. This is first used by the Ghost of Venril monster that haunts the graveyard. It spews forth green plasma/lightning.
  • Killing a monster now gives you some experience points. This meant I needed to have text notifications that float and fade to show how much you gained.

I spent rather a large amount of time finding an annoying lighting bug with the animated models. They just weren’t being effected by the color of the lighting enough for some reason.  After a few hours of head scratching i realised 2 lines of code were in the wrong order between the static model shader and the animated one. Annoying but it looks suitably beautiful now.

Another large change is pretty much the whole UI. The “hotbars” have now been replaced with a more console friendly layout. I think it looks a whole lot neater too.

xp.png

The first 4 are for the primary weapon, the next are for the secondary, the third for the ranged weapon slot (or a wand etc) and the 3×3 block are for assigned spells or items.

The health and power bars are much smaller/clearer/neater too and I think a lot nicer.

I’ve started to add in the skill/weapon merchants which will use the same UI to try and give consistancy but that’s not ready for human consumption.

We almost have an actual game!

Until next time…..

 

Misty Ruins and Ghosts

Hello!

Ok much progress was made which is always rather nice.

I had to make some editor tweaks to make things easier on myself but I won’t bore you with those.

I couldn’t resist adding a post-processing effect. You’ll notice in the video below everything has a slight blur where the bright/dark areas have a large change. This effect is called bloom and it simulates how our eyes handle bright light. There’s a slight bleeding of the bright color into the dark. It’s a fairly cheap effect to do (in terms of processing). I was a bit of a brain ache to get it to work with both the deferred rendering and the forward rendering parts of the game but hey.. I think it adds something.

So anyway enough technical stuff. After being inspired by some ruins I was wandering around in real life. I found some nice ruin models on one of the various model sites and took probably far too long importing and tweaking them. Along with a bunch of tombstones, gravestones and broken rubble. On of this I made an old ruined road (with the help of my new color map editor) an added in the essential ground mist/fog that’s always in graveyards (although I’ve only ever actually seen that on TV if i’m honest).

Here’s a little video of the ruins so far. The player is using the ghostly shader for now while I get it just right:

 

So yeah I found a nice bunch of ghostly models to use but then I realised I have no way of drawing an animated transparent model… So yeah I had to add that which took a little longer than I’d hoped. Kinda looks fairly ghostly at least.

Once I’m happier with that i’ll add in my ghost model and give him a particle effect of trailing faint mist.. maybe green mist or something, We’ll see what looks good.

My player needs some skills so I’ve finally got around to designing a nice Skills UI with my “project manager” (the person who keeps me from fiddling with shadows for 6 months). So I’ll be adding that. But I need someone to teach you these skill.

So for that i’ll need a old man (a sage). Every good RPG needs a wise old man. I’m in the process of importing a sage and giving him a  ruined shack to live in.. That will be at the end of the faint path from my previous post. That means the character screen with need skill tabs and I’ll need to make a UI for the sage for you learn the skills as well…

So much to do, so little time..

Until next time!

Realm of Buttons

Well it’s not all swords and sorcery, sometimes you have to focus for a little while on the little things. In this case buttons and icons.

The game now has items which can have all manner of different attributes attached to them. Things like their quality, value, weights and they can also have any number of required skills attached to them (ie so your could  carry a crossbow in your bag but you couldn’t actually used it with no knowledge of say bows and maybe specifically heavy crossbows – or maybe with some penalty without all the required skills).

Items all needed an icon to represent them so I added in a few items for starters: A basic healing potions, a dagger, a mysterious scroll, a leather belt, a chain mails hat and leggings and a couple of others.

The Character Screen’s Inventory tab now allows you to click and move items around to arrange them in your bag and have your character use them by dragging and dropping them over the relevant equipment slot. Like so:

buttons2

That all works rather well and is hopefully pretty standard stuff for role playing game fans. I’ve done it in a kind of Dungeon Master style but in more of a Final Fantasy 14 layout (without the confusing armory chest idea that I wasn’t a fan of).

Another screen I needed was for when you open a chest or a merchant or villager gives you an item. This is the “Reward Screen” which is the featured image at the top.

And finally I needed yet more buttons for you to be able to answer questions from the villagers and merchants about transactions or accepting some task they offer you (also I had to make it so you could only actually talk to a villager from a reasonable distance away). So the buttons for this are like the screenshot below:

buttons1

So what’s next?

Well, I need to tie all this together now so I have story line for the game planned out but I don’t really want to start making that yet until all the pieces work together. So next up is to make it so an NPC (villager) can offer you an item (A dagger), which you can then equip in your weapon slot. He will also offer you a question to help with the rat problem they have West of the village (a classic kill 10 rats quest). After you kill a few rats (lets make it 3 just to be different) then you can return to the villager and he will give you a reward (a healing potion). If all that hangs together then I have rewards working, inventory working, quests working, combat working and well.. lots of stuff working.

Exciting stuff.

Until next time…

Editing the Realm

Well, loads to tell.

From the picture above you can see I “slung” together a basic terrain editor. This isn’t for reshaping mountains or making huge changes to the world (ie use my terrain generator for that). This is for tweeking the odd nasty pointy hill or overly sleep slope. It was rather complex in the end since it had to find the exact patch of terrain to edit then match up the height with the heightmap (the aerial view of the terrain that determines how height each square meter of the terrain is.

I’d been wanting to do that for a while but I thought it would be too much of a pain. Then I read some post somewhere about using SetData on the vertex buffer after adjusting the position of one of them. I always thought that would be too complex but since my world is centred on the player (0,0,0) it wasn’t so bad to work out. I won’t bore you further with the details.

Other things.

I imported a load more rocks and trees. I think I really do have enough of those now.

morerocks

So yeah those look nice I think (there’s some mossy ones around but i’ll probably show those in the video).

I’ve done a lot of work behind the scenes on the actual player class. He/she/it now has lots of data attached to them like their name, experience, level, health, power and I made a base skills class which initially just has a dagger skill. The thought being that each item can have a required skill attached to it (or multiple skills or none) for you to be able to use it or at least use it effectively.

That done I moved on to making a character screen, I combined the look of the Final Fantasy 14 one with the look of a more classic RPG. It will have tabs for your skills and stats, equipment and quests. I’m trying to avoid making windows open all over (ie like Everquest) and try and keep the interface as user friendly as possible.

Here is the initial layout, the tabs and data will go on the right.

characterscreen

I’m not 1005 happy with it yet at all but I’ll try not to get too bogged down with making it look perfect and get on with making it usable.

Well that’s it for now.

Until next time…

Realm of 2018

Well belated Happy New Year to you all.

Unfortunately I’ve been mostly busy with either other (much more boring) projects or world editor changes (and a few quick optimisations along the way.

Also there’s been a few game design meetings with the lovely Sarah where we flesh out the map of the first realm. The realm has been halved in size to 25 square km. 50 was WAY too large for a beginner “zone”. The first realm will have a large castle on a hill with a surrounding walled town but that’s not where the player will start. The map will have 2 small villages which the player can start in.

There will be a large forested area which will contain a dungeon down a tunnel in the south west. The south east will be a massive valley containing a encamped population of some kind of agressive but semi-intelligent monster. Goblins maybe? Ok a bit unoriginal.

There will be a road network connecting the towns and villages. One road in the north-east will lead to a dead end eventually where the roar will peter out into ruins and a graveyard which is where the second dungeon will be.

Ok so that’s the first realm designed. I’m in the process of getting in much better quality textures and models to make this all look rather lovely, hopefully you can see the improvement in quality already in the screenshot above.

No movie this time but I’ll try and get the first town down by the next post.

So nice to be not fixing bugs and

My villagers will need animating too…

Until then.

Kill 10 Rats

It’s really picking up speed towards being a vaguely playable game now. I’ll just make a quick list of what’s been added:

  • NPC/Enemies now have shadows.
  • Shiny fonts
  • Loot dialog box
  • Quest dialog box
  • Enemies hit back
  • Enemies can die
  • Enemies can drop a treasure chest

Most of this is rather crude and I’m not 100% happy with any of it really (except the shadows).

The font is annoyingly spaced out and the look doesn’t quite fit but it’s better than TTF Arial. I don’t really like my dialog boxes either but they’ll do for now.

The enemies die ridiculously (just flip on the their side).

The treasure chest is just the same model moved just in front of the player.

There’s no way of actually putting the loot from chest into your bag.

But DESPITE all that I’m really really happy with how it’s going. I mean you can actually walk somewhere near an enemy, target it and go into basic combat with it and kill it (and maybe get some loot). That’s huge. It’s basically the flow of the game finally working.

Some refactoring and general neatening up is needed and also I get to do a really fun bit – add a particle effect for when you get hit or when you hit an ememy. Looking forward to that.

Hopefully I’ll get another update in before Christmas..

Oh I made a new video of the combat and loot etc. Even in it’s crude state I’m pretty happy with the result.

 

Back in the Rat Race

I’m not obsessed with rats, honestly.

Ok right well after completely taking everything apart to finally get to the bottom of my shadow jiggling problem I decided that the best solution was to make my player the centre of the known universe. This was simple enough and didn’t require me rewriting my shaders or making TOO many changes. I won’t bore you with more waffle about shadows but in a nutshell the problem was that shadows worked perfect the closer to position 0,0,0 I was in the world. So therefore position 0,0,0 is now where ever the player is standing (and everything is drawn from that perspective. Sorted.

Moving on and back to the game finally..

Ok so now you can actually assign an ability to a hotbar position. There’s only 6 abilities for now, melee attacks (short and ranged), Magic attacks (short and long range), a self heal and a monster defencSe reducer. These all worked great straight away since I designed a nice ability object to which should cover quite a few different abilities, combat and otherwise,

I made a little video which demonstrates the new stable shadows (there’s a small wipe effect between the cascades but I really don’t care about that for now, there are many ways to hide that). It also demonstrates the basic combat with me against a huge and medium sized rat. They still don’t hit back so it’s a bit one sided.

So, next up:

  • Make the rats turn to face me more realistically
  • Make the rats follow me
  • Rats need shadows! (all well all monsters do)
  • Monsters need to hit back
  • Combat effects (started that but there’s nothing nice to see yet)
  • Monsters need to die – they just do.

Man vs Rat

Ok sorry for the lack of updates, I’ve been on holiday/vacation. Didn’t stop me reading about shadows though. It’s such an annoyingly massive topic and although my shadows are just about acceptable there’s still an annoying amount of jiggle.

Alex who wrote Cascaded Shadow Maps With Soft Shadows has been helping me with this a quite a bit and has kindly donated some of his time to help me solve the jiggle. Unfortunately it’s not entirely gone but it’s much improved and I’ve learned a lot anyway so that’s always useful. I will have to come back to it or else I’ll end up with beautiful shadows in a few weeks/months/years and no game.

Anyway, enough about shadows! What have I been working on? Well… quite a bit. I have come to the point where I had to decide what I was doing about the stats of the players and enemies. What determines how hard they hit, how much they can avoid, how much power they have etc. Well for now I’ve gone with the classic D&D style stats of:

  • Strength: How hard you hit and how much you can carry
  • Dexterity: How hard ranged attacks hit and how far they can travel.
  • Intelligence: How hard your spells hit.
  • Wisdom: How much power you have and how much health you can heal.
  • Stamina: How much health you have.
  • Charisma: Affects prices from merchants and how much you can resist certain enemy spells(?).

Along with that I set some other basic stats like maximum health, current health, power and gold.

Both the player and all NPCs have these along with some other minor details like if they’re dead or not.

But that’s not all! (overly dramatic) NPC’s now roam around over the hills. I had to do some rather annoying math to get them to nicely follow the terrain. I don’t just mean their position above the terrain the have to tilt and roll to the angle of the terrain or they look ridiculous. That wasn’t THAT bad though and the effect is great. Very useful too. I need to add a button to my editor to make an object (a rock or a building etc) snap to rotate to the orientation of the terrain. I do that manually now so that would be great.

Also the hotbar how lots of shiny new icons (not made by me but bought and tweaked by mean). Nice aren’t they? Anyway not only can you now hit a targeted rat, it will turn to face you (rather abruptly for now) and it’s health will go down. And there’s even more! (Ok this is getting a little silly sounding now but I really have added a lot). The game now calculated the range from the player to the targeted enemy to make sure you’re close enough for the selected attack.

I’m aiming to have the whole combat cycle. Kill or be killed by next time so.. until then.

 

Flying Rat Army

My screenshots are getting a bit less pretty lately but I thought it might be interesting to show how I’m going about adding enemies/NPCs to the game.

Using a variation of my normal entity (rocks, walls, buildings etc) editor I am able to move rotate and scale my errr monsters or whatever. From the screenshot above you can see there’s a panel with space for the rat’s attributes like health, defence, attack power and other stats.

I feel like some form of combat is on the horizon I’m taking a slight diversion to add double blend maps to my terrain so I can have snow on the caps of the mountains and cobbles on the floor in towns etc.

Still have the jiggly shadow from problem with mid range shadows but I have plenty of resources to read on how to fix that. Other than that everything is moving along at quite a pace finally.

Better when I don’t spend 2 months getting the fog to look just right.

Behind The Scenes Pt2

Well there’s not much to show visually. So much behind the scenes to do to get combat basically working.

Ok I needed to create an NPC class to store stats about them (just health, power, attack and defence for now). The player needed those too but that’s nice and simple.

I had to improve the editor so it would allow to be able to flip between editing static entities (trees, rocks, houses) and moveable, targetable things like peasants and giant rats.

That means I need to save and load npc data seperately. All the attributes about each npc.

.. yeah as I said it’s a bit of a boring update but it has to be done.

Oh one interesting thing you can see from the screen shot is where it says “rat hp” near where the rat enemy is. This is an UNprojected 3D coordinate of where the rat is. That means if he’s targetted you’ll be able to see his target arrow, name, health etc even through walls and stuff. That’s kinda how WoW/EQ2 work. Maybe i’ll depth sort it and NOT do that at some point but I like it for now. Comments would be appreciated.

I should be able to place roaming enemies and attack them soon. That sounds more fun.