A Momentary Lapse of Passion

There have been so many projects that I have lost passion for while developing, that a few years ago, I challenged myself to start paying close attention to this. To start researching the psychology of what drives me to and from a goal. In that time, I found that Game Design is actually a key value in life's success. And Codavore will survive because of this. :D

I'll tell you a short story of why I lost my passion for Codavore and then how I revived it. In hopes that when you hit this runners wall, you might be able to get past it as well.

source: https://pixabay.com/photos/light-bulb-idea-creativity-socket-3104355/

2 weeks ago, I wanted to start working on the dialogue system, as that would be a common need in this game. I had seen the start of an instructional video on how another person had created this really nice looking Dialogue Graph, and kept looking for opportunities to apply it (or similar) in my code. So my first steps into the dialogue pushed me into working on the data management for it.

I was hoping to showcase how it worked, and the videos for it. (and perhaps I will later) So I spent a few days towards making it work. And then ran into a blocker. For the life of me I couldn't figure out what the issue was. I spoke with the creator of the videos, and posted on the Unity forums.

After a day or two, I got my answer from a Unity employee; there there was a variable available in the presenter's version of Unity, that in mine was a method call by a different name. (They were in 2019, and I was in 2018.4, which I was not interested in losing long term support, so I wasn't going to upgrade just for this.) That worked, and I was able to move on.  But then it was still taking longer to get things done, and I started to lose my direction.

I started to realize how long it might take to learn this system, and the likelihood that more things would not match training.

Then it got worse.

source: https://giphy.com/gifs/cbs-hawaii-five-0-1013-h501013-gI6EJvNjgbBWkE9Zd6


I saved what I had to a branch in GIT, then moved back to my previous code to focus on dialogue visuals. When I loaded Unity, I found my files were not in a good state. Energy to resolve drops a little farther.

Next I did what any one does when facing a GIT problem: Delete all your files and clone the repo again. This put about 15,000 more files in than I had before. Energy to resolve melts into the floor. I realized what the problem was, I was on the master branch (default clone that I forgot to reset) and moved to the dev branch.

My previous code pass had almost all of the major art assets pulled in to begin with.  There were so many and took my project so long to load. easily up to 5 minutes for restarting Unity, and easily 30 minutes for a fresh clone to init in Unity. After I was done with proofs, I changed to a strategy of importing larger asset bundles into separate projects, and producing Asset Packages to pull into the main app with the key parts I wanted at the time. When I want more, now I go back into the side projects, and put more things into a new asset package, and overwrite the old one.

I started to feel like maybe I should just give up on this project. Fortunately, this triggered my self-training from studying personal motivations, and how to make projects work, and so I realized it was time to re-assess things through these tools.

source: https://pixabay.com/illustrations/phoenix-bird-fire-sun-bright-red-500469/

While the tools I developed are more plentiful, here are the ones that applied now:

Did you ever have passion for it?
    1. Figure out if you really enjoyed it in the first place. Perhaps this is a job you only took for money? Perhaps it was a way to try out a new technology, and its just not proving worth while?
      1. For me, yes I enjoyed working on this. For the last few months minus about the last 10 days.
    2. Counter to giving up, is this just a frustration point you reach in many projects? If that's the case, then look into the next options.
      1. Yes, I do commonly find myself losing my passion for an indie project and then "ooh shiny". 
What do you enjoy about programming, designing, art, or what ever tasks you are taking on?
    1. For me, I recognize that it is the creation. Even if nothing is visible to a player, creating these pieces of code that play so nicely together is a driving force. But having something visual to show for it is icing.
What is preventing you from doing the parts you enjoy?
    1. I jumped on new tech, tried it out and got frustrated at the lack of completion. 
Do you need to do the parts that you don't like? A simple rule of thumb on necessity is: will a commercial be able to show the player why this part is valuable to the player's experience in the game?
    1. NO? 
      1. For me, the answer was no. This was bonus. I can still create everything I need, while depending on tech I'm more experienced with.
      2. It is important to learn to recognize this early, and step away from smaller pieces, before it makes you feel frustration towards the project as a whole. This is the same for your day job. You can often fix things before they go sour.
    2. YES?
      1. Do you need to do it now? Perhaps go find some key tasks to raise your passion to work on for a bit.
      2. Perhaps you need a different approach? Can you use a different tool, post questions online about how other people solved similar problems, or ideas to attach this one.
      3. Can you find someone else to do it? Sometimes I feel like I want to control how things are shaped, but at a point of frustration, this is a great spot to back off, and know that you don't need to know how to do everything. If you don't have others interested in joining your project yet, or taking on that task, check out Fiverr.com or Freelancer.com to see if there are people who would do it cheaply. At Fiverr, people post things they will do cheaply, while Freelancer lets you post a specific need, and people will bid on doing it.  

There is a lot more to these questions, but I mostly limited this the problem I saw now. I'll probably post future items on the new challenges that slow my energy in this game.  In this case, I'm going to change this to work on the visuals and interaction of the dialogue system prior to writing its data management. That way I'll have visuals right away.

Comments

  1. I'm adding a little more to this. In addition to lighting, I've been working with the camera to try to get better angles, and have not been liking it. I was very pleased working with transitions in CineMachine, but I found that something made it difficult to work with. Then it occurred to me, that my original pull was Space Quest/Kings Quest, and I tried to change perspective to orthographic. That lead to some improvement, and made me realize I would need to change the layout of the ship to support it. (also found that with cinemachine, the orthographic settings had to be altered on every virtual camera, and multi-select is not supported :( )

    But it went farther, I'm effectively going to make is more of a side scroller with ladders/floors on the ship, and forward/backward to navigate. I will probably lock the camera to an area, with movement, but still use transitions and multiple angles over time. The interior of ships will take a very different approach, and may or may not be orthographic, but presented from more locked angles in the next pass.

    ReplyDelete
    Replies
    1. Oh yeah, fighting with the camera angles to give me the views I want, was another hassle, as soon as I decided that I was going down the wrong direction with it, that made it much easier work with the game, and even more energy came back. I'm still keeping a wary eye as to whether or not this boost in energy was because it is the right thing, or because it is an ooh shiny.

      Delete

Post a Comment

Popular posts from this blog

C# Parser and Code View

How to Setup a Multi-Scene Unity Project for Startup