What you’ve been seeing me build is the game’s engine, which is the main core that basically decides how everything works and then I just input all sorts of data into it and outcomes the end result…or the game. Game engines tend to rely on external scripts for this input and in theory, I could code a scripting engine into Abeyance, just like I did with a Text Adventure I wrote for University project. However, for Abeyance I’m coding it straight into the source code. But in my engine folder there’s a separate folder for ‘components’ and each component file is preceded with ‘C_’. So in these files I can just sit down and leave all of the engine code alone and code the rest of my game in those files. You could think of them as being the ‘Game Manager’. Anyway, in a diagram it looks like this:
The rounded box with ‘C_’ at the start are the names of the source files. On one side you’ve got all components making the levels and then the character’s components. They all point directly into the engine.
So really, I’ll only be editing these files:
Here is an example of what one of these source files looks like (at least part):
So the engine itself will call ‘SetScene’ when it’s loading the scene. So for each scene (you’re looking at ‘bedroom’, which is where Keats starts). So here I set the position & colour of the light and also position the camera. Then I setup the size and position of the way point, the way point will be used to transfer between 2 different scenes. You also have the ‘Conversation’ data set up (SetConv), this data is basically what Keats and the NPC in the scene talk about and at the end you battle. And at the end all of the scene data is updated to the game engine.
So if I wanted to add another scene to my game, I just need to go through this process:
At least this is how I’m approaching it. 🙂