It is hard paying for mistakes of others. Usually there is some complacency on your part. Perhaps you were in the wrong place. Perhaps you believed someone who was not being truthful. Accepting responsibility for something you did not do is also difficult to swallow. To be a better person, sometimes you accept responsibility. You move forward.
I look at the decisions made four and eight years ago and wish we had those decisions today. Each four years gets to be worse and worse. There needs to be a Moore's Law for elections. It would be an ugly law.
Almost three months ago, I decided to pursue using MonoGame as my platform of choice. Would that I could change that decision now. But that would be taking the bad with the good. I still believe in the concept MonoGame promotes. Unfortunately it is not reality. Open source projects always have issues. MonoGame claimed to cover the platforms I wanted as options to target. Unfortunately, it is not in a state to actually support those claims. A benefit of having access to the source is that you can go fix problems yourself and contribute those back. It is hard to contribute when your primary platform is constantly being broken unintentionally by others. Another truthism with Open Source is that those participating may have different and conflicting agendas. What I have discovered is that the different platforms were each broken in different ways. Fixing them would require becoming an expert in all of them. That defeats the purpose I wanted MonoGame to provide.
In my last blog post, I alluded that a decision point was coming. It has arrived. While the time and book purchases will have gone to waste, it is not truly a waste. I spent that time trying to determine if MonoGame would work for my purposes. In that I was successful, I proved that it does not work for my purposes. I could not know that with out having gone through that effort and spending that time. Perhaps one day, MonoGame will be what it claims. I hope so. It would fill a void.
So where does that leave me now? My fear for this decision was that it might end up me abandoning doing game development. To my relief, I have decided to continue with game development. I will switch to using Unity. Unity has always been a choice. In fact, I spent some time with it more than a year ago evaluating it. It does not give me the source or the ability to fix problems myself. I did not really have that with MonoGame even with having access to the source. Moving to Unity removes one platform I had interest in utilizing but gives me one that MonoGame did not have. Fortunately, Unity recently changed their pricing model. So had I gone with Unity three months ago, I would have had to commit to paying six times what I will be paying today. Yes, it was a significant price change for me. Unity is missing one piece of functionality I want. I will just have to work around that missing functionality. It will require more work on my part to implement, but much less work than becoming an expert in all platforms.
It seems to me there are two sorts of successful people: Those that just succeed without making mistakes and those that succeed in spite of making mistakes. I am glad to be striving to be a member of the second group. Even if it is the mistakes of others are what I have to succeed through.
Meh. Back to moving forward.