Asylum – Dev Diary 1
I know – It’s been a very long time since my last posting about Asylum. Time got away from me and I decided to go a different route. Well, as of 4 weeks ago (November 2017) I begun work on Asylum properly this time (I promise). It is no longer going to be a 3D game, mainly because of the amount of time required to create a 3D game but also because it wouldn’t stand up against AAA titles that everyone would try and compare it with (rather unfairly). So, I decided to create an atmospheric 2D game instead.
I will attempt to post dev diaries along the way even for little achievements that will keep readers informed of progress and also to keep my enthusiasm strong. Since starting the development a new I have been feeling the programming bug again which is great.
This is the first new blog post but obviously I already have 4 weeks development under my belt. Most of this time has been set aside to working out a lot of the little mechanics for the game:
- Player model and movement
- Lighting and shadow effects
- Wall styling and environment
- Torch functionality
- Collision detection and trigger zones
- The first swinging door
- Mouse interactions
- Dialogue system and objective tracker
The player is comprised of 2 sprites. The torso and head which animates with a swing of the shoulders and always looks towards the mouse, and the feet which perform the walk cycle and point in the direction of movement (WSAD). This gives a great effect for the player motion and worked really well for the game developers who put together Darkwood.
Lighting will be an important part of Asylum. It is critical that I could have lighting effects that would allow for deep shadow casting and very dark exploration. The first area requires the player to get a torch before they can head off into the dark (pitch black). With the lighting and shadows I also wanted to ensure that when lights and more importantly the torch hits the wall it gives off a sheen that makes it feel solid.
The first trigger zone was set up to handle the torch requirement to prevent the player from exploring beyond the dark corridor. This also served to help put together the initial code for the dialogue display. When the player hits the trigger area the dialogue system is handed a message that then fades in, pauses and then fades out. At the same time a quest/objective is added to the players log and displayed on the screen: Locate a Torch. It’s also important to note that there will be no way point markers in the game. I don’t want it to be a case of: Locate a torch, and by the way it’s over here. That doesn’t help the atmosphere. I want it to be a place where the player feels lost because he is.
I decided pretty early on that the interactions with the environment would be mouse based rather than keyboard. So when you approach a door (for example) the player will see a visual indication that something can be done, when the mouse is moved to the door the icon changes to show an available action. Clicking will then trigger the action and the door will swing open (providing it’s not locked).
Here’s a very early screenshot. The door is a placeholder sprite for the time being whilst I’m working on the mechanics. The lighting is also preliminary and the starting section should be brighter than it currently is.