Everfall was my second attempt at a 3D game engine (very ambitious, I know). I decided to re-make it in C++, a language I have been trying to learn it better.
It initially went well. I had a basic structure for the engine and its components this time, and I thought it would fare better. I also had learned how to better use the STL (C++ standard library), although I later learned that some game developers don’t like using it. Overall, I thought it would successful.
However, due to a lack of good, well-thought-out structure and software design, the project grew quickly out of hand. I didn’t think things through, and had to add new components in a really haphazard manner. Additionally, I kept on getting sidetracked working prematurely on certain parts of the engine, like networking.
Finally, after trying to revise and reorganize the code multiple times, I gave up and stopped working on the project. To date, it has been the largest project I have worked on – in complexity, time, and size.
Recently, I decided to try once more. I think I have learned enought to make a decent attempt at doing it successfully, and I have decided to integrate the ray-tracing code from another project of mine. After all, third time’s the charm, right? 🙂 Not anymore – I have combined this and other projects into a new one.