Witchcrafter: Empire Legends

Hi :smiley:

I would like to present you a game I’m working on using Defold. It will be a pixel art stylized, platformer like game with puzzle elements regarding crafting magic and alchemy. I’m also trying to make my dream come true and create a game where I could tell different, interesting stories. That’s why I decided to set an ambitious target and my first game will be RPG.

The story is set in a fantasy world where sword and magic is crucial to survive among many dangers. We see our protagonist during a rainy night, when a meteors were falling on the earth. He is a newborn found among wolves in the middle of nowhere by an old man. The man raises him and teaches everything, including magic. When Estel raises, a strange prophetess starts to appear in his life and foretells a dark future of an empire, due to a fabled stone called Xerion, which gives anyone ability to change matter freely. That implies of course an unlimited power but there is no certainty, whether it even exists. Although, it’s a substance desired by everyone.

It could be specified within 2D platformer genre games, but it’s more than a typical metroidvania. I would like to open the world as much as it will be possible. Also, I pay a special attention to the story and characters, thus I created a dialog system for Defold, where conversations could be designed in an external tool that exports to json, like ChatMapper or Twine. I would like to share it with you, when it will be ready :wink:


Moreover, I would like to use linker mechanics to craft a magic on a “Focus” board, where four elements is a base, and you can modify accumulated elemental energy with a specified modifier, for example - push, to perform an amazing spell, e.g. fireball. Because of that I’m working also with particles fx to create effects for every combination in different conditions. It will be also used to create some decorations like campfire, rain, etc. I’m also planning to share it with you too, guys :wink: Below is a demo of what I’m talking about. Worth mention is, that simple lightning is working well :wink:

I’m working on it in Defold since the beginning of 2018, in my spare time, so it’s been almost a year, in which I’ve learned a lot about enginge itself and game dev and it’s the most precious achievement :wink: I hope, I can present soon something, that could be perceived as a prototype of a game. It won’t be possible without Defold, community and open-source. It’s fantastic that we could create almost anything thanks to the people that would like to contribute to the public domain or give us tools to create. Thanks a lot! :wink:
I will be posting updates and I’m waiting for any feedback and comments :wink:

May DeForce be with you! :wink:


Wow, loving this! Are you doing all the graphics yourself, it looks top notch! :eyeglasses:

Looking forward to following this, and may DaForce be with you too! :slight_smile:


Mainly using open art or stuff I bought, but many of them need redecoration or adjustments to fit into overal design or more animations, so i’m using Piskelapp and getting more and more satisfied with effects :wink:


Amazing. Good luck man :+1: !!
and May the DeForce be with you too!

That’s why I thought I had seen them somewhere (OGA love)


Hello again :wink:

Intentionally posting new spooky and gloomy cemeteries images to refer to Halloween! :wink: So now, the attack and the magic spells are working fine :wink: I’m trying to make it as fluent as possible, but synchronizing animation seems to be the hardest part. For now, the animation handling is a completely separated module which communicates with main hero script. Same goes for camera direction. My idea is to create an input lock, when an attack sequence is performed and at the end unlock input, but now it feels that the input is suspended a bit more than it should be. Do you have any better idea on how the fluent combat could be designed?

The story evolves in parallel. Estel will encounter deadly ghouls and undead warriors resurgent by a mighty necromancer that rules in Southern Empire - Navia. The necromancer will try to conquer northern places, where many of Estel’s friends live. Of course, he also desires the Philosopher’s Stone and thus, he has kidnapped Estel’s patron, who probably knows how to decrypt the Emerald Tablet. So Estel will reach many different places throughout his journey to find him.

A lot of work is also with images and decorations. The protagonist now have a red cape instead of brown hair :smiley: I am planning to extend his legs and even to create an animated grass and leaves to increase immersion. I would like to thank at first Luiz Zuno (@ansimuz ) and rvros, whose art is an inspiration for this game, but there are also a lot of others I will put in credits, especially helpers from the forum :wink:


Amazing looking graphics! Looking forward to playing this!


(not my fault, this is the maximum mouth"s radius this smiley can open)
I like the story especially, finely knit, and with a bit of wordplay, this can be kinda lord of the rings type fantasy.

Gimme a bit of idea on what type of combat you want, and probably I can help you as I have some exp in this case
BTW more characters and assets for you Here and here
Daluck be with your game.

1 Like

For now the combat scheme looks like this: input triggers function in main hero script to set the lock flag and send message to animation script to play sequence. After a specific time the collision object is created in front of the hero that triggers a monster in a range to take damage. Then, the monster sends a message to main hero script and “ask for” a damage. Damage is calculated and sent to the sender - damaged monster. When the animation sequence is done (unfortunately I have to set a proper timer for that in animation script instead of having some callback when the finishing frame is displayed) the lock flag is reset to false, so the input is again registered. Because of that I can feel a small delay between attack sequences. I want to create a system when a player is tapping attack button and the hero animates a sequence instead of starting the same animation every time the user clicks or having those delays between. What could be useful I think is the information what frame of animation is displayed currently.

1 Like

It’s in our backlog to expose an animation cursor for flipbook animations. With the cursor exposed it will be possible to start an animation from any frame, read the current frame, animate the cursor using go.animate() and so on. It’s not going to get implemented soon though. Most likely end of Q1 if I’m allowed to guess.


Here’s the surprise for you - A fluent,efficient system to manage combats constantly, and without dealing with input lock and things. A bit wacky still, as I didn’t have much time today, but would give you an idea of how combat can be done. Moreover, I will develop on it and take the concept further after some days, but this should be ok till then.
AttackMelee.zip (58.1 KB)


Wow! It’s great! :smiley: Thank you very much :wink: This is nicely done and animations aren’t interrupted, I will add idle animation at the end and it will be awesome!

1 Like

Hi :wink:

Regarding attack, it is completely redesigned, thanks to @TheKing0x9 ideas, still uses lock, but in a smarter way and animations looks smooth as a shoe shine. And I also care about the sword position - if it was sheathed or handled before next animation is played. At first I was using many scripts for functions like animation or movement under go representing the hero, but for now the more convenient and clearer way is to buck functions into lua modules and use one script for the hero. Monsters gets damage and a label above is updated,

There will be implemented day/night cycle. And it won’t be only about lighting. It is a very useful mechanism that allows for a deeper immersion and engage players to care about the protagonist at night, especially because there will be more dangerous monsters, ghosts and phantoms. And Estel will need to sleep. Imagine a situation when the tired hero stucks in the dark wood and he uses the magic to create a barrier out of stones and mud to protect him against beasts while he could sleep a bit. Now the lighting cycle is handled by a render script that utilizes lighting render target by setting BUFFER_COLOR_BIT, and again, many thanks inter alia to @Pkeod shaders and @ross.grams render scripts! :wink: What I’m dreaming about is to add normal maps to sprites, but now it’s out of my range. Anyway, it’s a great effect to see light at a dark night :wink:

Interesting was the process to adjust color of the ambient light. I experimented with some vectors at a specified time like morning, afternoon and evening, but to create a smooth transitions I fitted polynomial function of each RGBA value :smile:



Amazing work! Love the visuals :slight_smile:



I was working on dialogs and meanwhile, I released Defork :smiley: So hope, it will help you too! :wink: I added FSM to handle dialogs input using dynamic gui table with different amount of options to choose. I also decided to use short option text, that is extended when Estel is saying it actually - I hope it is more natural and easy to control conversation without reading a vast amount of text only to choose the best hero’s answer.

Many choices will be relevant and I’m working on a system to manage and save decisions data, that will store relation between each NPC and Estel, NPC’s dialog nodes and decisions. Creating such nonlinear story is very time and brain consuming :face_with_head_bandage: If you have some suggestions or advices, feel free to share! :blush: My brother is helping me with a scenario and he has a lot of ideas, as he’s a writer :face_with_monocle: We are collaborating on writing missions and I’m taking care about logic connections too.

Don’t know how the project will be updated in the nearest future, because next week I will become… a proud dad - of two sons! :smiley: At once :smile: I think this new role will consume a vast amount of time :smiley:

BR, Paweł


Hello and Happy New Year! :partying_face:

It was an exciting year behind us, I’ve learnt a lot about the engine and game dev, a lot of things happened in my life :smiley: It is also very exciting to write a first post in 2019 about my project :star_struck: (of course I’ve prepared it earlier :stuck_out_tongue: )
In December I’ve completely refactored the code, tidied up everything, made it more readable, tried a lot of things and still trying to optimize and polish my gem. Mobs are very generic now, so I can easily create diverse instances. Hits are based on collision triggers. The biggest change was to replace all the movement and collisions system with @britzl’s Platypus. I suggested inclined slopes that are working great now, so thanks again :smiley: Take a look at a little demo:

Estel can now jump, bounce from walls, walk on diverse grounds and even attack in the air! :smiley: Attacks are scheduled and player can perform a combo easily, but still the clicking rage is tamed. I think, combat is much more dynamic now, so I’m trying to redesign my first thoughts about Focus board for spell casting. Turn-based combat is very popular and comfortable on mobiles, thus I do want to implement puzzle mechanism to perform fight, though it would be optional. Normally, the combat will be real time, but when Estel enters a strange dimension or a singular state of his mind the time drastically slows down and stops, so he can literally Focus on performing a breathtaking attack! :smiley: It will be up to the players which way is better or more suitable for a situation - I wish to make this game convenient to play vertically, with one hand even :wink:

I am glad about the progress and this dev diary and forum helps me with a motivation a lot :smiley: I hope this year would bring us all great ideas, implemented in Defold and shown to the world! :wink:

Happy Defolding in New Year!



So, in the last month I completely refactored the Focus board - a linker type board to collect elements used to craft magic spells. I spent a lot of time on new scripts and graphics and I hope the effect is visible at the glimpse - what do you think? :wink:

Old vs new:

The fascinating thing about the Focus board is its complete encapsulation in GUI! Every block is a cloned GUI node and everything is in GUI, so it is not influenced by user’s screen, hero’s position, camera, etc. And I can display the board in game, while the background is the level collection. It is even properly displayed on an Android smartwatch :smiley: Take a look:

So, when you will ask on what other device can Defold game be launched - here is the answer! :smiley: It is even possible to play the game, of course it’s difficult though :smiley:

Next big thing, I’m working on is magic. Yeah, I’m preparing a cool witchcrafting system where elements can be conjured using different carriers and with different modifications. Everything to engage in the process of creating a spell. Defold particle fxs are used here and effects are exciting for me, though it is an initial version only - what is your impression? :wink:

So, a gameplay is now like this: hero enters Focus mode which pauses the game and the Focus board appears. You can take your time to accumulate as much energy as it is possible on a linker board in limited turns, taking into consideration conditions like weather, environment and mob’s weaknesses. Then you can select one or two basic elements that will fuse into another element. Then you are able to cast a specified element’s spells by pushing it forward (like flamethrower for example), swirling it in a powerful tornado/flamenado/waternado and so on or many other.
If I could ask for a help from our small but engaged community - what do you think of those game design ideas I’m trying to consider regarding casting spells:

  • Turn based - select a card and then play it automatically on a closest mob immediately after a Focus mode (pause mode)
  • Gesture based - have your element energy cumulated and use it later at will while casting spells with gestures (e.g. swipe right/left to throw a fireball, hold a mob to set it on fire and so on)
  • Button based - have your element energy accumulated and use it later at will by clicking/taping on the spell’s button (few for each element would be available at once, probably choosen in Focus mode)

0 voters

And I’m getting back to creating those powerful effects :wink: May Deforce be with you!


Ugh it looks so juicy, give us the demo already :smiley:


Super cool!

Perhaps it’s possible to detect “watch mode”, and display a 4x4 board instead?
Will probably be trickier to balance the game perhaps, but still :slight_smile:


Love the fire effect!


I will surely die if I wait for this any longer. Give us something to play, play and play. :wink:
Great to see the development, just waiting for the first release.
May the Deforce be with you too.