Pixel Art Witchcrafter - RPG Puzzle Story


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:

DEFORK - easily create interactive, nonlinear stories, dialogs, conversations

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 - Nawia. 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.


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.


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.

Choose first frame of play_animation?

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!


Hi :wink:

Regarding attack, it is completely redesigned, thanks to @kashyapaayush32 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: