jacobpostill/ZodiacQuest(新しいタブで開きます)
主要言語: JavaScript
- star 数
- 0
- watcher 数
- 1
- fork 数
- 2
- issue 数
- 39
- 最終更新
- 2023/03/07
主要言語: JavaScript
In second major group project of the full stack bootcamp my team and I took the opportunity to practice building full-stack web applications using the Model-View-Controller architectural paradigm.
While the typical approach to this project centered on user behaviour, we were interested in the collection and analysis of data user behaviour, and in the principles of social networking and engagement incentives built around a central hook, in this case a simple browser platformer game.
The application is deployed and auto-built on Heroku in an approximation of a CI/CD pipeline.
It may be cloned locally from the github repository, in which case an .env file with database access will have to be provided. It is advisable to run a Sequelize sync in force:true mode once in order to synchronise the models with the empty database.
As always, npm install will provide the dependencies.
The prospective user will be presented with login/sign-up options, as per usual. Upon registering, they will be permitted to play the demo arcade game.
The game is rudimentary, and serves primarily to generate data about user performance and behaviour. It centers around avoiding Zodiac-themed enemies bolting from randomised locations in the ceiling and creating danger on the platforms, while collecting stars to increase score and yellow symbols to gain premium currency. A star shower is certain if the player collects all the stars before they drop into the gutters, otherwise it's a matter of chance whether another occurs.
The user's stats are tracked and they may view those stats on the profile page as well as compare their progess to that of others. Viewing other users' profiles and commenting on them is made possible, and friend request, approval, and rejection functionality is implemented..
The user may select their favourite of three provided sprite skins and that choice will be noted in the database and retained between sessions.
This project uses Express.js for connectivity, mysql2 for node.js access to the MySQL database, and Sequelize as the Object Relational Mapping tool. It also uses bcrypt for credentials encryption, https://www.chartjs.org/ for data visualisation, Handlebars for rendering the view, and of course Phaser.io for game creation.
The project was created by Melissa Taylor, Jacob Postill, and Taddeo Costanzo, developers aspirant from Toronto and Montreal.
The authors are indebted to Richard Davey of Photonstorm, the company behind Phaser.io for tutorials and many code concepts used in the game. We would also like to thank Thomas Palef for several visual assets, instructional materials, and code examples he has made available, which were a great help in coming to grips with the phaser.io game engine.
The game uses the public domain tileset Space Cave Tileset kindly provided to the public by Dmitry Mozgin and sprites offered under the Craftpix license
This project is licensed under the MIT License