[Dusts off morpheus]


Sorry about the complete lack of communications. It has been many months since I've been able to look at Morpheus. 

I did get a job at a small Palo Alto startup working remote. The new job required me to work during the day M-F and evenings Sun-Thurs. I've been working with web frontend and machine learning. The job has been all-consuming. I work 10-12 hours most days M-Thurs plus  a sold 8 hours on Friday and Sunday evening. So I've only had Friday and Saturday evenings not working. I've been spending that time on myself or my family since then.

This is the first weekend that I've try loading Morpheus. I got everything setup locally. I  updated some old dependencies. Then I started doing some debugging.

This new renderer is good, but one thing it does not handle well is prior state. This means that often times, the new renderer does not render the entire scene because it always tries to render just the casts items (sounds, movies, and images) that are present in the scene. The original Morpheus relied on Quicktime and how Quicktime handlded multiple assets. New scenes would draw on top of old scenes and that worked. But if you actually run the morpheus map (the data file that declares the morpheus game) one scene at a time, then parts of the game are missing because they only exist in previous scenes.

However, sounds casts in original morpeus map are present in every scene. The background music is a sound cast, and for every scene the background music can be playing, there is a sound cast for that background music. There is code therefor to check if the sound cast is already playing. If so, then there is no reason to reload or replay it.

I realized that rather than trying to track what happens to video and images after they are no longer the current scene-- I can use the same pattern as sounds. If a video or image is meant to stay on screen in any given scene, then it can be added to a scene.

This works really well. It solves a lot of the previous problems I had managing assets that were no longer in the current scene, if everything that a scene needs is included in the scene. However, it also means that I now have the problem of needing to add to each and every scene all of the required casts (image and video) that belong to that scene. The code I wrote this weekend is to start and make it easier for me to add this data the map. 

A big advantage to this process will be solving a long time bug of starting web Morpheus from certain scenes. Since some scenes actually requires previous scenes, if you restart the game on these scenes, then you don't see all of the scene because the game did not run it yet by starting at a later scene. With these changes the Morpheus game will be able to start at any scene because very scene will contain everything it needs. This process through will take a little while to complete, at least a few more weekends.

And that's assuming I keep this up....

This does mean that this new renderer I've been working on has been on-going for ~15 months and that there was a 9 month break since I last worked on it. :-(

However, after debugging today I do have a little piece to work on. I also did some operations work to give myself a development environment to do these changes. So while I experiment with adding new casts to a bunch of scenes-- the data used for https://soapbubble.online/morpheus will continue to operate from the same "production" data.

Get Morpheus

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

Any updates on updates? LOL ...Wishing for the final chapter from a fan that loves the original game

Is this a completed project? Like can you actually play it?

Glad you are back to work at it! Hope you can find a balance between work, family and the game.