Sorin Iliuta

Every game needs a bit of randomness

Author: OnyxDarkKnight

Long Time No See

(if you are here about the program and how it works and not about my story just scroll to the bottom c: )

Hello everybody, it’s been a while! Yes, I am not dead, I’ve simply been busy. I was in the mist of final assignments and exams at my University, had to write a bunch of documents all in preparation for my next academic year, plus more personal stuff, leaving me with almost no free time or simply demoralized or tired to the point that all I wanted to do was either sleep or watch Youtube videos (been watching a lot of Northernlion). However, I had some tiny amount of free time left and I did not let it to waste.

As you know, Ultimate Sin will have a different set of Skills for each character. That is all good, till I reached the point of designing the skills. Originally I simply started with putting everything in a spreadsheets, which was good until I wanted to do more than name then. It was getting pretty clustered, so I decided to just make a program to help me out with that. It would be a simple program that allows me to create characters and skills for it, whilst having a clear visualisation of all of the skill’s properties (such as Damage Strength, Area of Effect, etc) you know, the normal attribute of a skill in a video game. After weeks of working on it in the spare time I had or when I felt like coding the program is finally done 😀

Originally I thought of keeping the program just to me, or since it is a tool I created for Ultimate Sin, release it as part of a future DLC for people to use, but then I though, why restrict people to this? I want to help my brethren game devs out there who might or might not be struggling with keeping track with what character
has what skills. Besides that, the characters also display a set of statistic meant to help you out with balancing things out. It’s not the best, but it works and if it can help somebody else besides me, even if just one person, then I’m happy 🙂

Ok, backstory done, let me show you the ropes of the program and underneath this you’ll find a download link to it.

The program was created in Java and thus the file is a .jar. Inside it I have attached the source code as well, however WARNING! Since I developed it with the idea of it just being a tool I didn’t bother with making it pretty or organised or anything!


When you first start the prograFilesm two folders will appear called “characters” and “effects”. One of the cool things about the program is that it generates JSON files of the characters, so if you’d like to use that somehow in your game to generate characters easier, then go ahead 🙂

Inside the program you’ll see two tabs callCharacter Tabed “Characters” and the other “Status Effects”. You’ll start in the Characters tab with one button, which I assume is pretty obvious what it does, so for now we’ll focus on this tab for now.

New Character

Clicking on “New Character” reveals a text field for a name and another Newely Created Charbutton to create the actual Character. Your character has now been added to the list.

Selecting the character will reveal even more buttons and a bunch of statistics that don’t really help you right now, since you don’t have any skills yet. You probably also notice the the Big “No” icon next to the delete button and next to the character as well. Character Info





If you have an image in the “characters”Icon File folder with the same name as your Character, it will display that as its icon, however this won’t be displayed until you restart the program (or if you click edit then  save).


NoSkill Creationw, going into the actual skill creation, things are pretty basic and self explanatory. You have your Skill name text field, some drop down menus for options regarding the skill’s Distance, Effects (will get into that in one second), Attack Type, Area of Effect, Damage Strength, Damage value, Environment (which basically says if the skill interacts with the environment or not, eg. the bullet bounces off the wall, the rock destroys chests, etc), Ally Affection (does it or does it not affect your allies if they are in the radius of the skill?)

and finally a Description box for any other detail the actual program did not offer (eg. How long does each effect last? What is the chance for the skill to activate? etc).

I will now list the options of each attribute:

  • Distance: Close Ranged, Long Ranged or Physical Contact
  • Effects: blank initially (will explain below)
  • Attack Type: Magical, Physical or Influential (which is a new type of attack that Ultimate Sin will have)
  • Area: Area of Effect, Single Target, Multiple Targets, Random Targets or Spread (originally called Cone, but decided to go with something more generic)
  • Dmg Strength: None, Low, Medium, High
    • Note, this ties in with damage value. For the best performance you need to rate the damage yourself.
    • This means that if you create a skill and say it does 2-4 damage and you consider that to be low damage compared to other skills, set this to low; it will improve statistic knowledge 🙂
  • Environment: Static or Physics
  • Ally Affection: Friendly or Destructive


Before creating a skill, even if you could do it now, I said I’d explain the Effects list first. You can clearly see it’s blank right now. I assume you know what this means and went straight to the Status Effect tab and created one. This one is pretty straight forward as well. You can Name a skill, select what kind of type it is and give it a description (like saying what the effect does). Effect Icon Display
Also, just like characters, inside the “effects” folder this time. This will Effects Icondisplay that image as the icon for the effect, but just like the character you either need to restart the program or click “Edit” then “Save” to make it display.Poison

NEffects Listow that you created an Effect, when you go back to creating a skill you’ll be able to see it in the list of effects. Simply click it to tick the checkbox. Also, don’t worry if you have multiple effects, the drop menu will stay open until you click out of it.

Created Skill

Now that you created your skill, you’ll be able to see everything, including an icon on the skill label for a representation of each option you selected.

Characters, Skills and Effects can be deleted and only Skills and Effects edited. The changes update as you save, so need restarting the program if you misspelled something or put in the wrong setting.

Just like Effects and Characters, Skills also have the Skill Icon nameability to display an icon. The image needs to be put inside the “characters” folder and be named “CharacterName_SkillName”. Just like before, restart the program or edit and save to update the icon if you added it after creating the skill.Skill Icon

Final Character

Congratulation! Now you know how to use my tool. I hope this helps you in your game dev journey 🙂 You can download the program here



New Features

So I finally got the path it takes to travel to a certain tile to render properly. It is quite the revelation, considering it took a few days to do it. Slowly, but surely, things are getting done. It still needs a bit of fine-tuning. I mean, how could this be part of developing a game if it really were that easy. And, as I was working on this, I was also thinking of skill ideas, just for Gluttony for now, but still better than nothing. Managed to come up with 25 of them.


I’ll be honest though, I most likely wouldn’t have managed to get some things done if without the people who helped me, so props to José Guerreiro (@cakeslice_dev) for helping me figure out why my custom path renderer was being highlighted by his outline shader. Also, props to Aron Granberg for his awesome A* pathfinding library. Without that, this would have taken a heck of a lot longer. Will definitely purchase it once I actually make some money, just to show my support towards him 🙂


First Post!

The site might not be done. I might have plenty of things left to do, but at least I have this one post to mark the date I started working ont his.

It’s cold, because it’s England. I have nothing better to do than to work on the website. I wish I could work on the game, but this has to be done. I am all alone as of yet, but one day my partner will team up with me and maybe one day we’ll have a proper texturer as well. Until then, this company is stuck with my horrible HTML and drawing skills, but awesome programming skills B)

You know, this is all written and added manually. That means I keep having to manually edit the html page to include the blog post of my choice. That also means I have to manually add images and position them properly, no website or tool to help me. Because as a programmer that learned about website development, you are apparently forced into making a website by yourself, without the use of an external tool. Or is it just me? Maybe I am too stubborn and won’t accept help, because “I learned web development”. I guess this is my way of trying to justify learning that in the first place, even if I suck at this.


© 2020 Sorin Iliuta

Theme by Anders NorenUp ↑