Dysymmetrical - An open-source, asymmetrical game engine (framework)

DYSYMMETRICAL

An open-source, asymmetrical game engine.


I’ve seen that many people want to make an asymmetrical game, and most I’ve seen use the ripped Forsaken source code, which makes games able to be DMCA’d by the Forsaken Dev Team.
This isn’t good:

  • For the Forsaken Dev Team, as people are taking their code and using it for themselves.
  • For the devs using the ripped code, since they can’t make their dream games.

So, since I’m working on two asymmetrical games at the same time, I decided to make the base of the games open-source.
Obviously, nothing from both games (that isn’t my property) will be seen in the game engine for very obvious reasons.
As a side note, no. I’m not affiliated with Forsaken at all and I will never use code made by them. At the very most, I’ve used some assets for the UI as examples (which will also get replaced sometime soon) and the code that’s relatively similar is rewritten or refactored to not be exactly like the original to stay out of DMCA problems and to be as similar in functionality as possible.

If the Forsaken Dev Team wants me to change something, I undoubtedly will, let it be certain assets or rewriting some code.

Also take into account that Rojo is used to make the engine, so if you want updates, proper collaboration between devs or to make contributions to the project, use it.

Read the README.md file in the GitHub project to have more in-depth info on the topics that aren’t features.

That said, let’s have a look at everything this has to offer.


Fully documented utils & classes

For everything that’s useful to devs using this engine, there are comments that describe what every variable does, including the utils in ReplicatedStorage and ServerScriptService.
Some scripts may not include this documentation, but if they don’t it’s either because it’s really easy to understand or because it’s not too important to the usual developer that isn’t working actively on the engine itself.


Simple UI Order in a single table (top = 0)

It’s something very simple to make for one self, but it’s important to note as it lets you manage your UI in a much more comfy way.


Simple character & emote definitions (With templates!)

Every character, emote and ability you make in the engine is as easily customizable as can be, with many, many possibilities.
For example, every character is stored in a single module, with a variable to represent them and with an Abilities table in which you store your ability variables, which work the same way (READ THE TEMPLATES!).
Templates are also available in ReplicatedStorage.Characters to help people understand how the framework is like.


[…] (ability definitions)


Pre-made customizable UI

(Forums butchered the quality of this image!)
There’s ready-to-use UI, available to customize however one wants.
It’s still a W.I.P., so expect a couple of things to be missing.
As stated before, if the Forsaken Dev Team wants me to change something urgently, I will, even if it’ll eventually be different.

Shop


Inventory


Stats

Settings (W.I.P.; missing certain types)

Player Info in the Player List


1k+ lines of documented Server & Client utils

The count of lines is at the bottom!


Those are all of the remarkable features at the moment that are easy to show in a forum post. To see how characters and general gameplay are like, please download the example place and see for yourself! (Big disclaimer here! Replace the animations in the template characters, as those are owned by CodeBots and they won’t load! They’ll be replaced by default in a small patch soon!)

Make sure to check out this passion project of mine (working on it since May 2025!) in GitHub, and feel free to contribute, as I’m doing this without expecting any money or fame involved.
For proper usage of the engine, please don’t remove any watermarks (prints when the game initializes) and see the license associated with the project (GNU GPL-3.0; you’re allowed to do whatever you want with this as long as you keep credit and keep the same license in your project).
Read the README.md file in the GitHub project to have more in-depth info on the topics that aren’t features.

Edit 1: Forgot to say the engine is a W.I.P.! Expect some things to go wrong and, please, report bugs in Github Issues or in the replies below

Edit 2: There are a couple of anti-cheat modules available in ServerScriptService/Security. If you want to take them for your project, feel free to use them however you want. Absolutely no credit is needed. :]

Edit 3: For assistance with the engine or even full partnership proposal (me supporting your game personally), my Discord user is dyscarn.
I’d appreciate it if anyone that used the engine told me for me to check out the game they’re making! :]

Thank you, and have fun creating! <3

10 Likes

So this doesn’t use forsaken code? But is just formatted and made the same way.

2 Likes

All of the code is original to my knowledge and anything that’s similar is based or added by a couple of friends that did two things in the entire project and are now unaffiliated with it. I’m never using the exact, same code as theirs because it’s not the purpose of this project.
It also has some differences in structure and in ways to make content because it was made from scratch and I tried to recreate as much as possible.

1 Like

few issues I found with it.

the killer’s camera stutters around a lot

the killer doesn’t seem to have any moves nor does the survivors, but this could simply be because I am supposed to make my own things

2 Likes

Forgot to mention that the project is a big W.I.P. and that there are still many, many bugs.
Most of the reason of it being open source is that the community can contribute and fix issues to help make a better project, but that’s up to personal choice.
I’ll look into those bugs in a few.
If there’s any output messages, please share them.

Okay, here’s a theory:

  • The killer camera I have to look into since out of all of the tests we did in both of the games this is being implemented on we’ve never had that issue, so please if you have anything hinting towards the source of the bug tell me here or in Github Issues.
  • The moves not appearing might be because something went wrong while initting them, let it be missing assets (without permission) or actual, faulty code that I have to look into, though I’ve tested new features in the repo itself and it seems to work just fine. Basically, it might be because of asset permissions and people have to make their own stuff.
1 Like

I did see some sort of init issue, but I was too lazy to take a photo.

I have found some issues with the project because I was moving it from GitLab to GitHub and some stuff messed up for some reason.
There were two things:

  • Long delay before the round actually started because of the server yielding while trying to find a player’s equipped skin
  • The Animate script having a wrong name in its Animate.idle object.

Those issues have now been fixed and the engine should be in a playable state.
The TerrorRadius script has also been slightly refactored and rewritten to be fully integrated into the engine and to remove server-dependency.
I’ve also noticed that players are sometimes missing their abilities due to the SetupCharacter remote not firing for no reason at all… I’m looking into everything, though some help would be really appreciated. I’ve left some prints in the commit just in case it helps at some point.

1 Like

Okay, I found a fix for characters not initting properly locally sometimes because of RemoteEvent stuff: I made the player look for its role and init on its own instead of having to rely on a RemoteEvent containing all of the data since all of the needed data was already set in the character itself on spawn from the server using attributes.
Thanks for making my brain’s neurons align and interconnect for once! :ok_hand:

make the logo asymmetrical it’d be really funny
i’ve never played forsaken but this looks like a cool project, nice job

3 Likes

Wait, you’re completely right.
A friend of mine made the logo for me in 2 minutes because I have no idea how to draw and I forgot to tell him that.

Thanks!

2 Likes

I’ve fixed some issues and added a new example skin to inform on how you can make skins yourself (apart from adding a new util func OnInit() in the characters).

Can we remove the watermark as long as we credit you in the game description?

1 Like

That’s also fine, you can keep credit however you want.
I’d also like it if anyone that used the engine told me so that I could check out the games made with it. :]
I’m available for assistance through GitHub Issues and will soon post my Discord username in the root post.

this engine looks pretty solid! however:

why not use pesde instead of wally?

there are some unnecessary files in the github repository:

  • i’m pretty sure you can add selene.toml and .stylua.toml to your .gitignore
  • you have two versions of rojo (in aftman.toml and rokit.toml)
  • the topbarplus module in src/ReplicatedStorage/Utils could be a wally dependency

you could also change the license to GPL-3.0 instead of MIT (but that’s just a nitpick :sweat_smile:)
(i forgot gpl-3.0 requires projects using it to be open source… oops!)

1 Like

I appreciate your suggestions!

  • I don’t really use wally as I never actually used any packages and switching to pesde could be a good idea (now that I’ve added TopbarPlus). I’ll look into that.
  • I’ll get to adding selene and stylua config files to the .gitignore in a second! :sweat_smile:
  • I never noticed I had two versions of Rojo installed, my bad!
  • I’ve added the GPL-3.0 license ever since I made the public GitHub repo, I never used MIT in it, so yup. :ok_hand:

Without relation to your comment (to inform anyone that reads this), I’ve also added a proper emote wheel instead of a panel! :stuck_out_tongue:

1 Like

So I’ve tried to switch to pesde, and it was pretty confusing. I probably couldn’t find anything to do it since the pesde website doesn’t load for me and I don’t see any installation / usage docs outside of the webpage, but at least I’ve done everything else you suggested, including adding TopbarPlus to Wally as a dependency.

1 Like

fair enough! pesde was pretty hard for me to figure out too, but it was definitely worth it

1 Like

Took me a while, but emote purchasing and equipping is done! :]

Hi,

any way of having and one source editable demo place?.. or a .rbxl to check out?

Thanks