EndlessClient

URL: https://www.github.com/ethanmoffat/EndlessClient Background EndlessClient is an open-source client for an old MMO, Endless Online. While the original developer has been actively working on the game in the past year, the original game went offline around 2012 and hadn’t received updates for about 4 years prior to that. An initiative to create an open-source server emulator has been in development since 2008/2009, and has been running a “clone” of the original game server for the past few years....

etheos

URL: https://www.github.com/ethanmoffat/etheos Background eoserv is a popular open-source option for running an emulated game server for Endless Online. However, the developer experience for setting up a local environment is extremely lacking. There are also a number of features in the game that remain unimplemented in vanilla eoserv. Project Goals There are two primary goals for etheos: Provide an excellent developer experience that simplifies setting up a local development environment Implement missing features from vanilla eoserv Features SQL Server Support Vanilla EOSERV ships with database support for MySQL (MariaDB) and Sqlite....

PELoaderLib

URL: https://www.github.com/ethanmoffat/PELoaderLib Background While developing EndlessClient, there was a desire to support cross-platform execution on both Windows and Linux. However, the graphics loading relied on Win32 API calls LoadLibrary and LoadImage which were not available on Linux. There also did not exist a good library for loading PE resources from binary files in C# that worked cross-platform. Project Goals PELoaderLib was developed as a library to enable EndlessClient to load PE resources in a platform-agnostic way....

XNAControls

URL: https://www.github.com/ethanmoffat/XNAControls Background While developing EndlessClient, a pattern naturally emerged while working with XNA/MonoGame that relied on the use of individual game components to represent UI elements such as buttons, textboxes, labels, etc. Splitting up the game rendering logic into individual components made a lot of sense to develop individual, reusable pieces of UI code. Project Goals XNAControls serves to provide a UI library for EndlessClient (or other MonoGame-based games). Individual components handle their own input and events....