So, it’s two in the morning and I just uploaded the first proper release build of my game. (You can download it Here if you want to, though only for Windows at the moment and it will require the Visual C++ 2013 runtime).
The controls as they stand right now are;
WASD for movement, Space to shoot. You “can” rebind these keys through the options menu, though the movement can only be reliably bound to ‘W’,’A’,’S’,’D’, the arrow keys, and joystick axises at the moment. Anything else and it’ll only bind turn-left. I’m going to fix this tomorrow, but haven’t had the time to sit down and fight the options interface yet.
F3 will toggle a FPS display in the top-right corner, if you want to see that. And 100% of the game logic is included in the Scripts folder, peruse to your hearts contents. (If you launch the game with ‘-d’ it will dump a markdown document of the registered script interface, should help you understand what does what)
It’s currently hardcoded with three pre-named and pre-colored players competing in a hot seat, but I’m planning on making some UI for changing that soon.
With that out of the way, time for some post-mortem of today..
This Ludum Dare I decided to see how much more effective it is to do the game logic in a script, and from my findings so far it’s almost an infinite percentage. I mean, the ability to save a file only to see the changes in-game a few moments later is amazing. The fact that I can do it in the middle of gameplay and instantly change everything from the look of the game to how the player controls and moves is quite empowering during development.
I think this is a first time I’ve had something that’s this finished by the first 24 hour mark, usually I’m just about finishing the base of the game by now. But this time I think I can afford to do some proper bells and whistles.
So, what went right?
- The choice to do the LD through scripts is certainly a HUGE plus on here. Definitely going to do more scripting in my future.
- My idea for the theme actually turned out to work really well, though I started off in a wrong direction and had to change lots of things to get it to actually render the minigames inside of their tiles.
What went less right?
- Forgot that Angelscript doesn’t allow value returns on 64-bit Linux, so going to have to spend several hours in the future wrapping all value returning functions in generic calls. Either that, or skip the 64-bit Linux build altogether.
- Forgot about GUI, so I’m currently having to draw all of that through manually positioned geometrical shapes and test snippets. Not very nice way to design it, though the almost instant response to my changes makes it bearable.
What would I change if I do this again?
- Well, if I’m doing this again, I’m definitely going to grab more pre-created libraries. GUI, Physics, etc. Linking them up to Angelscript shouldn’t prove much of a hassle, and it would let me really code.
So, to finish this short post off; I definitely recommend trying to do a fully scripted game if you haven’t already, performance is amazing and I haven’t even added JIT compilation of the scripts yet. So they’re currently being interpreted.
And now I should probably go sleep, so I hope you’ve had as much fun as I’ve had. And I hope we’ll have even more fun tomorrow.