• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

C# Epsilon GameEngine(my little work)

Fenrisus

Ferin-Sha
Joined
Mar 19, 2010
Messages
205
Reaction score
339
Location
Canada
Hello there, today i will tell you about my MMO/Singleplayer/anything else game engine.

I called this Epsilon and them written on C# :) Why im do this? Becouse there is no any engine like Unreal, Gamebryo for C# directly. Monogame? Re-implementation of XNA and they laggy. Unity3D? For be fair, that is NOT C# game engine. Well, i can provide API and runtime NET assembly runner or Emscriptenn (for convert them into JS) but that is not C#. Hmmm, just imagine, that is same to tell - OpenTibia written on LUA, OTClient & TFS - maded on lua :D Same way Unity3D do with C#...just like scripts.

Well, what is different to Monogame or other C# game engines?
(I dont wanna describe it like 2D, 3D blahblahblah).
1)SDL2 or SharpDX
2)Normal complex system for Client-Server communication (support websockets and all normal protocols).
3)Powerful multi-threaded Framework with alot of features like initialization steps before start. Just place attribute over your function. Like this:

Code:
//also this will show Initialize Game Services message!
  [Initialization(InitializationPass.First, "Initialize Game Services")]
  private static void Init()
  {
  DBManager = DatabaseManager.Instance;
  DBManager.Start();
  }
4)About database: MySQL(main) and other drivers. For MySQL we have there a great serializer. You dont need write a query manually. You just declare class like that:

Code:
  [DBTable("accounts")]
  public class Account : DataObject
  {
  [DBField("id", DataFieldType.INT, true)]
  public int id;
  [DBField("Username", DataFieldType.STRING, false, false)]
  public string Username;
  [DBField("Password", DataFieldType.STRING, false, false)]
  public string Password;
  [DBField("Email", DataFieldType.STRING, false, false)]
  public string Email;
  [DBField("EmailAuthToken", DataFieldType.STRING, false, false)]
  public string EmailAuthToken;
  [DBField("EmailConfirmed", DataFieldType.BOOL, false, true)]
  public bool EmailConfirmed;
  [DBField("accountKey", DataFieldType.STRING, false, false)]
  public string accountKey;
  [DBField("displayName", DataFieldType.STRING, false, true)]
  public string displayName;
  [DBField("AccessLevel", DataFieldType.INT, false, true)]
  public int AccessLevel; //is Gamemaster?
  }

And easy can got already converted object via T Find<T> or List<T> FindAll<T>.
There is just an example of work:

Code:
  try
  {
  Account acc = new Account();
  string key = KeyGenerator.GeneratePasswordToken();
  acc.id = 0;
  acc.Username = Username;
  acc.Password = GetPasswordHash(Password, key);
  acc.Email = Email;
  acc.displayName = displayName;
  acc.AccessLevel = 1;
  acc.accountKey = key;
  acc.Fame = GSSettings.NewAccountFame;
  acc.Credits = GSSettings.NewAccountCredits;
  acc.pilotSlots = GSSettings.NewAccountSlots;
  if (GSSettings.SMTPEnabled)
  {
  acc.EmailAuthToken = KeyGenerator.GenerateEmailAuthToken();
  acc.EmailConfirmed = false;
  }
  else
  {
  acc.EmailAuthToken = "empty";
  acc.EmailConfirmed = true;
  }
  acc.Push();//MySQL INSERT
  acc = null;//cleanup. value.
  acc = GetAccountByLogin(Username);//reload it. SELECT * FROM blahblahblah

Also, you dont need to care about creating database. Framework able to optimize, restore, backup re-create tables automatically. You just need write a classes like described before.
==============
And many other technical features it contains. Also, all of them exists in documentation. There will be over9000 lines of words for describe them all. Engine good for both - client and server side, dedicated for MMO Games.

Better ill show you what i can do with those engine :)

3D:
And upcoming 2D action rogue-like game! It's my own browser-based game (Yeah Epsilon can do that too).
Build your own spaceships, fly on it and pew pew in retro pixel-like style!
(Hardly inspired by RotMG, but why not? hehe)
Gifs Album
tmCAKjP.png

wRPG4Va.png

opmIvoc.png

Those game will be released at this summer ;)

=================================
I am hardly working on engine for make them great. If someone interesting in this, i also can share full source code of my engine in future (when some major things will be done). If you like C# and looking for game-engine, let me know. Also, if you have a knownlege for help me with that - you are always welcome!;)


Best Regards!
 
Back
Top