A decision making game, make a fortune and conquer the universe! ๐ฐ๐
MIT License
A decision making game, make a fortune and conquer the universe! ๐ฐ๐
Create an idle business sim-game. The basic idea is to purchase a business, win capital from that business, upgrade the business and then purchase more businesses.
The way to win capital in Adventure Closure
is once youโve purchased a business, you need to click on the business and it takes some time to gain the capital. Once done, you can click again.
In order to automate this, you can hire a manager who can run the business for you, so you donโt have to click manually anymore. Then you can upgrade the business and gain even more money.
The game is idle, so it progresses while you are away: If you have a manager, the game should continue playing while youโre gone.
This is a Work in progress, loading...
Do you want to see this awesome game in action?
There're some tasks as work in progress (Check TODO) because this example is using real-time communication with WebSockets
in order to have all business logic from Backend, in this way we can provide better security for our apps, scaling on demand and managing money the right way, never trusting in your users ๐
cd app
# install dependencies
$ yarn
# development (https://localhost:8080)
$ yarn start
# deploy to production (Firebase Hosting)
$ yarn deploy
cd api
# create a new database called "my_database"
$ yarn global add pgtools
$ npx createdbjs my_database --user=postgres --password=postgres
# install dependencies
$ yarn
# development (http://localhost:3000/api)
$ yarn start:debug
# deploy to production (Google Cloud Hosting API)
$ yarn deploy
# unit tests
$ yarn test
Phaser Framework
to create better user experiences with WebGL/Canvas.Component-based
architecture for separation of concerns.Mobile first
framework like Ionic
to build a cross-platform app (Mobile, Desktop and Web).Web Components
and Web animations
to improve the UI/UX and build a high performance web app using web-standards.TypeScript
to improve the quality of the code and reduce maintenance costs and technical debt of the project.Repository design
and dependency injection to have a modular architecture.SOLID
following Software principles like SRP, DRY, KISS, etc to create a system that is easy to maintain and extend over time.OpenAPI
specification with Swagger
to describe the endpoints of the RESTful API.Winston
to track exceptions easily.Websockets
to have a real-time communication with a Event-driven architecture.Atlasses
instead of images or sprites-sheets
to reduce memory and bandwidth loading textures.RxJS
for Observer pattern handling requests, events, etc.media queries
to support multiple resolutions and devices.Facebook Instant Games
SDK to integrate services like In-App Purchase and distribute the game in multiple platforms.Cloud Storage
to store assets like images, audios, etc to be accessed via HTTPs with security mechanisms to control access to data (Google Cloud Storage, AWS S3, Azure Blob Storage, etc).Secrets Manager
to retrieve database credentials, API keys, etc to avoid hardcoded credentials.Redis
to avoid many accesses to the database by using cache.Microservices
strategy for complex calculations and horizontal scaling, To infinity and beyond!Docker
image with the configuration to run the project anywhere.Some resources used here are part of my Open Source
contributions:
Other resources:
I believe in Unicorns ๐ฆ Support me, if you do too.
Donate Ethereum, ADA, BNB, SHIBA, USDT, DOGE:
Wallet address: 0x3F9fA8021B43ACe578C2352861Cf335449F33427
Please let us know your contributions! ๐
Made with <3