An Indie Oldschool Role-Playing Game

Blog

Developer Update #4

Developer Update #4

By on Nov 29, 2013 | 5 comments

Taking it easy Hello readers and followers of the DarkDale dev blog! It’s been a while since the last post, so time for some news on how the game is progressing. If I didn’t write more regularly recently, it’s because I actually took a short break from working on the project in October. Besides it being the busiest month for me otherwise (this game being still financially a side project for now, on which I work for “free”), I felt the need to relax a bit after the intense summer. I had been working on it 50-60h per week for 4 months straight, development was going at a steady pace, I started getting some attention from games news sites (thanks rpgfrance!), I opened forums, a kickstarter was planned next… and then I realized I had started rushing things. I was trying to add more “features” to get the blog post going and show progress, and skipping ahead in development – “I’ll iron out the details later”. But the details to iron out started accumulating and I realized that burning myself away on overtime and cutting corners was NOT the right way to create the game that I was dreaming of. Recent launches of “final” or “early access” versions of some other games (that we won’t name here), riddled with bugs, confirmed me in that belief that good things take time. If I really manage to put out a good game, which I really hope, I wish to believe players will follow, no matter when. And the way to do this was to take some time off, and come back to the project with a fresh eye and mind, and then go on developing it one thing at a time, with care, paying attention to details, like I was doing from the beginning. So… here’s what’s been brewing. Not that GUI again Yes, the user interface went through another iteration. I had developed the GUI panels for the champion portraits, then inventory, then skills, and character stats, and spells, as I was developing each part of the structure. This process of building elements on top of elements leads generally to results which tend to lack global organization and coherence, but...

Read More
The Dialogue System

The Dialogue System

By on Sep 22, 2013 | 4 comments

DarkDale – as you obviously know if you have been following this development blog – is an oldschool RPG, which draws its inspiration from classic games such as Dungeon Master. That common ancestry is obviously set to inspire comparisons with another recent incarnation of the Dungeon Crawler genre, Legend Of Grimrock: yes, both DD and LoG will feature grid-based movement, mapping, puzzles, exploration and real-time combat. But we aim this game to be more than just dungeon exploration, and fully assume its “role-playing” pedigree. CRPGaddict recently provided a very useful distinction between framing and background stories. To quote him: I’ve used the term several times in my blogging, and I want to make clear the distinction between a back story and a framing story. Back stories simply explain what’s happened in the past, and how we got to our present circumstances. The player then carries the narrative forward. Framing stories, on the other hand, describe the beginning, end, and edges of the game, and what happens in the middle is really unconnected. You could replace it with a different “frame” and the player would barely notice, because the story itself is hardly referenced in-game. In fact, it often feels like the developers wrote the story after designing the game. By the same token, you could put the same frame on completely different content. Ultima IV, Champions of Krynn, and The Magic Candle all use back stories. What happens in the game–all the NPCs and elements you encounter–is inextricable from the continuing narrative. Dungeon Master, Bloodwych, and most roguelike games use framing stories. As a true hommage to Dungeon Master, Grimrock adopted to an extent this framing approach (a fact which otherwise does not diminish its value as a game). In DarkDale, on the other side, the player’s progression will be essentially story-driven, the party pursuing the background story and “carrying the narrative forward”. I’ll Do the Talking All these story elements have to be passed on to the player somehow. “Lore” obviously plays an important role in setting up the stage through books, item descriptions, places and character names, notes and scrolls, maps, writings on walls and other static world elements. But to get the quests rolling, nothing beats the good old dialogue. The last few weeks have thus been spent in implementing this distinctive feature of the game. Along the way:...

Read More
Magic in DarkDale (Part 2)

Magic in DarkDale (Part 2)

By on Aug 26, 2013 | 0 comments

Last week, in Magic in DarkDale (Part 1), we introduced how magic spells would be learnt and cast, and how spells were divided in five magic schools (Elemental, Mind, Nature, Light & Dark magic) and two tiers (Low & High magic). Let’s take a quick look today at what magic-user classes will be able to wield those magic spells. If you haven’t already, please take a look first at the Classes in DarkDale post which discusses the classes system, and Skills and Combat which details skills a bit futher. In a nutshell, remember than all classes can learn all skills, but are not equally good at learning them. How fast a class can learn a skill is determined by the skill modifier, by which invested skill points are multiplied to get the actual skill of the character. So in the tables below, percentages do not indicate how good a character is at doing something, but how good he is at learning it. A Mage may have a 100% Staves skill modifier, but that’s only a potential: if no skill points are ever invested in the Staves skill, that mage will be clueless about what exactly to do with that piece of wood. It works the other way around too: a 40% Nature Magic skill modifier doesn’t mean a Mage can’t be good with nature magic. It just means that a Mage will need to invest two times and half the amount of skill points in the skill to get the same result as a Druid, but he can do it if the player wishes so. At last, don’t forget all those numbers are still in the design phase – development will change them for sure (you can already see that a number of skills changed since the previous posts on the subject). Also, the discussion forums are now open, if you wish to participate in the discussion around the game development. The Mage The most magic-oriented class, the Mage has spent years to study mysterious books and arcane arts, trying to master the unknown. Elemental Magic is the prime skill of mages, with Light and Dark Magic coming close behind. The two specialization paths of the Mage support those orientations: by opting to become a Wizard and then an...

Read More
Magic in DarkDale (Part 1)

Magic in DarkDale (Part 1)

By on Aug 19, 2013 | 5 comments

The magic system in an role-playing game is always an important part, closely integrated with all areas of gameplay. Too simple, too complex, too weak, too powerful… it’s not an easy to task to get right. While balancing is still way down the road and all numbers can change, here’s a glimpse of how magic is designed in DarkDale. Dude, Where’s my Spell-book? First of all, the main model adopted will be that of the so-called “spell-book magic”, as opposed to variants of runic magic (Dungeon Master, Legend of Grimrock, Ultima Underworld). Spells will thus be learnt and written in a spell-book, from where then can be subsequently be cast multiple times. In a classic way (Eye of the Beholder, Baldur’s Gate), spells will come in the form of scrolls, that you can either use to cast the spell or inscribe it in the spellbook, consuming the item. This system gives verstility to scrolls, as buying or finding additional ones even if you already know the spell is not worthless, as they can be used at no mana cost, for these though moments. Once learnt, spells can be cast for as long as the caster has mana available, so no Vancian “memorizing” mechanics. Casting spells only depletes mana, as opposed to physical attacks which borrow from stamina (champions in DarkDale have three stats: health, stamina and mana). However, an exhausted mage is no good, and a character will be unable to cast spells if its stamina is below 10%. As spell casting is done through a separate icon on the character panel, the champion hands are free to hold other objects, such as weapons. This stamina requirement is there to keep in check spell-casting and fighting at the same time. If you hack and slash too much with a heavy sword, you might find yourself too exhausted to concentrate on a fireball afterwards! Note that in any case, all champion’s actions will be unavailable until the end of the cooldown period whether you attack or cast a spell. Each character will be able to define 3 quick-spells that are readily accessible from the character panel when you need something magical fast. You can of course always cast any spell by opening the spell-book panel and selecting...

Read More
The World of DarkDale

The World of DarkDale

By on Jul 30, 2013 | 3 comments

Most updates up to now on this blog discussed the game mechanics or offered development insights, but we haven’t disscussed much the setting of our adventure to be. While everything is not determined yet, the larger plot and game world elements are known. Also known is the fact that lore will be present everywhere in the game, to insure an immersive experience beyond puzzle-solving, combat and survival dungeon crawler modes. So, let’s take a firs look at some background information. But before… Parlez-vous Français? Yes, DarkDale now has multilingual support and will be developed natively in French and English. I speak fluently both languages, thanks to the wondeful environment of Montreal, and will proudly offer an accurately translated game in French for all role-playing games fans out there in Quebec, France and elsewhere in the world. Not only that, but the entire language elements are defined directly into the objects themselves and scalable to any number of languages: uiDescription = { en = "A common sword, forged from crude iron. A basic soldier's weapon, nonetheless capable of dealing decent damage when wielded by talented hands.", fr = "Une épée ordinaire, forgée dans un fer brut. Une arme de soldat basique, mais néanmoins capable d'infliger des dégâts décents lorsque maniée par des mains habiles.", }, That way, official or fan-made translations can be made down the road to port the game to other languages. There are also ways to indicate gender and plural versions of the objects’ names , and the text display code will be smart and able to write correctly articles in cases such as: Pseudo-code: “What do we have here?” + <indeterminate article> + <item name> +”? I can give you ” + <selling value> + “gp for ” + <object pronoun>. “What do we have here? An axe of dexterity? I can give you 575 gp for it.” “What do we have here? A flaming axe? I can give you 360 gp for it.” “What do we have here? A poison arrow? I can give you 2gp for it.” “What do we have here? 8 poison arrows? I can give you 16gp for them.” Note however that even if the game is being developed in two...

Read More
Developer Update #3

Developer Update #3

By on Jul 22, 2013 | 4 comments

Some major progress has been made since the last update, and the game is slowly starting to shape up to something playable. Here’s what’s new for DarkDale this time:   Artificial Intelligence in DarkDale Our first creature, a small bat, has been now fully rigged, animated and imported into the game! Beyond the relatively straightforward task of creating the animations for the different actions (move, turn, attack…), and coding in the creature component to contain and manage all those animations in the game world, this required setting up the entire structure managing artificial intelligence and pathfinding (dungeon navigation). Artificial intelligence had to be flexible, adaptive and, most importantly, easily scriptable. After reading multiple articles on AI, trying to see what would be the best option, I finally stumbled on this interesting one, and decided to go ahead with a strcuture of layered Finite State Machines. If you do not know what an FSM is, it is a simple control structure for artificial intelligence that has been prevalent in game development for a long time. The basic idea is that an entity is in one state at a time, such as moving, sleeping or attacking. Obviously, “attacking” involves doing a lot of different things, such as evading blows, striking, blocking… so FSMs evolved into Hierarchical FSMs (HFSMs), where each state can have multiple sub-states. While generally fine for simple tasks, this structure was deemed too rigid in the last decade to fullfil the more dynamic behavior requirements of open-world / sandbox games such as The Elder Scrolls. Different more advanced solutions have been found, such as Behavior Trees or Hierarchical Task Networks, but most of these seemed a bit overkill for a dungeon crawler. The solution of layering independent FSMs keeps the advantage of their simplicity but at the same time allows more flexible AI combinations. The creature AI in DarkDale is thus separated in three elements (or layers): the State layer, the Behavior layer and the Action layer: States govern global modes. For example, a creature can be in the “Wandering” state until it sees a player, in which case it can switch to the “Attacking” state if it is hostile. Depending on what’s going on, the state will...

Read More