Hello guys/gals!
As anticipated in my latest post, I want to share the latest development progresses since I’ve completed all the core features that will allow me to build the game I’ve on mind 🙂
You are going to read a long post, I hope you don’t get bored with all the following text!
First of all the video is recorded from WinUAE emulating an Amiga 1200 with cycle exact flag set, it shows some things that are in the game like:
-
Maps : up to 900×900 pixels, pre-rendered, without using tiles)
-
Doors : doors connect map parts each other and allow the hero to move from one map to another.
Doors can require a key to be opened, or can be locked by a terminal. -
Furnitures : they are essentially containers, you can search them and pick what’s inside. To not over-complicate the game (and the code), there is an auto-pick system.
It means that the hero will pick the maximum allowed quantities leaving the remaining things in the container for later use.
Furnitures can be locked by a terminal. -
Enemies : You can see in the video some enemies wondering around, they are driven by a script system I wrote from scratch.
This allow me to create enemies with not predictable behaviours, that have a sensing radius to detect the player presence and react to him depending on the script used.
Enemies can be immune to one or more bullet type, they can attack the player using a ranged attack (shooting bullets) or using a physical attack (you can see in the video some enemies trying to bite the hero. Not all of them are allowed to use both the attack type.
Some enemies can also damage the player just with the contact. -
Triggers : these are invisible areas that lauch an event when “touched” by the player. In the video you can see a third enemy spawned by a trigger, you can also see the door on the right side being closed and opened by two other triggers. Also the dialog talking about “the room being weird” is executed by a trigger.
Lastly I added a manual trigger you can see in action when the player is in front of the purple air grid. These triggers are manual because the attached event is executed only when the player hold down the action key.
In the image above you can see on the left the text file used to define the manual trigger (at the bottom), on the right there is a screenshot of the trigger area, text hint and the executed event. -
Background animations : This is another feature I added lately to avoid too static rooms, all the terminal screen are using these kind of animations.
-
All collisions are working, enemies & player animation system is working, input system is working too.
-
Tools : All tools has been added, you can see some of them in the video, but tools & devices will not be available from the beginning, the hero will have to find them!
-
Terminals : I’m a bit proud of how I implemented terminals, I’ve to be honest 🙂
There are effects that mimic old terminals and I’ve implemented a script system that allow me to create complex interfaces (for an old terminal) with a wide range of action possibles to interact with surrounding items (door, furnitures,…) or to obtain valuable informations.
Locked terminals can be hacked if the player own & equip a special device, a mini game will be launched to let the player hack the terminal 🙂 -
Lately I also added some code to let the player go up & down the stairs smoothly 🙂
WHAT’S MISSING?
Here is a list of what I’ve to add:
-
Title screen
-
Settings screen
-
Load / Save screens (I’ve an idea about using save slots like in console games)
-
Persistance : I want that when the player enter again a map he find the things as last seen when exited from there!
-
Some code portions need optimization to make the game more snappy
-
I’ve to code some simple tools to allow to speed up the development
Right now I’m working on documentation & optimization, as you can see from the picture 🙂
It’s easy to get lost in the code, I’m working on this beast since September 2023 and I cannot remember what I’ve done without proper docs 😀
Just for your information, the text on the left is used to define the enemies which are in a map, I’m using enemies templates (small_shadow_alpha.txt is a template) and I override only the needed template’s parameters.
I’m not sure if you like what I’m going to add here:
This is a photo of my block notes, yes, I’m still using these arcaic note-taking tools! But when I need to write down stuff quickly I find old sheet & pen combo one of my best friends!
FINAL NOTES
This is a solo-dev project, I bought some graphics and I’ve modified it for my needs (actually I only bought the main character, but I added several animations, like “hit”, “die”, “shoot” and I’ve adjusted the color palette. All the other stuff is drawn by me (and I’m not a pixel artist!).
The sound effects and the music will be also done by me.
HELP ME TO BRING THIS PROJECT TO LIFE
I’m pretty sure I’ve not listed all the features I’ve included in the game engine, but I’m sure that this project is quite unique due to its complexity and the fact that it was developed in AMOS Professional.
I’m working on this project almost at full time since my real job is a bit weak in the lately, unfortunately the bills are the same.
I don’t want to beg you for money here but I kindly ask you to support me with what you can (even with the free membership!), and/or to help me to share this project on the Internet to keep me motivated! I need to stay on the code, not on the Internet 😛
Now that the core features are there, I’m pretty sure I can finish the project: it has a very nice story!
If you are interested in technical stuff, like code portions, and challenges I’ve encountered during this adventure drop me a message and I will be happy to create one or more posts about this topic.
Feedback is welcome, always 🙂
In a couple of days I’ll post some contents for Patrons only, as promised in the tiers 😉