{"repo":"shun126/Mana","free":true,"listed":false,"github":"https://github.com/shun126/Mana","clone":"git clone https://github.com/shun126/Mana.git","description":"A scripting language for game AI and gameplay logic, built around the Actor Model. Each character is defined as an actor with explicit actions and message-based interactions, making complex behavior easy to design, reason about, and extend.","language":"C++","stars":17,"topics":["scripting-language","virtual-machine","compiler","game-development","bison","flex","yacc"],"license":"MIT","category":"game-templates","readme_excerpt":"Actor-oriented scripting language Mana Issues , Discussions , Wiki , DeepWiki , Doxygen This scripting language was developed with the aim of developing a character's action using actor model. You can implement the execution engine easily into your computer game program. What Mana code looks like Namespaces and action references Use namespace blocks to group actors, and using to import namespace paths or actor symbols. Action references use - , while :: is reserved for namespace qualification. Installing Requirements bison 3.8 flex 2.6.4 C++ Compiler Visual Studio Clang Any Linux Distribution - cd to \\compiler - make Building with Cygwin - Install Cygwin from: http://www.cygwin.com/ - cd to \\compiler - make Building with MSVC - Set the path to bison in the environment variable GNU BISON BIN, and the path to flex in GNU FLEX BIN. - Install Microsoft Visual C++ 2022 Community (should work with other versions). - Run \"Vistual Studio 2022 Command Prompt\" from the \"Visual Studio 2022\" start menu. - Open mana.sln Running Sample How to Use When you specify the source file at runtime, it will compile and execute it. If you specify the -o option, it will output the compiled binary file. If you specify the --execute option, it will execute the binary file. How to Embed the Virtual Machine 1. Copy the runner directory to your preferred location in your project. 1. Add #include \"runner/Mana.h\" to your code. 1. Create the VM class and load the program. 1. Tick the VM. Binding native code ","default_branch":null,"files":null,"tree":[],"storefront":"/r/shun126","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shun126/Mana/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}