Please note that all screen shots displayed in this blog are works in progress and in no way represent the appearance of the final game. Check out the main site here.

Be sure to follow us everywhere with these links!



Friday, December 31, 2010

Dropping Some Tunes

So I've gotten the music engine working, too. I never intended music to be a dominant feature in the game, and as such it will be quite subtle, and be made up almost entirely of ambient background noise that will flow in a musical manner. Hard to explain, really, but I'll put it in the next video so that you can hear it.

I've started playing with monsters. Just getting them into the world, mainly. No A.I. yet, but they're loading in nicely, and as I move around the dungeon I can hear them breathing or wheezing around the corners. It's very cool and creepy! So I guess you'll get to see/hear them in the next video, too!

Until then!

Drip drip drip

So as you can see, I have fountains working! Not only do they place correctly but they also generate a cool fountain-y positional sound, so you can hear an echoing trickle of water as you cruise around the dungeon. They also animate nicely. That stream of water you can see in the pic flows out of the gargoyle's face and into the pool underneath.
This successful model animation means that monsters will be coming soon!

Stay tuned! I'm going to bed!

New Cool Things

Well, I have been busy! The offset error when moving between floors is now totally fixed, but the algorithm isn't placing doors on floors other than floor 1.
Should be pretty easy to fix though. I have a feeling it's just a simple logic error hidden away somewhere that I haven't noticed yet.

One thing I did get working though is something i've been mentioning since the early days but have only just completed and that is the awesome 3D sound engine! In lay terms, it makes things louder or quieter based on your distance from them, but it ALSO makes things appropriately sound like they are to your left or right or in front of you or behind you, which is also cool. It also takes note of the surroundings and produces the appropriate noise dampening and echo for the environment.

To test this out, I am going to do a new decoration type: fountains! With this, I'll be able to not only test out the 3D sound, but also model animation. If I can get the animation engine working in the game then it will mean monsters will be a lot easier to implement as well :)

A new post soon once fountains are working and I've fixed the door problem!



Thursday, December 30, 2010

Updated updates!

So we have progress! Doors are done finally, and there are also the tables and columns. Makes some serious improvements to the appearance of the dungeon. So here is that video I promised you!



In this video you can also see the new development console that I put in place. Makes development a LOT easier as I can real-time affect the global lighting and get info on various objects and player information.

Anyway, I'm still working on the game today, so I'll give more updates as I do more awesome things! Not too far away from putting in enemies, too, which is awesome.

That means I'm not that far away from having a playable demo ready! Woo!

Talk soon!

Doors to new places

So I made all this progress last night then forgot to blog about it!

So now there is furniture and doors! Doors which animate when they open/close! It's very cool and adds a whole new dimension to the levels. I still have an offset problem when moving between levels, which I hate, but still, it's not a big deal to fix.

There is some COOOOooooOOOOooooOOOOL art coming from Ordinary Obscurity soon, so you'll get to see that soon.

The game is looking so awesome lately that I'm going to put up a new video soon.

Stay tuned!

Wednesday, December 29, 2010

Bright Lights

So with a new day comes new problems. I'm sorting out the advanced lighting system within the engine. I say advanced since it needs to process real-time ambient occlusion and normal mapping while the game is running. Sure I could use baked-in lighting or light mapping but that'd just be cheating. Besides, I'm trying to create an immersive experience here!

So anyway, in the spirit of learning I found that dynamically scaling objects down in the 3D space, exponentially increases their perception of the scene's lighting. Basically, the smaller I make an object via scaling it, the more it seems to glow under its own power, and the larger I make it the duller and darker it seems to be. This is a bit of a problem with what I'm trying to achieve, so I've had to re-write a few bits of code and a few assets to make everything work with minimal scaling. It was a pain in the arse and it took me two hours, but it ends up making the engine run a heap better, so I can't complain too loudly... More to come soon!

Colliding finally

Well, I got all of the in-game collision sorted out finally. That was an odd bug, but it's fixed now and it works a treat. It's much safer to explore the maps that the algorithm generates now since there is no risk of running off the edge of the map!

Another little feature I'm currently working on is that when you click on an object in the scene that you want to interact with, it pulses white briefly, just so that you can see which object you've selected. It's only a subtle touch, but I'm all about the user interface!

Well, it's 3am, so I'm off to bed.

Great Stuff

Well, today has certainly been a productive day! After much tweaking and coding, moving between floors of the dungeon now works without a hitch. Currently I'm working on player collision. Once that's done, it's all going to be about populating the dungeon, I guess. I also want to work a bit on the load times, as I'm not happy about them. 45 seconds is too long to wait for a large dungeon to manifest, so I'm going to do what I can to get that down to as small amount of time as I possibly can.

I'm really quite amazed by the dungeons that this algorithm is creating. My development speed has actually been slowed down by my constant stopping to explore each dungeon as I test the program out lol even with no furniture or decoration at all, it's just so fun to walk around in a huge world that the computer has designed and not me...

*sigh* I love it when a crazy idea just... Works...

Tuesday, December 28, 2010

Huzzah!

Yay! So all that hard work paid off. I think doing this while on holidays is the ticket to success. I'm pretty much just working on the engine every waking minute, so I'm able to tackle the big problems well.

Anyway, I took the new dungeon generation algorithm and put it into a newly written 3D engine. This engine has basic lighting, normal mapping and depth fog and is loading in some mid-range 3D models with high-res textures applied. The result is pretty damn nice.

Yes, the walls/floors are quite repetitive at the moment, but that's just because I'm only using one set of models/textures at the moment. That will change once I put some more effort into that. What you see here is just me trying to get it working (and succeeding. Muahahahaaaa)

Anyway, another thing you need to remember is that I did not design this level. The Sword of Ahkranox has been written to create it's own universe procedurally. I had no hand in the design of this dungeon other than writing the A.I. that does all of the work. I keep being amazed at what the program is capable of creating!

Enjoy the vid. Talk soon!

lol HAAAAAX!!!

Yeah, so I found a really obvious solution to the stair problem that I should have seen ages ago...

Spiral staircases! They just go directly up or down. That way corridors can't intersect them. Duh.

Good news though is that in trying to fix it, the algorithm is now as sleek as ever and much smaller than it was.

In short, it now generates a dungeon with up to 25,000 segments in arouuuuunnnnd 4 seconds.

BOOM!

A Much-Needed Breakthrough


So I've finally managed to score some time to dig into The Sword of Ahkranox. Feels good to be back, but along with my return to the code comes a return to all the old bugs. Grrrrr...

So anyway, I did some late-night coding marathons (really takes me back) and finished off version 3 of the dungeon generation algorithm, and came across some REALLY interesting results!

Not only did I seem to fix quite a number of problems, but I accidentally came across an anomoly in the engine which made it create some really amazing looking dungeons. Naturally shaped caves, large rooms, huge halls to tiny nooks. It wasn't intentional at all, but I guess that's what you get when you write adaptive code where the game builds its own levels! Sometimes it's going to surprise you!

So what you're looking at in this picture is one of the newly generated maps. Stairs will be coming next, so lets home that my second little problem gets fixed with the new engine at the same time!

Monday, December 20, 2010

Christmas cheer

Hi all! Merry Christmas!

I start my holidays after today, which means HEAPS of time to do some nice juicy work on MSoA finally. So expect to see some good things. I also know for a fact that Ordinary Obscurity has a few new masterpieces for the game almost ready to send through, too, so expect to see some of that!

Have a good break, and keep your eyes peeled for more blog entries!

Adios amigos!

Saturday, December 11, 2010

Versiones Tres


So I've been working on version 3 of the dungeon generation algorithm and lately it's actually running the same algorithm on about 1/15th the amount of code of the last version (woo!)

This time around, I am building the dungeon entirely in memory first, then thoroughly checking it for anomalies, then fixing said anomalies in memory first, THEN building the dungeon in 3D.

Seems to be working a lot better now, though I still have one or two small creases to work out. But one thing's for sure, I don't have the staircase intersection problem any more!

Progress. Smells good.

Over the Christmas break I'll be doing more work on it, but I'm also currently working on an arcade game for the gaming lounge I run with my wife, and also a virtual reality system (virtual reality dungeon adventuring? Hmm.....)

So stay tuned! More updates soon! And hopefully we'll be seeing some more artwork from Ordinary Obscurity soon!

Au revoir!

Tuesday, November 2, 2010

All over again

Once again I find myself frustrated with the Dungeon Generation Algorithm. I've actually been playing a lot of Minecraft lately and I have to say that I'm totally awestruck by it's developer, Notch, and his ability to create such stunning procedural landscapes. He's ALMOST done what I was planning to do with MSoA, but not quite.
Regardless, I've been analyzing how his algorithm works and it has highlighted to me just how much more efficient the MSoA algorithm could be, and so I'm re-writing it from scratch again lol
The new system is much more streamlined, and should be much easier to debug as well as be error-free, so hopefully no more staircase bugs.
Anyway, I hope you don't hate me too much for the delays. In the meantime I've been getting some AMAZING concept art from Rachel over at Ordinary Obscurity, so I'll post some more of it when she sends the next batch!

Au Revoir!

Saturday, October 23, 2010

Civilians


As you explore the world of The Sword of Ahkranox you will undoubtedly run into some of the locals. These characters need their own art so that you can see who you're talking to. Ordinary Obscurity has been kind enough to send through a sneaky-peeky at what a couple of these civilians will look like, and boy, do they look great! Take a gander!

Wednesday, October 20, 2010

Towns


Here is your very first look at what towns will look like in The Sword of Ahkranox, thanks to some inspirational concept art from Ordinary Obscurity! It's going to be quite a challenge getting the computer to design towns with as much creativity as this, but I'm gonna give it a fair go!

I hope you like it!

Talk soon!

Tuesday, October 19, 2010

Avatar update


Hi all,

Remember the player avatar art sketches we got from Ordinary Obscurity a while back? Well, the final inked and coloured versions have been rolling in, and OMG they are cool. Just wanted to do a quick update to share the awesomeness with you!

I hope you like them as much as I do!

So I'll ask you again... Do you wanna date my avatar? lol I love that song...

Adios!

Friday, October 15, 2010

Colours! The beautiful colours!



Hello again everyone! I've been doing some more work on the outdoor terrain generation algorithm for The Sword of Ahkranox while Ordinary Obscurity tackles the MASSIVE amount of art that I've assigned to them (I feel bad, but they seem to be enjoying it so far, so that's good).

Anyway, as you can see from the screen capture, I've gotten height adaptive texturing working! So depending on the height of each individual square in the "world", it will receive a different texture, from sandy beach to snow-capped peaks.

I've also done some tweaking to build plateaus and valleys more effectively, which I'm still working on... It'll look better soon.

Anywhoo, you may or may not notice the the world is still slightly blocky, but that is because The Sword of Ahkranox is a GRID-BASED first person shooter, like the classic Might & Magic games of old, only all 3D and totally awesome... Also... Side note... I'm currently using SUPER low res textures until I get it working perfectly... Just to reassure you...

Well, I'll give you more updates once it's looking heaps better.

Ta ta!

Monday, October 11, 2010

Back in Black


Hi all! I survived the surgery! Huzzah!

Anyway... I've been thinking a lot about external environments for The Sword of Ahkranox. It's going to be a VERY difficult undertaking generating a (literally) infinite world with rolling hills, rivers, caves, fields, etc, etc...

Sounds like an impossible task, eh? Sounds perfect to me.

So I've been having a go at sorting this out, and guess what? It's starting to take shape! Only really basic stuff at the moment, but keep in mind that this is only a couple of afternoon's worth of work by a drugged-up, post surgical cripple with a limited concentration span... But that being said, if this is any indication, the final version's gonna be gorgeous to look at!

Hope you like!

Talk soon!

Monday, September 20, 2010

Long awaited...

So here's a quick update. I know it's been a long time, but some of you may know that I've been very very VERY ill, lately. As it stands I'm going in for major surgery at the end of the week, and it's going to knock me around for a looooooong time. What does this mean for The Sword of Ahkranox?

Two things...

1) No more updates for a while
2) Due to my being bedridden for a month, I'm going to have LOTS of time to work on the game once I recover from the surgery, so good things will happen! Woo!

Talk soon, and wish me luck!

Adios.

Thursday, August 26, 2010

New Character Art




Hi all,

I know it's been a while between posts, but I've been going through a bit of a rough trot lately (medically speaking) and haven't had much time to work on the game, though that's likely to change soon, so stay posted.

However, while I've been being lazy, Ordinary Obscurity certainly haven't! They've been working on some new character art for the game! Basically when you create a character you need to pick an avatar for them, so they've been working on a set of characters (both male and female) to choose from. It's not the full set yet, and there's no colour yet either, but I thought I'd give you faithful viewers a bit of a teaser of what to expect!

I hope you like them!

(Do you wanna date my avatar? lol)

Sunday, August 1, 2010

Those damned stairs again!

Getting heaps of work done on the game today, and the re-write is coming together really nicely. Sorted out all of the bugs except one... The damned stairs... It's not that they're not working... It's that they aren't actually appearing at all! Once this bug is out of the way though, I'll hopefully be able to work out why the stair/corridor intersections are happening and sort them out! Woo!

Saturday, July 31, 2010

Languages


A preview of the first new language in MSoA. Designed by Ordinary Obscurity. This is the text for a tavern sign, reading "The Frog & Rooster". What do you think?

Tuesday, July 27, 2010

A bug

Finally finished the re-write of the game engine, compiled and ran it and guess what? A bug... Grr... However, it does work most of the time, so it's only a small bug. Now, though, with the new layout, finding and fixing the bug will be much easier.

Stay tuned!

Sunday, July 18, 2010

Back on the Ball

So it's been a little while since I was able to work on The Sword of Ahkranox due to extenuating circumstances, however I dove back in tonight to get the stairs working. Well, after an evening of working on it, I was able to get the left-curving stairs working! Woo!

And yes, yes, I know I promised that I would put up a post regarding in-game languages and such, but silly me forgot to bring the files home from work, so I've been unable to do ANY work on them at all :( very sad. However, I'll do more work on them over the next couple of days and have a post up really soon.

Got myself a brand spanking new Das Keyboard for my development PC so I'm having an absolute BALL of a time programming now. Such an amazing product (no they're not sponsoring me) but if you're a programmer, or do a lot of typing day to day, you really cannot go another minute without looking into getting one. It'll change your world. What is it? It's basically the most perfectly engineered keyboard ever designed. If you're a bit of an old-school geek like me, the "feel" of a button is super duper important to you. Das Keyboard buttons are a bit harder/firmer to push down on than normal keyboards, and have a distinct click when it actually gets registered on the computer. All of the contacts and spring systems inside them are totally gold plated, too, so the keys never wear down or stick, meaning every key always operates perfectly and exactly the same as every other key on the keyboard. You also have the option of doing what I did and ordering the blank version, which has no markings on any of the keys. This is great for both geek factor and your typing speed. I was already typing at an average speed of 87 words per minute, but now I'm doing well over 100. It's awesome.

Anyway, enough of the pitch. I'm going to bed, but I'll be back soon with a post on languages.

Oh, and did I mention that I'm doing Twitter updates now? Add us and follow along with more up-to-date info about the game's development! Woo!

Adios!

Monday, July 5, 2010

Just the Stairs...

So another night has been spent on getting this re-write of the code working, and after a whole evening's work, the engine is creating rooms again. Which means, all that is left is doing staircases.

Almost done then? Not quite... Staircases have the main problem with this engine from the beginning. Almost every single bug that has been in the program has been to do with stairs, so I need to make absolutely positively sure that I do it right this time...

So it's been a long time since one of these blog entries has contained a to-do/completed list, so here's one to keep me motivated:

Completed list:
- Basic test dungeon models
- Character movement (grid based)
- Basic lighting
- Model loading
- NPC model animation
- World asset generation
- Basic dungeon generation
- Multi-tiered 2D levels
- Initial set monster animation
- Fix small bugs in 2D dungeon generation
- Add rooms to dungeon generation
- Get player collision working
- Dungeon decoration population

To-do list:
- Finish re-write of engine and remove stairway intersection bug
- Add t-junctions to dungeon generation
- Add doors to dungeon generation
- Basic AI (no player recognition)
- Range-of-vision processing (hiding 3D models that the viewer can't see to preserve memory)
- Balconies

Aha! Did you see what I did there? I added balconies to the mix... One of my all-time favourite RPG games was "The Elder Scrolls IV: Oblivion". Bethesda Softworks are pure genius and they had the most amazing dungeons in their games. One feature is that some parts of their dungeons contained big open halls that one could look out over from a balcony. You couldn't jump off of the balcony and down into the big open hall, but you would get this tasty little teaser of what you were in for and it really gave the dungeons an amazing sense of enormity, of depth... Plus, there's nothing more exciting than stepping out onto a balcony and having a dozen monsters in the hall below see you and scatter towards the stairs to come and hunt you, making you yell "SHIT!!!" and draw your sword...

Fantastic stuff...

Yeah, I know I'm trying to raise the bar on RPGs with this game, but on the one in a million chance that one of the Bethesda guys are reading this at any point, I want to just say that if this game ends up being a tenth of what the Elder Scrolls games are like, I'll consider myself lucky!

Anyway... Progress! A couple more days and I should have this re-write finished. But I'm taking a four-day weekend this week (Friday to Monday) and I'm hoping to get a MASSIVE amount of work done on this thing, so be prepared for some really over-excited blog posts hahaha.

See you all soon. Sleep well!

Sunday, July 4, 2010

Video Time!

Okay, so I've been promising you guys a new video for a while now and haven't really been delivering. I know, I'm pretty hopeless, but if you read the last post, you'll have seen the new 3D models I've been doing up for the game. These are the high res ones that will be more like what is in the final game. No dungeon decorations yet, but at least you can get a fair look at what the in-game experience will be like when this is done!

Let me know what you think!

Saturday, July 3, 2010

Facelift


After getting roughly two thirds of the way through the grueling task of re-writing the dungeon generator object into its neater, more organised form, I decided to give myself a little break tonight and start work on the high-res models for the game. As you may recall, all of the terrain models that you've been seeing for the dungeon walls, floors and ceilings have been temporary low-res models that I whipped up quickly just to test my proof-of-concept idea. Now I've started working on the proper ones, and, as you'll see in the screenshot, they look REALLY cool now. Much more immersive and detailed than before, don't you agree? Anyway, let me know what you think. It'd be nice to get some feedback on my work!

Also, someone - upon seeing my design of the new dungeon look - asked me whether or not evil monsters would be able to do such neat stonework, so I figured I'd put my explanation here in case that thought process was the general consensus.
My thinking is that a rag-tag band of monsters wouldn't be good enough at mining or tunneling to be able to make their own dungeon hideout from scratch, so they would find temples or whatnot that are still being built by humans or elves or dwarves and slaughter the construction teams and take control of the nearly finished site, turning it into a dungeon. If they waited until it was finished, the place would probably be well guarded, but if they go in under the cover of darkness while it's just lowly construction teams working on it they'd have a far easier time of taking over. Once they had set up shop inside, it would be very easy to fortify.

Anyway, that's why the tunnels I've done up look half-done and still under construction. Though, in the final game, there will be many different "styles" of dungeons.

I will, however, share with you something I've been wanting to let out for a while now... MAN I can't wait to start work on the countrysides! The dungeons are great and all, but I'm beginning to feel... Claustrophobic!

See you again soon!

Sunday, June 27, 2010

Moving along

So I eventually capitulated and decided to re-write the whole dungeon generator object. I originally started writing the first version as a proof-of-concept anyway, so I guess the move isn't really THAT drastic. However, it's a big job as my virtually un-commented, disorganised "rough draft" first version was over 22,000 lines long.

The new version that I've been writing for the last eight days is all very nicely laid out, modular, and split into neat functions, etc. It is also extensively commented and explained in detail at every step. I'm actually finding it a real joy to work on this way. I guess when I first had the notion of making a game which writes its own levels intelligently, I figured I'd get about a third of the way through development and come to my frikking senses ;-P but no, when it first started to actually work I got over-excited and decided to see the whole thing through to the end, and hey, the game is now going to be totally awesome because of it, and it has actually redirected the development process in a whole new direction.

So now that this dungeon generator is working, I'm re-doing it the way that it should have been done in the first place. By doing it in this new, neat and organised way, I will hopefully be able to find, fix and sort out the one or two nasty bugs that were sticking with it the whole time that I couldn't quite find. Mind you... Looking through the code in version 1, it's a miracle that I was able to find anything at all... So messy!

Anyway, I'm about a quarter of the way through the re-write, so as I get further I'll keep the updates posted.

Ciao!

Tuesday, June 15, 2010

It's a bit difficult...

So after a whole day of working on the stair problem, it's still not solved... My main problem is finding precisely where the bug is. You see, when you write adaptive - or polymorphic, as they call it - code, you don't so much as reprogram it as negotiate with it to make it do what you want. It's what happens when you give control of a program over to a computer... I have half a mind to call what I've done so far a proof of concept and start over with a neater, nicer version of the program...

It may come to that, but then again it may not. Time will tell...

Allons-y!

Sunday, June 13, 2010

What's this?


Well well well! What's this? A treasure chest? A low-detail temporary model of a treasure chest, yes, but it IS a treasure chest. What does that mean for the game? It means that I can randomly place objects of any sort throughout the dungeon. Just in case you still haven't figured it out, this means that the dungeons won't all be empty rooms and corridors. Now I can fill them with all manner of objects and items. Chests, tables, chairs, wells, cages, you name it!

Of course, this means that there is a long process of asset creation for me in my near future. I have to create and texture dozens of new 3D objects to fill the dungeons with, but it might be a nice break from all the coding I've been doing to get the collision working.

On that note, I've gotten collision working 100% now. The player can't walk through walls and can run up and down stairs with no problems. I DID record a video of that working, but I'm having some encoding issues, so I'll have to get that to you later.

I also put in the proper loading screen with the progress bar. I always thought it took far too long to load and generate a dungeon, but now I have the loading screen in place, I've realised that it only takes about 15 seconds. Considering the technology we're working with here, I don't think that's too long to wait. What do you guys think?

Anyway. It was a real pain to have to quit and re-load the program every time I wanted to generate a new dungeon, so I put in a dungeon reset function so that with a simple key press I can load a whole new dungeon without quitting the application. This makes testing a lot easier, however, it has highlighted a bug. In very rare circumstances, the dungeon generator still manages to build corridors THROUGH staircases instead of around them, so I need to hunt that bug down, which is a pain. I thought I'd solved all of that...

Anyway, shouldn't take too long to fix up. I'm having a bit more of a relaxing day today, playing some games with a couple of mates and the missus. Back to it tomorrow!

See ya later!

Thursday, June 10, 2010

A quiet one...

Well... Bit of a quiet one tonight, sorry. Not much to report. I got LOTS done, but it's all boring background work integrating the new collision system into the game.

Nothing to show for it tonight, but not long and I'll have some very cool videos to show! Woo!

Nighty night!

Wednesday, June 9, 2010

The problem with stairs...

So yeah, loooooong break between posts... Sorry about that. I've been incredibly ill of late and haven't had much time for work on MSoA. That's about to change, however.

So the main problem for the engine at the moment is collision. Walking around the dungeon, one can't be allowed to walk through walls, or, in the case of a multi-level dungeon, be allowed to fall through the floor.

When it comes to walls, the collision is fairly simple; if a player is standing in north/south facing corridor segment, they are only allowed to walk forward if they are facing north or south. If they are in a corridor segment, it will also only allow them to walk in one direction or the other. So, understandably, this part of the player collision is quite straightforward. Likewise, in-level objects such as tables, etc, can be detected easily with an algorithm something like "player wants to move forward - check in front of player - is there an object there? - if so, do not allow player to move forward - if not, then move player forward in accordance to dungeon segment collision".

So yes, that side of things was working swimmingly, but in MSoA, the dungeons are multi-storey, and thus I had to deal with stairs - ever a problem with me. The main problem when dealing with them is this (and it gets a little hard to explain, so please bear with me): any given staircase has two openings; one at the top and one at the bottom. If you are standing at the top of a staircase and you enter said staircase, you will be going down. If you enter the bottom of a staircase you will be going up. Fairly straightforward. BUT, lets say you divide the staircase into three parts (which the MSoA engine does); part A is the top, part B is the middle and part C is the bottom. If you enter part A, the computer should know that you intend to go DOWN the stairs, and thus move the camera downwards as you walk, making it look like you're walking down the stairs, right? WRONG! That situation is only predicated upon you entering part A of the staircase from OUTSIDE the staircase. If you were to enter part A of the staircase COMING FROM part B of the staircase, technically you should be traveling UPWARDS and not DOWNWARDS.
I warned you it was hard to explain.
Anyway, this COULD be overcome by processing the last section you were in and comparing it to the section you're moving into, however, that would require hard coding data relating to the various sections of the level, and I can't do that because the level isn't being designed by me. It's being designed by the COMPUTER.
So it was a pickle. A very difficult to solve pickle. And while it HAS been a long time since I've done some serious work on the engine, I have actually spent the entire time pondering how to solve this problem.
And, ladies and gentlemen, tonight I managed to solve it. The answer? Sliding collision :)
What's that you ask? An excellent question. Basically, I have thrown together some code that creates invisible platforms in the base of every dungeon segment generated by the computer. Most segments such as corridors, corners, crossroads, etc, simply have a flat square segment covering their floor (invisible to the player, but it's there) and staircases have slanted segments that follow the path that the stairs make in the level's 3D model. Hidden from the player, these invisible platforms act as a sort of guide rail for the player's view, so every time a player enters into a segment, the camera follows the slope of the invisible platform for that segment. Most of the time that platform is totally flat, so the camera just slides along normally, but when entering a staircase, whether it runs up or down, the camera is guided by the invisible platform running JUUUST under the 3D model of the staircase. Since these platforms are only a few polygons each, it doesn't make a big difference in terms of memory usage, and the player can smoothly and easily run up and down stairs (and so can the beasties mwahahahahaaaa)
I have this working in a separate test application at the moment and it works a treat, so now I just need to integrate the code into the game engine proper. Once that's done I'll probably do up a video showing off the new tech.

Anyway, that's enough ranting for me. Good to be back, guys!

Au revoir!

Wednesday, May 12, 2010

New Art



With some of the new artwork coming in, we've got a new main title screen and loading screen. The partnership with Ordinary Obscurity is really shaping this game into something awesome!

For those of you wondering about the name, this game is to be the computer game variant of the card game I developed with my wife over the last couple of years. That game is called Malevolence. This game is called The Sword of Ahkranox, but is being put under the branding of Malevolence since the two games are related.

Anyway, hope you like the new piccies!

Tuesday, May 11, 2010

Purely in Concept


Got some really early sketch concept work from Ordinary Obscurity that alludes to what the final in-game experience will look like (remember how all the models you've seen so far are temporary) and what we've seen so far is looking to be a very immersive game world!

Stay tuned for more soon!

Sunday, May 9, 2010

Technical details...

Lots of progress with development tonight, however it's all boring background technical stuff, so there's nothing to really show for it. Rest assured that the game will be a LOT better for the things I've been doing.

I've also set up the groundwork for something I've been procrastinating over for quite some time in the engine: player collision. Basically the code that stops you being able to walk through walls. It's a tricky nut to crack but I'm finally at that stage where it has to be done, so I spent a bit of time setting up a lot of the background tasks required to make collision work, but I still have yet to do the code for the collision itself. More on that soon.

We got the first round of concept work back from Ordinary Obscurity and it is AWESOME. You can also expect to see it turned into a set of high-res dungeon models soon. And with hi-res models comes the need for viewport culling (hiding the 3D models that aren't in the player's line of sight) otherwise people will need to have AMAZING computers to run the game.

In other - slightly similar - news, I've been toying around with some code to make model animations all play at the same speed, regardless of the computer it's playing on. Generally speaking when you write a 3D engine, animations will play slower of slower computers, and vice versa, and it's actually kinda tricky to normalize all of the animations based on the system clock accurately for all computers, so with luck I'll be able to sort that out.

Yeah, pretty much just grinding out all the boring background stuff that makes the game hold together lately. With luck I'll be able to show you all some really cool screenshots soon. Hopefully once I start work on the hi-res dungeon models created using the new concept art from Ordinary Obscurity.

Well, bye for now!

Wednesday, May 5, 2010

Artistry

Hired a new artist mob to help work on the game today, so a big welcome on board to Ordinary Obscurity, who helped considerably with the development of Malevolence TCG. Their amazing portfolio can been seen on their website. Having the extra art support you can expect to see some big changes (by changes I mean improvements) to the game, and you'll see it all right here, so stay tuned!

Tuesday, May 4, 2010

Progress

Got HEAPS done tonight and now the dungeons are generating all on their own with stairs and different sized rooms!

No screenshots for tonight (too tired) but more progress to be made soon! Woo!

Monday, May 3, 2010

Hmm... Roomy...


Two things are apparent from the screenshot above...

1) I am very tired...
and 2) I got rooms working :D

So now this means that dungeons won't be all tight corridors and stair cases, but now there can be rooms of all different shapes and sizes, too! Woo! Exciting!

This was a REAL puzzler to work out, but after working on it all day I finally just managed to get it working and now I'm ready for bed...

As a side note, I also managed to substantially lighten the in-game experience, so it's not quite so dark. I'll make sure I put up a new in-game video very soon for you all to see it.

Anyway, let me know what you think!

Au revoir!

Sunday, May 2, 2010

No Patience


Well, well, well! It was my birthday today and what did I spend it doing? Yep. Programming this engine hahaha

Yeah, seriously, I'm having fun working on this.

So yeah, another day just working on the random dungeon generator algorithm, and exciting news! I got staircases working! The dungeons are now multi-storey! Up to 10 storeys deep! So far the largest I've seen it generate was 5 storeys, but hey, it's possible. Anyway, take a look at the screenshot. It's totally awesome to see working.

I originally intended to give dungeons 3 different types of staircase: left corner, right corner and straight. Figuring that it would be more difficult to get working, I did the coding for the corner staircases first, and got that working, only to find that the program would break when I put in straight staircases. After working on it for hours I gave up and left it as just corner staircases. They look much cooler anyway. Maybe I'll re-visit the straight staircases later when I have more patience for it.

The corner staircases are cool. In a couple of the dungeons I've been generating, it's put multiple corner staircases after each other, creating a natural spiral staircase that goes down several floors at once. The further I go with this game engine, the more I can't wait to play it! (yeah... chew on THAT sentence, grammar nazis!)

Anyway, the last thing I need to do on the dungeons is room generation, a feature I've been procrastinating over for a week now... It's going to be REALLY complicated to do, but now there's nothing else left to do. Sigh. But the game just wouldn't be the same without them.

Anyway... I've shown a few people some people some of the in-game play and now I have a little fan-club following the progress of development, which is really cool. It's motivating to have people egging me on, so thank you guys! Let me know what you think!

I've also attached a gameplay footage preview... Just as a teaser. Have fun with it!



Well... Until next time! I'm off to bed! Adios!

Thursday, April 29, 2010

Slow, but Awesome Progress




Spent the whole evening tweaking the level generator. It had a few minor glitches in it that only occurred once in every 25 or so dungeons, so that made them REALLY tricky to find... Hard to reproduce a bug in a random level generator hahaha Anyway, it's all solved now and - as you'll see above in the screenshot - the program is now producing huge, labyrinthine, awesome dungeons that are a lot more elaborate than they were last time I showed you. Now all it needs are the staircases to new levels and the ability to create ROOMS, since constant corridors are boring.

Anyway, my playing around with the lighting and normal mapping code paid off as you'll see in some of the screenshots above. You may also notice another little detail that I have been playing with... See if you can spot it... It's non-functional yet, but it gives the engine a bit more of a 'gameplay' feel. Also, while the walls of the dungeon look AWESOME now with all the lighting (check out the screenshots) please keep in mind that what you are looking at are the LOW-RES 3D models. Yes, that's right, it's going to look even better once it's done. What you're seeing are the temporary fill-in models I've been using to test my code! How cool is that?

Anyway, I hope you like it (I think the Minotaur looks kick-ass inside the dungeon setting, personally)

Till next time...

Tuesday, April 27, 2010

Slowed down

After the herculean task of getting the procedural level generator working, I was fairly braindead last night, so I decided to play around with something a bit easier and get the normal mapping happening... I was foiled yet again :( had a bit of progress though! The normal mapping IS working fine, and the previously flat walls are now lumpy and realistic looking, which is exciting, however, the addition of the normal mapping has completely and utterly removed all of my lighting in the levels, so it's back to the drawing board with my lighting and shadow code.

Velly velly sad :(

I'll let you know if I get it working and maybe provide spunky screenshots!

Monday, April 26, 2010

YEEEAAAAHHH BOIIII!!!!



After a massive migraine-inducing programming session I have gotten the procedural dungeon generation working :D

In lay terms, it means that every single dungeon in the game will be different. Some will be tiny, some will be MASSIVE and sprawling labyrinths. What's that? That's in games already? Oh yeah, I forgot to mention that this game is infinite... There are an infinite number of dungeons in the game, and ALL of them will be different! They are generated by the COMPUTER, and not by a level designer.

Similar things have been accomplished in games such as Diablo and Torchlight before, but those games actually only use a 'faked' procedural generator where a selection of pre-designed 'chunks' of a level are slapped together in a random order, so while each level is different and random, you're walking through the same thing over and over again. In The Sword of Ahkranox, EVERY piece of the dungeon is random.

This is gonna be fun to play...

Now I have it working on a 2D plane, the next step is to fix up a couple of minor bugs and then get the game generating staircases so as to build multi-level dungeons. So far the engine supports dungeons that can be up to 10 storeys deep, which - with each level being up to 50x50 grid spaces, that makes a possibility of an in-game dungeon with up to a quarter of a million areas to explore.

I dunno, I can't explain it any better than that... If you're a programmer, you'll understand the staggering implications of what I've managed to do. If you're not... Well... Jump up and down and clap and just accept that it's an amazing breakthrough in video gaming, then buy me a drink when you see me next to say job well done.

Anyway, I've attached a couple of pics of the level generation system (top down) and inside one of the levels (still low-res wall models and zero lighting/props/monsters). Just know that what you're looking at was designed ENTIRELY by the computer, and not by me.

I've also been playing around with the monster's animations. They can now walk, run, charge, dodge, block, be hit, attack and die - among other things. So once I've perfected the level generation, monster population will be one of the next things to do.

So here's the updated completed list:
- Basic test dungeon models
- Character movement (grid based)
- Basic lighting
- Model loading
- NPC model animation
- World asset generation
- Basic dungeon generation
- Multi-tiered 2D levels
- Initial set monster animation

Aaaaand the updated to-do list:
- Fix small bugs in 2D dungeon generation
- Add t-junctions to dungeon generation
- Add doors to dungeon generation
- Add rooms to dungeon generation
- Get player collision working
- Basic AI (no player recognition)
- Range-of-vision processing (hiding 3D models that the viewer can't see to preserve memory)

Adios!

Sunday, April 25, 2010

Frustrations...







Still can't figure out the multi-tiered level generation after spending a whole day on it... Frustrating...

However, to tide you over, here are a few more of the monsters that are in the game.

Saturday, April 24, 2010

BIG progress

Wow, lots done today thanks to my very clever wife (though she would vehemently deny it)

Solved the riddle of the random dungeon generation. Still currently only happening over two dimensions, and in need of some performance tweaking, but now the base algorithm is working it's only go go go from here! It's quite fun to traipse around a randomly generated level, not knowing what's coming up next.

Many games have what they call randomly generated or procedurally generated levels, but it's not so. Games such as the Diablo series or Torchlight have random segment level generation. Basically level designers have built big blocks of segments of levels and those blocks are tacked together randomly. Since many of those segments have scripted events for monster creation, etc, one can predict what will be coming next in these so called "random" levels. In The Sword of Ahkranox, the procedural level generation is just that. Truly procedural.

The Hellfire2 engine (which I have been developing purely for this game) relies on a top secret hyperbolic parabloid procedural world generation formula that I devised back in 2005, so level generation will be a VERY random, VERY unpredictable thing. Should be great fun when you're being chased by an ogre through it!

Okay, so updates...

New completed list:
- Basic test dungeon models
- Character movement (grid based)
- Basic lighting
- Model loading
- NPC model animation
- World asset generation
- Basic dungeon generation

And the new to-do list:
- More complicated dungeon generation on a 2D plane (t-junctions, crossroads, etc)
- Get player collision working
- Basic AI (no player recognition)
- Range-of-vision processing (hiding 3D models that the viewer can't see to preserve memory)

Until next time! Next post should be quite interesting!

Thursday, April 22, 2010

Small progress


As you can see, a fair bit of work was done last night. Some monsters are in the game. No AI yet, but basic idle animation is there. Their normal mapping seems to be working fine, so once the level generation is completed I'll get that working for the environment models, too.
On the topic of level generation, I did quite a bit of work last night to get it happening, but there's still some problems.

Good Stuff:
- The models are loading and positioning fine
- Everything is sticking to the alotted grid schematic

Bad Stuff:
- Corridors are intersecting where they shouldn't be
- I'm not certain yet but I think there may be some object rotation issues

More work on that tonight and on the weekend, though. I'm confident that I'll have something at least basically working by the end of the long weekend. I have nothing else planned.

New completed list:
- Basic test dungeon models
- Character movement (grid based)
- Basic lighting
- Model loading
- NPC model animation
- World asset generation

So, the updated to-do list:
- Get the world generation working (for dungeons, at least) on a 2D plane
- Get player collision working
- Basic AI (no player recognition)
- Range-of-vision processing (hiding 3D models that the viewer can't see to preserve memory)

Once that's completed I'll be able to start work on a 3D plane of dungeon generation! This game has multi-level dungeons, sometimes 10 storeys tall, so once the simple stuff is worked out, the harder stuff (which makes the game better) will come next.

Alex out.

Wednesday, April 21, 2010

Beginnings

This is where I will be keeping a log of everything I do on the game "The Sword of Ahkranox".

So far, as of 22/April/2010 I have completed the following:

- Basic test dungeon models
- Character movement (grid based)
- Basic lighting
- Model loading

Upcoming is world generation, which is exciting, so stay tuned!

[[Stored images - Placed here 4/11/2011]]