I was previously working on a series over on dev.to. This was to demonstrate getting started with an idle based game, I introduced the tick system and authentication. This time I want to blog about the progress of divinity.world an idle adventure game I am developing.
The first thing you need to do when you want to build a game is plan it. Jumping head on into the code and you will quickly find yourself in quicksand. You need a plan.
I have planned out the basics of my game as follows:
- You have an avatar
- You can walk around a map
- You can interact with the map such as cutting trees, mining ore, talking to NPC's
- The combat will be turn based and should support parties for dungeons
- There is a chatbox
So I have a few points which make up the basic gameplay, I can gather resources, talk to NPC's, fight and talk to other players. This will give me a base to expand upon later.
Now you have a plan of action and a base to work from, the next step is to choose the technology you want to use.
These 3 languages will give me all I need to start. Laravel provides a fast way to build API's. Vue provides incredible fast prototyping for the frontend as well as being speedy. Finally NodeJS will act as a subscriber to Redis to push out data from Laravel. How that works is Laravel pushes to Redis, Node then subscribes to Redis and pushes put the data it receives from there and sends it to Vue.
Not quite yet, that will be in the following articles, first we need a few things such as setting up your environment and building a map, this is purely theory and planning. If you want to follow along and build your own game get a plan together and figure out the how. The next post will be getting the environment setup and everything installed and running.