Wussup peoples. Before anything else, let me state that school has started again for me. So if you see less updates over the next 3 months, you know why. I say this so that people do not panic and think that the engine has died, or start holding up signs with “the end is near” written on them, or begin ritual human sacrifices, or whatever other crazy shit people tend to come up with whenever I don’t update for a few. Lol.
Anyway, a few things have been worked on in the past week for Alucard, including one of the BIGGEST ones yet: completion of the stopwatch! Yup it’s done; this includes the white outline around Alucard, the expanding wave effect, the bouncing watch with a neat vanishing effect, the ticking timer, and everything else. As usual it can either stop an enemy, slow them down or have no effect which was OBVIOUSLY the tricky part. The big issue being SLOWING down the enemy. To accomplish it I had conceived of trying several things:
Copying all alarms, image speed, and movement speed to vars, then halving the real ones as needed… THEN setting them back to normal when the watch was gone using the copied values.
Result: This would have been messy, and problematic for a TON of reasons.
Using some of the instance deactivate functions.
Result: wouldn’t work at all.
Lowering room speed before the enemy runs code, and changing it BACK after the enemy’s code has completely ran.
Result: didn’t work.
Ironically the method I needed to use was so simplistic, yet it kept zooming over my head. To slow down the enemy, all I did was setup a var so IF the watch is present and IF the enemy should be slowed, every other step copy the movement speeds, image speed, and alarms to vars, and then set the originals to zero. Next step, put them back to normal using the copies! This sounds similar to idea one above, but works MUCH better for a TON of reasons I don’t feel like listing here.
In other words, set it so that the enemy only increments timer based things EVERY other step when slowed down. Just stopping the enemies was no issue at all, and used a similar method.
With that being done, all of Alucard’s Sub weapons (this INCLUES all level upgrades for them) and Crashes are officially DONE! Next up, I started re-inputting the controls from the engine. This actually is not a big issue, but I decided to overhaul it some to use ds lists instead of many global variables, which in turn then cut down my code by over 100 lines, made it very slightly more resource efficient, and made it overall MUCH easier to troubleshoot as well. This also included special motions like fireball motions, up fireball motion, double tap forward, and tapping back then forward. It all together took me only 3-4 hours to do.
Next up I have to link in all of this code with Alucard’s individual actions, and re-input the collision script I created (which I may modify some). After which I will be completing the handful of secondary critical arts Alucard has (there should be only 4 I need to do: throwing shotel, laevatin’s firestorm, teleporting slash, and the triple stab with a spear), then it is on to putting back in the bat form, mist form, and then the big task: redoing the wolf form code to use my puppet animation code (**SIGH** not looking forward to that one).
I also have to find the time to mess around with the excellent equip menu that Dengojin completed for me as I will need to modify several things in it, including editing it graphic wise to make 2 other versions that can be used for the item menu, and the system menu. That will leave only 2 screens afterward: the upgrades menu, and the encyclopedia menu. At the moment, he is hard at work completing the normal non glowing text to be used in the menu (he already sent me the full glowing set). Once I have all the menus done, I can then actually begin coding it into the game.
On a side note: Dragon’s Crown is a BADASS fucking game! But with that being said, I still don’t have as much fun playing it, as I do working on this thing.