Thanks a lot, the encouragement really helps a lot, especially when you're tired...
Considering that this is the devlog forum, I suppose I should explain the development, instead of just spouting milestones. So here is the bitter tale of a bitch of a game engine...
After getting the core tactics style isometric engine working, I came across my first evil nemesis. One day I decided that phones are where it's at and I'm gonna put this thing on every phone system I could. So screw you SDL. I mean, SDL 1.3 is commercial, it's bloody commercial! What happened to freedom, maaaaan! I'm not working for the system! I support freeeedom maaaan! This was another moment of folly that I barely survived. Here's a tip. If you want to make a game, really make a complete game, don't spend your time on making tools that you can get for a reasonable price. Man, I wish I just paid the license fee right then and there. Instead I did something dumb to the N'th degree. I wrote a software blitter. Why, you may wonder, didn't I learn OpenGL? Or perhaps I could wrap up system API's in a nice little package? My only answer is that I'm incredibly foolish sometimes, and I should have. Despite the absurdity of my decision, I got it working pretty fast, and pretty fast. It was almost as fast as SDL 1.2 software rendering with RLE acceleration. Considering I had to look up the bitshift operators online and had never done any real graphics programming before, it all worked out OK. Except I wasted a lot of time developing a system that I eventually will throw out.
The next bugbear on my odyssey was the dreaded GUI. Can you guess what I ended up doing? Long story short. I wrote the stupid f*xing thing in C++ and then decided that I don't like all the glue code between the GUI and Lua, so I scrapped it, wrote a basic graphics compositor in C++, linked it to Lua, and rewrote the GUI in Lua. All things considered, it was the lesser of two boneheaded evils. Now here's the rub. I was feeling pretty torn about abandoning my C++ GUI code, because it constituted such an important part of my editor. So again, predictably, I rewrote the editor. Twice. I'm serious.
After all of this total nonsense here is what I ended up with:
Area - Holds layers of...
Entity - A game object that exists at a coordinate in an Area
Animator - Responsible for telling Entities to change frame or position
Compositor - Puts lines, rects, text, images into compositions that can be drawn quickly.
TONS of other little details like pathfinding, line of sight, etc...
Entity - A Lua subclass of the C++ Entity class, this adds all game specific data and methods.
Window - A Lua base class for labels, buttons, menus, grids, panels, etc...
Everything else required for a game including main game loop, input parsing, AI, saving, loading, etc...
forgotten a lot of horrible memories, but that's the gist of it. If I've learned one thing it is this. Decide what you want to do. Do you want to make a bunch of software components? Fine, DO IT. Do you want to make a game? Then don't be a code snob
. Just get things that work, use your skill and discernment along with ample research and choose the right tools for the job. If I had to go back again I'd use good libraries instead of coding from scratch, particularly for graphics and GUI. Oddly enough (or not), I used to make audio software and have experience with how difficult it can be, so it never even entered my mind to make a custom audio engine, I always planned on using something precanned. I guess that's how it works. An overambitious idealist goes in thinking that they can conquer anything and comes out a grizzled veteran. Well, I'm tired, I've made mistakes, and I have the battle scars to show for it. Next time I'll do my best to avoid a fight.
I'm doing the project solo, and I'm losing my mind ever so slightly. I wish I started something smaller, but now I'm in way too deep to go back. If anyone wants to get in on part 2, that'd be great, but now at the last mile of this punishing development marathon, I've got to man up and finish what I started. I still believe in this game strongly, but it feels really nice to hear that someone other than me is looking forward to it.
By the way. This game is going to be amazing (I hope).