Hey everyone! I know it’s been awhile since my last update about this project but I’ve been fairly hard at work. Well, that and getting my butt kicked in RealTime Worlds' All Points Bulletin.
I added the ability to assign doctors from the break room (where you put exhausted doctors to replenish their stamina) to a bed in the hospital. When assigned to a bed, if there is a patient there the doctor will run their AI puzzle board analysis function to determine which set of blocks to remove to meet the goal of curing the patient. Right now the analysis function is a random coordinate on the board, but I was pleased to set up the logistics of connecting a doctor to their current patient and watching the automatic interaction between them.
Because there were also some situations where the player (or eventually the AI) would be completely screwed in dealing with a patient (a layer of ACHES on top of a layer of SCABS = patient death in 30-40 seconds) I added a pill mechanic. Each doctor starts off with 5 pills. The player can click on a super virus and will consume a pill to remove that virus. Right now pills are set to work 100% of the time, but I may change this so that they don’t always work with viruses of higher levels.
Plenty more left to do
There is still exists strange problem when a patient dies the doctor doesn't automatically go back to the break room to wait for more orders. One of them in particular simply disappears every time. I’m thinking it may be an “off by 1” array issue – and I love debugging those!
After this I need to work on the win lose state (more than 3 patients die = game over) and then implement a stream of patients. This means working on the waiting room functionality and I'm going to have to expand my state machine for the handling of beds - again.
Overall I am pleased to see the game slowly but surely coming together exactly how I imagined it. Once I add personalities and skill sets to the different doctors I think that we can truly add a new experience to the color-match type of puzzle games.