GamesmanUni is a web implementation of GamesmanClassic in C, developed as part of GamesCrafters research and development group at UC Berkeley. Gamesman is a finite, two-person, perfect-information game generator based on Master thesis by Professor Dan Garcia.
GamesmanUni is a Progressive Web Application (PWA) as well as Single Page Application (SPA). It is backwards compatible with older browser environments. It is designed to run on any platforms as long as there is an internet access and a browser with javascript enable. In devices with modern browsers, it is also possible to download the application as either desktop or mobile application.
Clone GamesmanUni repository on GitHub.
Install Yarn node package manager.
Navigate to the root of the repository.
Install external libraries.
The detailed installation process may be different depending on whether you already have Git, Homebrew and/or Yarn installed previously, how you have configured to use on your device, and the medium through which you wish to install them.
Personally, I connect to GitHub with SSH and use Homebrew. So, below is my installation process as an example.
git clone git@github.com:GamesCrafters/GamesmanUni.git uni
brew install yarn
cd uni
yarn install
Open the repository in your prefered editor.
Start the development local server (and optionally launch the site automatically and locally in the default browser upon the server is ready).
Follow the contribution guide starting from coding all the way to pull request.
Personally, I use Visual Studio Code Insider with Vetur and Prettier in their default settings for syntax highlighting and pre-commit linting. So, below is my usual process as an example.
code-insider uni
yarn serve --open
Build the project and production ready GamesmanUni to be deployed/distributed will be automatically generated in dist folder in the project root directory.
Personally, I follow Vue CLI's deployment guide to deploy production ready GamesmanUni locally. I use node package serve to locally run the production version of GamesmanUni, which I installed globally using Yarn: yarn global add serve. So, below is my usual deployment as an example.
yarn build
serve -s dist