Thursday, June 9, 2011

Day Job crunch is over

I think my main day job (read paid job) crunch is mostly over, so hopefully I'll get some more Magelore done. I've still managed to squeeze in a few polish bits and pieces and bug fixes over the last couple of weeks.

I've restructured the starting area so you get access to the shop earlier and before the "please buy the full version" blocker is reached. I've also added 3 secret areas now to the first dungeon. I think the secret areas work quite well (one requires a key found in a crate in the dungeon),  so I'll definitely be putting in lost of secret areas around the place.  One mechanic I really want to use is passworded areas, where you need to gather clues from people and collectables in order to get through to the secret area.  At the moment the reward is generally gold, but I'll probably add some cool enchants that can only be learnt from items hidden in secret areas.

Story wise, I'm stuck again - which means I spend a lot of time polishing instead of getting the content going again. While its great that the game will be so polished, I really need to force myself to continue the story and get the game released.  There's plenty of extra (non-critical) polish I can do after release.

Bugs - had to add more infrustructure in for tracking down some annoying load/save game bugs.  Looks pretty stable in game now but may map editor is still generating bad IDs occasionally and I haven't tracked down what the repro is for that.. Should be easy to fix if I can work out "when" it is happening.

UI - did some more polish to the UI, especially the keyboard entering. The numbers have particle effects behind them now and rise/fall in a more interesting way. Much happier with it.

Grues - finally, after some Twitter talks with my friend MadGarden - author of the latest Sword of Fargoal - I've added some Grues. These are the mystical creatures from Zork which appear and kill you if you try moving in the dark. I think it works quite well in Magelore - you always have a light spell so no reason to go walking about in pitch darkness.   I'll close with some Grue screenshot goodness.


Don't go walking in the dark or the grues will eat you.

Saturday, May 28, 2011

Weekly Update

I'm going to try and do a quick update at least once a week to help keep momentum going on the project.

Again I'm in some crunch time on my day job - which currently involves working on a distributed F15/F18 simulator. Still, I'm managing to sneak in a few hours a few nights a week.

Right now I'm trying to remove a couple of rare bugs... I recently restructured all the Spawners so I could set spawner parameters per map,  where previously you could just reference a spawner type by name and had to have it setup in a global definition file.  This has created some issues with invisible spawners blocking your path.

The load/save of levels is the biggest thorn in my side.  It's quite volatile to changes to any systems,  and with the game content getting longer,  I really don't want to have to start from scratch each time to test things. Generally its pretty stable at the moment, but I do have at least one rare bug to track down.  So I'm adding some new debug logs to track it what caused it next time it happens.

Content wise,  I've finished all the tutorial and starter missions and have my first quest set in the second city.  I've been stuck at this point for a few weeks now,  and found myself concentrating on polish and features which is always easier than adding quest content.

Monday, May 23, 2011

Updating again...

Its been a while since I've update the blog. Work on MageLore really slowed down at the start of the year but I've gotten back into it in the last couple of months and made some real progress.  So I thought it was about time to update the blog and start showing off some of the improvements.

Firstly, you can now be a male or a female. I thought this simple choice would open up the demographics a bit. The female character is the first composite human picture in the game, made from two attractive female celebrities, though I'd be impressed if anyone can guess who they are.

I've been reworking the upgrading system to try and make it more palatable to a broader audience, but without losing the ability to customise your characters.  Instead of upgrading 5 stat points per level, you now get to choose a single stat to upgrade from a drop-down screen that will appear.  To compensate for this simplicity, there are now 5 mage classes that you pick on creating a character. Each class has some specific benefits that are intended to influence the play style.  While it is no World Of Warcraft, it seems to be working pretty well in my playtests so far.

The virtual joypad has been replaced by a swipe interface. Based off the feel of Sword of Fargoal, you can now swipe in 8 directions to move around. A swipe direction is maintained by not removing your finger after the swipe. In the video I've enabled a debug mode that shows how the virtual joystick tracking works.

The HUD has moved to the top left of the screen and shows your level, gold and mana/hitpoints/xp. Pressing the player level square takes you to the inventory screen where you can view stats, learn spells, or inspect your inventory and missions.

There is now a quest helper which will track a single quest on screen showing where to go next to complete the current task. For kill tasks, this will take you to the area where the enemies spawn. Having this prevents you from ever wondering around aimlessly and lost, especially if you find yourself on the main map but forget what you should be doing next. It also removes some of the "find the objective" gameplay, so I've had to compensate in other areas, like having hidden rooms and treasure to discover.

The Time of Day counter is now a circular motion. This makes it much larger and seems to work marginally better though I'm not 100% happy with it yet.

I've removed the night/day/war/peace complexity from the enchantment slots. All slots are simple active slots now.  The old system was a little to abstract and detached from the gameplay to work. So again, its been simplified to reach a broader audience. To compensate for the loss of depth,  each slot can now be collecting magical essence from enemies and placing it on the slot. Upgrading a slot increases the strength of the enchantment for that slot,  so the player still has to choose which enchantments to put in the stronger slots.

There are some other changes but its late so I'll end up here and continue again in a week or two.
The video today goes from character creation to near the end of the tutorial mission.

Sunday, January 30, 2011

New blog on up on AltDevBlogADay

Just a quick mention that I've posted my first blog on AltDevBlogADay.  It looks like the blogs on that site will be focussed more on the technical aspects of Magelore such as how the engine is formed, and how I solve particular coding problems in Magelore or in general.

So I will continue to blog about the month to month progress of Magelore to this site.

I'm flat out with work at the moment - both my day job and Magelore, so I won't post a full blog now. I have made a few graphical improvements to Magelore's front end.  I've added a data driven particle system so I can hopefully add nicer effects for magic and much quicker than before.  I've also tweaked the load/save system so all levels will now be persistent,  but I can still and and remove objects during title updates, so that was fairly important to me.

I'll definitely try and get a new blog out over the next week with pictures and video.

Till then,  cao cao cao.

Monday, January 10, 2011

AltDevBlogADay

Just a very quick update to mention that I have signed onto altDevBlogADay.com

so future magelore blogs can hopefully be seen here to and more frequently.

I'm not really sure what I'll blog about,  but I expect Magelore will get a fair mention and any progress I make on Magelore will appear in a blog there for sure,  hopefully with lots of lovely videos of progress.

I'm undecided if I should continue to post here also. We'll see how things work out.

Friday, December 31, 2010

New Year Update

And so 2010 slips away.  The original plan to have magelore as a Xmas 2010 game has been buried for many months now. Trying to keep enough cash flow to keep afloat has been slowing down progress to a crawl. Seems I can't stay up to 2am every night of the week - not sure why I'm so tired lately. Gotta sort that out - I need those hours.

Happy New Year

To celebrate new year, I've been watching predator while making notes on magelore quests. Yes, I am a part animal - don't try to keep up with me,  I'd just wear you out.  Anyway, it appears that I will really need some dynamically generated dungeons to provide enough monsters to grind on. This is quite a deviation from plan - I'm not sure how much extra content I need to keep the dungeons interesting.  A few side quests like - go rescue little jimmy from the deep dark cave will add a lot of gameplay and grinding for not a lot of work. Ive never written a dynamic dungeon generator but the algorithms look pretty straight forward.  I should be able to just give a list of monsters and herbs that I want in the dungeon and some prize for reaching the bottom and how many levels there are. I'll need to jot down some more design notes - how to the players go up and down. What happens if you die in a dungeon. What happens if you exit and immediately re-enter - will it just be an exploit of infinite monsters to grind on?

The original plan was to just populate the world with monster areas and you can fight them on the mainland. I'll keep looking into making that work. Currently you go up to a monster spawner and just wait and kill them as they come out - not really good. Could randomise the spawns - so they never spawn in front of you. Just hang around an area for a while and you will find them, but never know where they are coming from. I guess I'll try this first. I think some dungeons would add a lot anyway, if I can chuck them in without too much effort.

Am I the most indecisive person in the world? I think I"ve changed my mind twice during the length of this blog. Oh well. Keep writing stuff down and implementing and testing. It's pretty obvious when something is working and when its not working. At the moment all I know for sure is that the spawning needs more work. Perhaps I've made the map layout too dense in an attempt to keep it from looking too sparse. Will need to experiment with that too.

I've got about 7 NPCs now. That's most of my family now and good friend from work and his wife. Need a few old wise men, and a couple more miscellaneous and that should be enough for the first release. 

I did some art revamping to the gui. Added some texturing to the inventory screen and the magic sidebar. Looks a truckload better. I think the health/mana status bar is a bit small,  and there needs to be a bit more fanfare when you get XP from monsters to give you a good feeling of achievement. I really wanna get some more content in first though - I got the tutorial mission in a couple of months ago and have made no progress on adding other missions. I'm fairly optimistic that once I get the next mission in place, it will build a lot of momentum.

Till later... party on dudes.





Thursday, November 11, 2010

Much ado about nothing

It's been hectic hear but not in a good way. The company I have been with for 10+ years just folded, and I've been frantically looking for new work. I don't have the confidence to go full time on iPhone work since the last 3 wretched games apps only made a few grand each. I envy all the college aged developers - if there was something like the app-store around when I was living at home, doing university, it would have been glorious. Now we old farts with families need to do this as a very part-time hobby.

But I digress... so the company went down due to lots of staff with no paid projects sapping all the cash. I stayed with them with my team for another week hoping the current paying project could be salvaged but unfortunately the publishers didn't want to play ball with starting up a new company to finish the project so it was resume time for me. I quickly got a new job with another company in Brisbane but they got their funding cut and revoked a bunch of job offers a few days later so it was back to square one again.

Nearly a month later and I've now got a contract working on a war simulation project which should be a lot of fun and with an added bonus of being able to work from home. A substantial pay cut, but now that I'm contracting and working from home I should make back some of the money in savings from travel and taxation. I'm just registering my new business name now - Mad Muppet - which I hope to release Magelore under sometime early next year.

As for Magelore, while I've been mostly demotivated by the whole company-going-down affair, I have managed to get a small amount down. I've added a shop interface which uses the same universal inventory screen that everything else uses. Not the prettiest thing in the world but functional, flexible, consistent and done.

I've also done a small revamp to the hitpoints and play hud as seen in this shot..  In the top left you can see the player hud. Not sure if it is too small yet - will take some playtesting on the device. Should be trivial to enlarge if it necessary. The enemies now just show their hitpoints and level. The level is important since I use a WoW style adjustment feature to make sure it is very hard to kill enemies above your level, regardless of how you have specced and equipped. It will still be important for me to try and balance the game so an equal level monster is comparable in power,  but the level adjustment trick just covers my ass to make sure no-one can just breeze few the game after finding some exploit with the enchantments.



Now I've hit a point in the project that has bogged me down a bit - filling out the storyline and quests. I've decided to start setting myself numeric goals - like number of spells needed to release the game,  number of quests needed per level, etc.  Having defined numeric targets will give me a definitely marker to aim at, as well as a feeling of developmental pace. Firstly, there will be just 20 character levels in the game. I think that should be sufficient for a $1 iPhone game - I don't want the game to be too long that people don't complete it. I'd rather make a smaller $1 game and then release episodes or sequels. This is not because I am stingy - I actually think people would prefer to be able to finish the content and then going onto the next part at their leisure rather than get some 15hr epic that 90% of the public get tired of after a few hours. The trick should be to have nicely finished off storylines, but with some untied plotlines that can be expanded into sequels.

 So next on my list is to come up with 20 unique spells and up to 3 levels of each spell. I think that should be more than enough variety for a game of this scope. I know the top level spell will be some sort of vulnerability spell that will require quest-based ingredients to learn and will be needed to kill the final boss. Now I just need to fill in the content to cover from the end of the tutorial to the end boss :)

Ok, enough for now. Back to filling out my ABN forms.

p.s.  Just saw this brilliant line from John Carmac on iphone games.


"The Escalation programmers...codebase is all STL this, boost that, fill-up-the-property list, dispatch the event, and delegate that.
I had been harboring some suspicions that our big codebases might benefit from the application of some more of the various “modern” C++ design patterns, despite seeing other large game codebases suffer under them. I have since recanted that suspicion."


I've been harboring the same suspicions since I've been something of a dinosaur and completely avoided boost, and only recently embraced STL though the assembly bloat it generates still irks me. Nice to see someone like John Carmac back up my exact internal dialogue. Now I don't need to feel so guilty at not liking the overly complex template meta-programming that seems to be the norm now... Would love to see what his current large-project codebases look like.. Apparently he's still been using C till quite recently.