So, classes started again, and my duties as a student returned. Luckily, my schedule is pretty neat (monday and friday full, wednesday normal, thursday labs here and there, and tuesday empty), so I can pretty much arrange everything to perform at my maximum capacity. Classes I'm attending to are Math 2, Physics 1, Network Programming, Development of Software Applications and Engineering Economics.
So, with that in mind, I've been working last few weeks improving the game from my speedrun and I got it to the pretty satisfying state, requiring only few bugfixes here and there to call it mechanically "complete".
There are three current issues in the game:
- While ramming into moving solid tiles (walls, switches), ball is capable of becoming stuck into them. In certain situations, player can move the ball into a non-moving solid tile, becoming pernamently stuck. Players also can get stuck when standing into the place of the appearing wall (I have 2 options here - push ball out of the way or kill player. probably both depending if there's free space around or not).
- Text scripts aren't implemented properly.
or demo to show it, constantly exchanging background can irritate eyes.
What I aimed for is effect similar to this, but the best I can is shown on video. I don't have any idea how to animate even grayscale to make something decent, nor could I find anything while doing research - all my search showed me the algorithm I already implemented.
My next step is to rewrite standalone level editor, which is horrible in the current state. Unlike the game itself, level editor is based on the Windows Form and uses elements like PictureBox, Buttons and others. While the editor... kinda... looks decent:
code behind is unmaintainable and full of bugs.
For example, when I save a fresh level, then load it again, this happens:
The thing is, I don't have any idea why... that... happens.. kill me, I just realized while writing this - when creating an array of tiles (enum), array elements are by default first initialized to 0, which is enum value of gray ball.
So, I've decided to rewrite level editor to use XNA and behaves like a game, trading one set of problems for another. XNA doesn't have controls like windows forms have, so I'll have to write similar things myself. I also hope it will end up visually more appealing, and one day I might even integrate it into game itself as game is close to the end of its lifespan. If I ever get to that point.
Back to the game itself, I'm currently looking to upgrade sprites and music - either by doing them myself, or to find someone willing to do it instead of me, as I suck in both. Maybe even change the background.
Also, Softpedia put both on my games on their page, only notifying me after that. While I was initially suprised, I'm glad they did that.
Plan for the game is this:
- Finish it completely for Windows using XNA and polish it as much as possible.
- Convert it to Monogame and release Linux and Mac friendly version
- Given enough interest, either manually rewrite it into Java for Android and iOS or pay access to Xamarin to be able to simply port it with Monogame.