I’m currently the most different part of the coding, in my opinion, Enemy AI. If I knew it was going to be so difficult I would prioritise doing it. Given how late it is in the project I think I have to comprise some ideas I had in mind for the enemy. That directly affect the narrative, namely “The hero defeats the leader of the bandits”. The hero still has to defeat bandits to protect his village. I wanted to tell the story visually and through gameplay. But I may have to think of alternative ideas like text on the background or on the menu screen giving a short description of the story. I feel this way since I still have problems with the background, coupled with the fact that I don’t have much varition between enemies. I don’t see it immersing the gamer into the world or at least the situation, as much as I initially envisioned at the start of the project.
I experienced some problems with the tile background and level design. I am concerned that I may have expanded too much. I can’t seem to make a background in software using objects I created. On the other hand, I have made progress on my character code and collisions. And managed to implement a health bar (icons actually). I will return to coding the level later.
*Setting animations collisions are not done fully
Continuing from last blog’s tutorial, I was able to think bigger. Increasing the amount of platforms without having to make my scene bigger than I wanted or the level and characters small. By utilising the ‘pin’ behaviour on an invisible object. That I linked to character position in the levels event code sheet. I made a tracking camera, which keeps the character in focus. And opens up the possibility of a user interface, where could possibly represent the character’s health or energy.
I also began start coding respawns, so that you don’t need to reload the web page after death.
The video I found on my last entry was pretty extensive, although the game being made was different. It has been the only guide I needed since. https://www.youtube.com/watch?v=fvNsSqfsJsM
The first thing I added did coding was set up controls for the character, because I wanted to test out my animation as soon as possible. Because I felt I may have some issues with it. I created Event sheet (where you write code) just for the character’s code. So this Excludes AI which I went on to make later on.
The first distinction the video made clear in my gap of knowledge was that you use an invisible object which interacts with the world around it. And that the animations are just a visual representation of what’s going on behind the scene. For example, if you press ‘D’ (which triggers an instance) the object moves (which is known as a platform vector) right at a certain speed. You attach a walk animation that object.
Coding the character’s controls was very easy to follow. Once you create group where you going to be adding all your characters controls. You add a plugin that lets you access the keyboards. Then you create ‘state’ in that group; essential keybindings that trigger actions (in the case of movement). Example; When W is down… Play “Jump” (animation)/ set state to “Air”/ and so on and so forth.
Whilst I was looking for tutorials for enemy AI code. I found a tutorial for a Construct 2 beat em’ up a game. I thought I was worth mentioning because I had to change my initial significantly.
To test my progress on sprites I created a basic platform and ran a test I thought the characters would just animate continuously. It did not work though. I found out I couldn’t test out the animation without a substantial amount of coding. So I have to halt the progress I’ve made on my character design.
I begun to compile the essential pieces of code I need. Like ‘EnemyAI’ and ‘GUI’ for the menu. I already started to look at ‘Collisions’ ‘Input Keys’ and ‘Gravity’. Since these pieces of coding are needed in all games.
I have cleaned up all of my animations for my characters. I will have plan my more complex attacks animation when I code collisions. All had to do make the sprite in construct 2 and place it in the level (multiple times for the enemy). I only ever used one tutorial since this step was very simple.