{"id":13820024,"url":"https://github.com/mysticfall/Alensia","last_synced_at":"2025-05-16T07:32:49.509Z","repository":{"id":148807507,"uuid":"86885846","full_name":"mysticfall/Alensia","owner":"mysticfall","description":"Programmer friendly framework to build RPG style games on Unity engine.","archived":true,"fork":false,"pushed_at":"2018-01-14T01:06:29.000Z","size":6473,"stargazers_count":75,"open_issues_count":10,"forks_count":7,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-11-19T19:43:49.686Z","etag":null,"topics":["framework","game","unity","zenject"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mysticfall.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-04-01T05:15:41.000Z","updated_at":"2024-10-06T05:25:44.000Z","dependencies_parsed_at":"2023-05-29T01:00:23.748Z","dependency_job_id":null,"html_url":"https://github.com/mysticfall/Alensia","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysticfall%2FAlensia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysticfall%2FAlensia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysticfall%2FAlensia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysticfall%2FAlensia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mysticfall","download_url":"https://codeload.github.com/mysticfall/Alensia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254488452,"owners_count":22079430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","game","unity","zenject"],"created_at":"2024-08-04T08:00:57.193Z","updated_at":"2025-05-16T07:32:46.908Z","avatar_url":"https://github.com/mysticfall.png","language":"C#","funding_links":[],"categories":["C#"],"sub_categories":[],"readme":"# Alensia\n\nProgrammer friendly framework to build RPG style games on _Unity_ engine.\n\n**Development is on hold indefinitely since Jan., 2018. Please read the _Status_ section below.**\n\n## Motivation\n\nI've been writing business applications in _Scala_ and _Java_ for quite a long time, but I always wanted to create my \nown game someday.\n\nI had thought I'll never be able to do that until I discovered _Unity_ is freely available on _Linux_ (which has been my \nmain OS since 2001), and supports C# as its main language. So I was like \"Why not?\" and decided to give it a try.\n\nBut even though I could grasp basics of _Unity_ and _C#_ without too much trouble, I soon realized that it requires \ncertain changes in my attitude, or mentality to follow the way that is recommended by tutorials or any other material I \ncould find on the internet.\n\nAs a programmer, I cannot but think that the most important parts of any system I build to be the code itself. I believe \nthat class hierarchies are the conceptual models which represent the system as a coherent whole, for example, and \nreading API documentation is the best way to figure out any project, and the likes.\n\nHowever, with _Unity_, you are supposed to purchase a bunch of items from Asset Store and throw them into your game \nobjects and configure them via GUI. Then you can fill in the gaps with 'scripts' which are often monolithic, heavyweight \nclasses that cannot be instantiated outside the Unity runtime, or be easily reused without copy pasting the source.\n\nAs such, you are actually _discouraged_ from designing a coherent structure with class hierarchies, and it's not easy to \nfollow commonly regarded best practices in programming, like 'programming to interfaces, rather than implementations', \nor preferring POCOs to improve testability, and etc.\n\nI'm not saying the _Unity_'s way is inherently bad. But at least for those people who have strong programming background \nand intend to create a game on their own, I thought there coud be a better way for them to utilize their knowledge.\n\n## Requirements\n\n * _Unity_ `2017.1` with _.NET_ `4.6` API compatibility (Change in _Player Settings_).\n * [_Zenject_](https://github.com/modesttree/Zenject) `5.3.0` or later.\n * [_UniRx_](https://www.assetstore.unity3d.com/en/#!/content/17276) (Requires \n `ENABLE_MONO_BLEEDING_EDGE_EDITOR`, and `ENABLE_MONO_BLEEDING_EDGE_STANDALONE` scripting symbol).\n * [_UMA_](https://www.assetstore.unity3d.com/kr/#!/content/35611) (Optional) Used for _UMA_ integration API and demo.\n * [_Reorderable List_](https://github.com/cfoulston/Unity-Reorderable-List)\n\nThe demo requires [_Standard Assets_](https://www.assetstore.unity3d.com/en/#!/content/32351) \npackage to run, but strafing moves(`A` and `D` key) won't work as intended, because it does not provide any suitable animations.\n\n## Status\n\nDevelopment is on hold indefinitely, since I decided to move to [Godot](https://github.com/godotengine) \nengine and start over. I already started a new project named _[Alley Cat](https://github.com/mysticfall/AlleyCat)_ to \ncontinue pursuing my goal.\n\nYou can read about my motivation of the decision [here](https://forum.unity.com/threads/thinking-about-moving-to-godot.510826/), if you like.\n\nFor historic purposes, you can see how the development had been going from the official \n[forum thread](https://forum.unity3d.com/threads/alensia-an-open-source-programmer-friendly-rpg-framework-in-a-very-very-early-stage.465618/) \nor the project's [_YouTube_ channel](https://www.youtube.com/playlist?list=PLN4J41q17fIKgwcwiwERReerLBgC9GFDf).\n\n## FAQ\n\n\u003e What is 'Alensia' anyway?\n\nSorry, I have no idea. The name just came up to my mind.\n\n\u003e Isn't there everything you need on Asset Store already? Are you really that poor so you can't affford to buy anything?\n\nAs I've written my motivation above, I wanted to make a foundation on which I can build my game in a way that I feel the \nmost comfortable and intuitive.\n\nIn a word, it's a '_programmer's framework_', for those who prefer writing codes to tweaking GUIs like me.  \n\nBesides that, there are not many options if you want to make an open source game, as only a few items on Asset Store \nsupports such an usage.\n\nSo, as a supporter of open source movement, I want to help people creating open source games, and also hope that my \nproject would benefit from contributions by similar minded people in future. \n\n\u003e So, it's just a framework then? Where's the real game?\n\nI'm planning to create one based on this framework, but haven't decided what exactly would it be yet. So I just decided \nto create a generic framework first, so I can build upon it later.\n\n\u003e When can I expect to see it finished, or at least become remotely usable?\n\nMaybe in next 10 years? (I hope Unity will still be there then.)\n\n## Feedback\n\nOther than using the [issue tracker](https://github.com/mysticfall/Alensia/issues) at the project page, You can visit \nthe official forum thread [here](https://forum.unity3d.com/threads/alensia-an-open-source-programmer-friendly-rpg-framework-in-a-very-very-early-stage.465618/) \nand leave your comments.\n\n## License\n\nThis project is provided under the terms of _Apache License, Version 2.0_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysticfall%2FAlensia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmysticfall%2FAlensia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysticfall%2FAlensia/lists"}