Saturday, April 4, 2015

One Year Into My First RPG - The Rise of Dagon




If you follow any of the Indie Game development communities in various of places like Reddit, TigSource, or even the forums on game engines a piece of advice you'll see fairly often is "don't make an RPG/MMO for your first project".

Doing so is widely considered a recipe for failure ; there are just too many things you need to learn that adding the complexity of an RPG or an MMO to the mix pretty much guarantees that you will fail, and fail super hard.

I was lucky enough that I didn't fall in to the trap of picking something too big to start with; instead I made a match 3 game, then another, and another. And then I made a few other types of small games. Eventually I made somewhere between 7-11 smallish games in the past 3 years (depending on do game jams count?)!

At the tail end of all those games I created a game that I spent a lot of time and money on ; but the publisher whom I thought was going to take the game - didn't take it.  And then I struggled to find anywhere to put it at all.

In the end that game was a gigantic flop - I think it sold a total of 4 copies.
 
After much introspection I finally decided that it was time to go ahead and do what I had wanted to do from the beginning - which is make an RPG.

I resolved that going forward I need to spend my time on a game that I can say I'm glad that I spent my time creating it - even if not a single person ever buys it.  Because in the end I might indeed just be making this game for myself.
 
So this is the story of what's happened in the year since I started that journey.  What I've learned, how far I've come and where I think I have yet to go.




So you might think as soon as I decided to make my 'dream game' that all would be well in the world - but the truth  is the grass is always greener where the dogs are pooping.  So it wasn't all cake and ice cream.

All of a sudden I realized that I had spent 2-3 years learning how to make casual and mobile games - but I actually didn't know just exactly how to make an RPG.

For a guy who grew up playing RPG's to admit to myself: "uh I don't exactly know how to do this" - lets just say it was awkward.

But in this business if not knowing what you are doing is going to stop you - well lets just say you won't be here for long ..

So I did what I always do: I sat down and made a list of what I needed to figure out.  Slowly, over time this list became my "to-do" list and the game started to take its first nascent form.

Luckily I had formed this list based approach through making other games and it hit me as I was doing it - this is one of the reasons why you don't make your RPG first game.   Yes; all games have lists of things to make but RPG's have extra layers.

The minutiae of inventory management and a loot system, character classes, character advancement, spell systems, combat systems, game world construction, monster design, and the list goes on.

Compare that list to a typical match 3 game "line gems up in a row, and figure out if 3 or more in a row match up, if so destroy them and fall in new gems" or even a platformer "Character jumps on platforms, kills or avoids monsters, collects coins, reach end of level, repeat".  The complexity of underlying design is at least double if not quadruple or more depending on the depth of the RPG you want to create!

If I hadn't cultivated the basic skills of how to organize my project and start breaking out the major tasks that need to be done to get it off  the ground - it probably still wouldn't be off the ground today.

Project Status


So I want to share this graphic which tries to plot out some of the progress of the pieces for The Rise of Dagon I've been working on the past year.



As you can see I've made a lot of real progress! 

Systems have been implemented in many areas, the core game loop exists, there has been strong work in the level format, yet the game still needs lots of work to complete.

So lets go over some of these areas in more detail!

Firstly I wanted to discuss the level format in general which would include Level Logic,

This work is somewhere around 80% done , what remains are slightly more complex logic elements such as coding floor pressure plates, levers and buttons on the walls in to the level logic to help implement puzzles in the game.   Also I have not put in any logic to transition the player vertically from say level 1 to level 2 yet.

When it comes to combat, movement, and monsters (pathing and AI) the work here is very solid ; at this point I could implement any melee style monster in to the game very quickly.

Servant of Dagon model


In fact I was able to get the Servant of Dagon in the game in about 1 hour ; I did have to do just a bit of refactoring and move some items to a base class when I did so but now that work is done further melee monsters should be even easier.

I have not yet put in ranged monsters yet - but this should be fairly easy in general ; the only new part to that will be the ranged weapon implementation - whether it be a spell or a ranged weapon (dagger, arrow, etc). I have a fairly solid idea how to do this and I hope to get a ranged / caster monster in the game fairly soon as it will make combat more interesting!


Next we have the GUI, Inventory, and Procedural loot systems - these are so tightly integrated it's hard to work on one without having the others. I spent a couple of months putting these three together - ironically when I was doing the inventory I naturally started working on procedural loot but really didn't acknowledge to myself that I was taking on this work!  The side effect of that is when the inventory started taking a bit longer than expected I had to stop and review what was going on and realize that I was in fact doing two things at once!

I'm still not completely happy with the look & feel of the inventory but the base functionality is there. It is in  a very nice spot to iterate upon it and tighten it up to feel good before the game ships.

One area that hasn't progressed very far is the Quest system.  I successfully tested a 3rd party plug-in that does in fact work ; however one of my goals is to make sure everything I do can be exposed in my level editor.  I have not yet had time to take on the research effort to make sure this 3rd party quest system can be exposed in my level editor.

If it can not - that means I'll have to write my own!  So once that research is done - that might actually dramatically skip forward 5 notches in a very short amount of time but right now that area is a risk as it might need a lot of rework!

Another area sorely needing some attention is the skills and spells system. I have done work on paper to plot out what the base of this is going to look like but none of it has hit code implementation work as of yet.

This was left on purpose because I had to have character Affinity Powers in and wanted to be able to take in to account bonuses on their Affinity Powers, and Attributes before working out how skills and spells work - as when you have a high strength, and are using a fire based weapon you might get bonuses to both with your  Blazing Sword of the Inferno!

Finally - the game art is also very early in the process.  That is on purpose for two reasons:


  1. I've been focusing on getting the game's architecture in place
  2. I might like to do a kickstarter and get some artistic help; so if I do too much of the art myself it then becomes wasted time.

Overall the project status is in really strong shape.

Often the hardest work is getting a system in place!  Once a system is in place adding some enhancements or fixing a bug or two is a very reasonable amount of work. So I'm really excited about the overall project status today!

Production Issues


Even so there still remains a massive amount of unanswered questions right now in my project and its a little bit scary to think I've spent a year on this and there is anything unknown?  Is that normal? Is that good? Is that bad?

I don't really know the answer to any of those questions - in fact there might not even be a correct answer at this stage.

Most days I don't spend too much time worrying about them either - but in moments of frustration or when I am stuck or when I feel the overwhelming burden of a project of which its utterly unclear when the end is in sight?  Yeah , at those times, I worry about that stuff a lot.

The biggest challenge ironically appears to be the games art.  This should come as no surprise - most people reading this are probably indie game developers - we all struggle with art after all don't we?

Well my problem is a little different you see I have a dirty little secret: I've been a video game artist for much longer than I've been a coder!



So I can do the art by myself ; but creating the art takes a massive amount of time and all the time I spend doing art is time I'm not programming in more features on the game.

I know - I can hear it now "That's an enviable position to be in!", or "You've got some nerve to complain about that!".

But it's just not all ice-cream and cake. Everything takes time when your a solo developer. I picked a game that needs a certain level of visual fidelity - in part because I knew I was personally capable of doing that level of art.

I could have chosen to do a pixel art style for my game couldn't I? But should I have done that?

 I give myself grief over that frequently. I knew damn well that producing mid-to-high res art would triple to quadruple my production time ; but here I am spending the entire week modelling the Servant of Dagon and not getting any code in to my game during that period.

And that's why I'm bringing it up here - it is constantly a source of concern that the art level I chose was the highest level that I am personally capable of doing.  By choosing that I've caused everything to take longer.  I'm not sure that was the right decision - and I can't say when I will know either.

There's no reason I couldn't have a made a successful game like this with a "Minecraft-like" level of art after all?  I mean how can I hope to compete with the visuals of a game like the Legend of Grimrock by myself? They have a team with dedicated artists!

So I can't compete with them on art - but I'm going to sit here and spend hundreds upon hundreds of hours making art that the community will probably end up saying "oh this doesn't look as good as that other game!". I have to ask myself: why am I doing this? Why didn't I choose an art style that was easier to create?

The only answer I have is I want my game to look as good as it can.  I am fully invested in this game and I won't be happy if it looks bad - and while I may painfully struggle through long art production times I'm just not sure I could live with a game that had a lower production quality?

Building An Audience


So if you are a scrambling indie like me - you are wearing many hats:  Programmer, Game Designer, Artist, Sound designer, Musician.

Those jobs are plenty hard enough and not all of us have strong skills in those areas so its quite the challenge.

But there's another skill that really seems to be a polar opposite skill to me and that is the Marketing skill.

Being a good programmer usually means you spend a fair bit of time staring at a computer and at a wall of text. All the time you spend staring at the wall of text is time you are not out there shaking hands, making social connections, and networking.

When you are busy creating your game, wearing one of your developer hats, not only are you not doing Marketing - you are also not building the skills it takes to be good at doing Marketing either.

Yet it's hard to find a blog post, a Reddit post, or Gamasutra article that doesn't tell you that you should spend a huge amount of time building your audience before you ship, before you kick start, before you Steam Greenlight.

I do my best to spend a certain percentage of my time building an audience for the Rise of Dagon - but ironically its in a status where it is most interesting to fellow developers. I can share plenty of things about how I'm making it that other dev's might find a little interesting - but its not far enough along that a player would really get excited about it.

So for all the efforts I've made over the past year .. TigSource Devlog, Reddit Posts, G+ Sharing, Blogger Blog, Screenshot Saturday submissions, Tweet's etc.   I really feel like I probably have an audience of less than 100 people at this point - and most of those aren't the audience for my game - they are an audience for shared learning and experiences about the game development process (probably why you are reading this right now).

And so despite dedicating time every week to growing my audience I have failed to connect with gamers in any meaningful way.  I strongly believe this is  "chicken before the egg" problem .. The Rise of Dagon is my first non-casual game; so even though I've plenty of experience making games - I haven't been delivering my games to people who identify as gamers.  Therefore I still have to ship this game before I can even begin to hope for an audience of gamers.

And that leads in to the next area which is Kickstarter.

Kickstarter Concerns


As noted above - I've had a real struggle building an audience for my game and as such I strongly suspect a Kickstarter effort would be extremely challenging.

All the information that I can gather at this time seems to say "Bring your audience with you to Kickstarter, do not expect Kickstarter to create an audience for you".

It certainly seems like good advice, right?  I mean if  you had 10,000 followers already and did a Kickstarter you could expect some portion of them to come and back you on a Kickstarter campaign? Right?

But when you have .. well lets just say close to no followers.. what do you really expect on Kickstarter?

There are literally HUNDREDS of active campaigns right now! How do you expect to stand out? After the first day you'll be pushed so far past the first page of projects how will anyone find you?

I'm at a place where I could do a campaign .. my project has real code, real game play, decent graphics.

But should I?

If I have no audience what is going to happen? If I fall absolutely flat on my face and not a single person invests in my game .. is that going to crush me?

What would it do to you? Would you give up?

I can imagine a lot of developers saying "NO! I would never give up on my project!" and good for you!  That's also my first reaction.

But when you stop and think for a minute; if you fail there are additional layers of meaning. It doesn't just mean that you didn't get the funding.

It also means that not enough people cared about your project.

Not enough people were interested in your project.

If indeed people don't care and they aren't interested .. maybe you are doing the wrong thing?

Maybe failing a Kickstarter is a message to you - stop wasting your time?

Maybe not though, maybe it just means you didn't bring an audience and because not enough people saw it - it just didn't fund. Maybe its that simple.

Maybe you just suck at Kickstarters?  That also doesn't necessitate you are bad at game development though does it?

But in my mind - a Kickstarter campaign takes incredible resources to do, and brings risks to your project just by doing it.  And depending on the outcome you could find yourself in a worse spot than when you began the Kickstarter!

If you fail the campaign you've wasted potentially two months or more of your time and will have a really huge confidence killer to deal with.

Can you survive that?  Not everyone could.. something to think about!

Summary


Other than artwork I could see myself being able to finish the game in the next year.

That's a really cool thing to be able to say.

When I first started on this journey I made a silent estimate to myself that it would take approximately two years to get this game done. I realized at the time - I could be dramatically wrong about that estimate; having never had made an RPG before.

Now that I am one year in ; I think that another year of work will definitely put this game at minimum in beta status, but if I can get help on artwork it might be sooner..

Getting help on artwork seems to be a nearly impossible venture as an indie dev with no budget.  I'ts really a vicious circle - artists are starving and need money for their work - and dev's are starving and need art for their game to succeed.  The solution seems to be to get funded via Kickstarter.. which is a gigantic effort in itself (as pointed out above).

Its been a really great year for The Rise of Dagon's development and I am really excited to begin tightening this game up and seeing it come in to beta this year and hope to ship early next year!

Thank you for reading, Please leave a comment if you have any questions!

No comments:

Post a Comment