https://github.com/Net5F/AmalgamEngine Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Skills + GitHub Sponsors + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} Net5F / AmalgamEngine Public * Notifications * Fork 0 * Star 8 An engine for easily creating virtual worlds License AGPL-3.0 license 8 stars 0 forks Star Notifications * Code * Issues 2 * Pull requests 0 * Discussions * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights Net5F/AmalgamEngine This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 4 branches 3 tags Code Latest commit @Net5F Net5F Update README.md ... 5faedfe Jun 11, 2022 Update README.md 5faedfe Git stats * 591 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time CMake Added ASan, bugfixes. May 11, 2022 Libraries Removed static linking of libc/libstdc++. Jun 8, 2022 Resources Packaging improvements. Jun 5, 2022 Scripts Packaging improvements. Jun 5, 2022 Source Ran formatter. Jun 9, 2022 .clang-format Updated AUI and .clang-format. Apr 3, 2022 .cproject Changes for MSVC portability. Apr 20, 2022 .gitattributes Moved .bin lfs tracking to the same file as the rest. Apr 27, 2022 .gitignore Build and script updates. Apr 23, 2022 .gitmodules Replaced zlib with lz4. May 9, 2022 .project Moved NewWorlds to this repo as a start. Apr 12, 2020 CMakeLists.txt Packaging improvements. Jun 5, 2022 CMakeSettings.json Added Release config to VS build. Apr 23, 2022 LICENSE.txt Added GNU AGPLv3 as the chosen license. (No greed) May 16, 2020 README.md Update README.md Jun 11, 2022 View code [ ] The Amalgam Engine - An engine for easily creating virtual worlds Vision Status Current Future Joining the demo world Building Windows Visual Studio (MSVC) MinGW Linux Contributing Bugs Features README.md The Amalgam Engine - An engine for easily creating virtual worlds Watch 150 clients in 1 area load test One of our single-area load tests (150 clients constantly moving). Click to watch. Vision (Not all implemented yet, see Status section) * Easily create isometric, sprite-based virtual worlds. * Start from a template and have a full working world, including client, server, text chat, and account management. * All needed networking is built-in, and adding new messages for your custom features is extremely easy. * Load tested with 150 clients in 1 area or 1000 clients in groups of 10, all sending 4 inputs/second. * Targeted for use on relatively low-spec hardware (tested on a $30 /mo rented server). * Live, in-world map editing. Use permissions to let players build things, or restrict it to your developers. Status Current * [*] Implement, load test, and optimize the netcode. * [*] Implement tile maps, iso rendering, and figure out architecture between the sim/rendering/UI. * [*] Build minimal UI library. * [*] Build sprite editor. (lets you add 3d bounding boxes to sprites for draw order and collision calcs) * [*] Import sprite bounds data into engine. * [*] Implement world map persistence. * [*] Implement chunk and tile update streaming (live, in-world map editing). * [*] Implement spatial partitioning grid for entities. * [*] Implement interest management system. * [*] Refactor UI library (spatial grid, nice event propagation). * [*] Implement world editing UI. * [*] Implement collision (simple placeholder). * [*] Further netcode load testing (get ready for users). * [ ] Split single repo into engine and project repos. Future * [ ] Implement text chat, chat server. * [ ] Implement sprite animation. * [ ] Implement login server, account db, account validation. * [ ] Implement web server, account creation. * [ ] MVP is done. Joining the demo world To join the demo world and play with other people, you can download the latest release and follow the instructions in the README. Currently, the client application is hardcoded to connect to a server ran by Net_. Building Windows Visual Studio (MSVC) 1. Run Scripts/Windows/InstallDependencies.bat, passing it the path you want to install the dependencies to. 2. Open CMakeLists.txt in Visual Studio (Open -> CMake). 3. Update CMakeSettings.json (in this repo) to point at the various SDL folders in your installation path. 1. You'll leave this file dirty. Don't try to commit it back upstream with your personal paths. 4. Project -> Generate CMake cache (or just let it run if you have auto-config on). 5. Build -> Build All MinGW For MSYS2/MinGW, we don't have a dependency install script. Here's the list: pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-gdb mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_ttf mingw-w64-x86_64-SDL2_gfx mingw-w64-x86_64-SDL2_net mingw-w64-x86_64-catch Then, build through the Eclipse project or follow the linux instructions for a command line build. Linux Had to update to Ubuntu 21.04 for g++ 10.3.0 (older versions didn't have support for some C++20 features I needed.) I haven't yet locked down an SDL2 or CMake version, we'll see where it ends up. 1. Run Scripts/Linux/InstallDependencies.sh, then build through the Eclipse project, or: 2. (From the base of the repo) mkdir -p Build/Linux/Debug 3. cd Build/Linux/Debug 4. cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON -G Ninja ../../../Source/ 5. ninja all Contributing Bugs Bug reports and fixes are always welcome. Feel free to open an issue or submit a PR. Features Unsolicited feature PRs will not be reviewed. Please ask about the feature plan before working on a feature. Collaboration is very welcome! That being said, there is a fairly solid vision for the near-future of this engine. If you would like to contribute expertise or take ownership over a feature on the roadmap, please make a post on the discussion board. About An engine for easily creating virtual worlds Resources Readme License AGPL-3.0 license Stars 8 stars Watchers 2 watching Forks 0 forks Releases 3 v0.4.2 Latest Jun 9, 2022 + 2 releases Languages * C++ 89.8% * CMake 8.4% * Batchfile 1.1% * Other 0.7% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.