I hope you don’t mind my very long reply
I like the idea of hosting the original level as well as one that keeps changing. Due to the nature of this game, aimed at teaching programming, there are some that would prefer things don’t change at all. It would just be simpler for them to not have to worry about that changing. For those of us that are familiar with programming and find it easy to write this code, it’s great to see it changed for balance. In almost any game that’s not zero-sum, it’s difficult to balance. Games like League of Legends change quite frequently as a result. It’s a great comparison actually, since they have similar issues with characters being under or over powered (where they nerf into the ground or rework respectively to balance). They even have strategy issues, like when they added the shield to towers early game to compensate for fast pushing strategies. Regularly changing your code for balancing reasons seems perfectly fine. The idea isn’t to make any specific strategy unplayable, just to make playing against it possible. There always has to be a “best” strategy, but it has to be possible for people to beat it, while obviously possible that you still lose to it. If you think about the base race strategy now, we need to still be able to use it, but lose to sophisticated defense code.
The UI for each level would have to be clear in stating which version it’s running. The user should have an option to change it relatively easily. If you called the original one Legacy Dungeon Arena, it might be intuitive enough.
I’m definitely all for new champions and abilities. The game becomes rather stagnant, I think, if nothing really changes. We want things to evolve constantly to keep it interesting. Again, for people that don’t like this, they can just play the level that doesn’t change.
As far as seasons go, I feel like a month is a good time frame. Any less and people won’t try out all the heroes, and any more and people will get bored. Since the game is relatively simple compared to many other games that get balance fixes, you have to keep it fresh. I suppose it may be difficult for you guys to get the work done regularly enough whilst working on other levels though.
As far as actual balance fixes go, I think you guys could test the effectiveness with our submissions. Testing enough different submissions should give you an indication of whether things are effective. In particular you can test the base race strategy this time around, and see if fixing terrify or whatnot makes it work out better.
One thing I would really like to see going forward is better API documentation. It’s really not clear all the things I can and can’t do, especially with the say command. Maybe that’s a proponent of the new command() method being better though, and it might already be somewhat fixed.
Another thing I’d really like to see, before any of this is done, is to see the code fixed for all the result errors. There’s so many that are wrong that it’s a serious problem. Hell, today I even saw my friend get a different result than myself with the same code. While I saw several losses against the same opponent, in testing, he saw several wins. I know you guys are working on it, and I appreciate it, but I do think this is the biggest problem with the game right now and needs to have the top priority.