{"id":13436896,"url":"https://github.com/aleshaleksey/TGWM","last_synced_at":"2025-03-19T05:31:19.691Z","repository":{"id":38333493,"uuid":"143479272","full_name":"aleshaleksey/TGWM","owner":"aleshaleksey","description":"A personal etude into rust software (RPG\u003c-it's more fun to debug) development: Tales of the Great White Moose","archived":false,"fork":false,"pushed_at":"2023-06-13T16:57:58.000Z","size":87560,"stargazers_count":17,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-27T21:48:48.015Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aleshaleksey.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-03T22:40:54.000Z","updated_at":"2024-09-11T12:52:09.000Z","dependencies_parsed_at":"2024-10-27T20:29:33.929Z","dependency_job_id":null,"html_url":"https://github.com/aleshaleksey/TGWM","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/aleshaleksey%2FTGWM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleshaleksey%2FTGWM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleshaleksey%2FTGWM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleshaleksey%2FTGWM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleshaleksey","download_url":"https://codeload.github.com/aleshaleksey/TGWM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244364874,"owners_count":20441463,"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":[],"created_at":"2024-07-31T03:00:52.857Z","updated_at":"2025-03-19T05:31:14.682Z","avatar_url":"https://github.com/aleshaleksey.png","language":"Rust","funding_links":[],"categories":["应用","Applications","应用 Applications"],"sub_categories":["Games","游戏","游戏 Games"],"readme":"# TGWM (Tales of the Great White Moose)[\u003cimg src=\"https://api.travis-ci.org/aleshaleksey/TGWM.svg?branch=master\"\u003e](https://travis-ci.org/aleshaleksey/TGWM)\n\n**NB:** Currently compiles. Should compile and run on both 1.28.0 and 1.31.1 if the Cargo.lock files are deleted.\n\nA flat RPG written in rust as an etude in using the language.\n\nAim\n---\nAn etude in machine learning and using the conrod library for making a universal\nGUI (one that can be easily recompiled between triples without having to reprogram\ntoo many things. Since debugging a game is more fun, it ended up being a game.\n\nAbout\n-----\nThis document describes the above repository, first it covers the kind-of-technical details,\nand then the gameplay related topics.\n\n\nCurrent State\n-------------\n***Play:***\n\nThe mechanics work (for the most part), and you can run around the world getting killed and leveling up, but there is no story,\nno real start or end.\n\n***UI:***\n\nCurrently there is a working GUI with a main, game and battle menu.\nShortcut keys exist for overland travel, but not for navigating the menu (maybe a good idea).\nBrightness and size of window can be adjusted. Due to how glium uses OpenGl, brightness of flat\ntexture widgets and images (ie sprites) are adjusted separately.\n\n***Sound:***\n\nThere is a juke box powered by rodio, which plays music in battle, which can be customised or silenced.\nThere are currently no sound effects. (As this is an etude in programming and not composing, the game\nmusic is half-hearted and the in-game song list can be changed. Currently looping needs tweaking in order to not be jarring.\n\n***Graphics:***\n\nWidget buttons as sprites. Uses images as backgrounds. World map is generated from instructions in the executable.\nIn battle sprite shake on damage.\n*Update 11-08-2018: Basic graphics for spell effects and attacks have been implemented.*\n\n***Mechanics:***\n\nImplemented: The mechanisms for travelling the world, battle, in battle spellcasting,\nexp. and dungeons have been implemented.\nMostly implemented: NPCs,story.\nUnimplemented: Teleportation spells and inventory have not been implemented.\n\n***AI:***\n\nCurrenly there are three mechanisms for the \"AI\"\n\n***Random:***\n\nMonsters take \"random\" actions against \"random\" targets.\n\n***Traditional:***\n\nMonsters use a simple algorithm in battle, as a function of the stats of a battle's participants.\n\n***Algorithm:***\n\nThe computer simulates battles for ten seconds at the start of a battle (using the above algorithm),\nand then uses this battle record to make a decision. Currenly the algorithm probability tables of actions and\nconsequences, and uses them to decide the best action. As a back up uses a cause-effect algorithm, however this currently has some \"bugs\" related to healing spells. If the \"statistics are weak\" it will resort to the first\ntwo methods. Currently this approach is problematic for battles which aren't one-on-one, and where there is a\nsmall chance of winning or losing. In fact it's problematic in general and needs work. It should be noted that obviously it's not a computationally efficient \"AI\" for a computer game. The idea in using this is to use the game as a machine learning platform (I will work on this more once the rest of the game is written).\n\nNotes on compiling\n------------------\nIt appears that Cargo does some funny things with different rust versions. Should compile and run with 1.31.1 if the Cargo.lock files in this repository are deleted (otherwise it compiles, but does not run). Should also work with rust 1.28.0, but that no longer seems to be able to access crates.io, so I am not sure whether or not it is possible to get it to work on 1.28.0.\n\nNB: for a clean, release version (on Windows) add \" --release -C link-args=\"-Wl,--subsystem,windows\" \"\n\n***Linux:***\n\ncargo run --release --features=\"winit glium libc\"\n\n***Windows (x64):***\n\n*From windows:*\n\ncargo run --release --features=\"winit glium libc\"\n\n*Crosscompile from Linux:*\n\ncargo rustc --bin q-moose --release --features=\"winit glium libc\" --target=x86_64-pc-windows-gnu -- -C linker=x86_64-w64-mingw32-gcc\n\n***Dependencies:***\n\nTGWM uses conrod 0.57.0 (newer versions may or may not work). However the compiled program seems to work correctly only if the dependencies to conrod are specified as *exact* (eg: glium = \"=0.20\"). However the dependencies on the glium and winit *also* have to be specified as exact (modify the Cargo.toml on the dependencies).\n\n\nLicense\n-------\nSince this is not a useful project, but something of an etude, and anyone who feels like it\nis free to \"do whatever\" with it, it almost doesn't need a licence. However, just in case,\nit is under the GPL 3.0 licence.\n\nGameplay\n--------\nThe game play is classical turn based party on party, player vs computer fantasy battler. The main feature is the player does not know the exact numerical value of their stats (nor does the main AI layer). There is one player party, theoretically containing up to 5 creatures (but currently only up to two) and four enemy parties (which do not have a condition of allied victory, but often consider you a high priority target).\nThe player travels the world, \"explores\" (currently about a dozen) dungeons and completes \"quests\" (currently none really).\n\nStory Related Elements\n----------------------\nAs of the 16th of September 2018, the storyline engine has been written, but the story line has not (a simple demo quest triggered when the player has spent 10 Exp points has been written).\n\nComment\n-------\nIf anyone has comments on why this sucks and what should be changed to improve it, they are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleshaleksey%2FTGWM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleshaleksey%2FTGWM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleshaleksey%2FTGWM/lists"}