New plans - Engine upgrade to the max
Hello,
I'm still chipping away at the game. I've finished the 5 levels and I'm now working on level changing. I'm encountering a bug when loading the next level.
I have been thinking, that I'm not sure I'm quite happy with the features and game experience delivered by the game in it's current form. It is a bit simple and lacking in shiny features like lighting and physics. I don't really want to ship a game that is too similar to what the game looks like now, as it just doesn't stand out enough.
I was originally thinking of switching engine. To something like Godot, MonoGame, Raylib, KorGE, LibGDX, or even something HAXE based. But I realised, technically I can add a few of those desirable features to my current game engine. Without too much effort. That means I get to keep the serious effort that I have put into the game and engine. And build upon it.
The features I want to add are:
- Lighting via shaders (eek!)
- Physics for fun interactivity with objects
- Scripting via embedded scripting language - makes making levels faster
- More complex map loading - eg. TMX support (rather than basic CSV)
Rather than switching engine to obtain these features, I can actually just add them to my engine!
Shaders (Lighting)
Allegro 5 supports shaders. It's a bit of a dark art - there isn't a lot of tutorials and examples out there. I will have to do a lot of experimenting. But it is possible. I've tackled more challenging work in the past.
Physics
There is one major 2D physics library for C - Chipmunk physics engine. It used to be a commercial paid engine. But now it's free! (and open source). Should just be a simple library import.
Scripting
The obvious choice would be Lua. However, doing some research, I discovered Squirrel. It is used by Valve and it has better garbage collection, but also it supports native classes - which is something Lua doesn't support natively. You have to make your own 'class' implementation with Lua. Having used Lua in the past quite extensively, I definitely would appreciate native classes in game development.
More Complex Maps
Object support would be nice. So I can place objects in X/Y positions. This isn't possible with a CSV file. Luckily, someone has made a .tmx renderer! https://github.com/dradtke/allegro_tiled I probably should have been using this all along..
Combining all of these features will bring my game engine to a new level. It will make it much more appealing and technically impressive. However, it's going to take time.. I will have to come to terms with the fact that I will probably be adding another year or two to the development time (unless I happen to find myself with a lot of free time, and still able to pay the bills.. unlikely..). I think it will be worth it, so I can say that I have made a decent game, shipped it, and maybe even receive good reviews!
I plan to do some serious work on the game this weekend (04/03/2020). I aim to push out another build to the public, all going well.
Get Wizards With Rockets
Wizards With Rockets
When you can't be bothered coding in a full magic system.
Status | In development |
Author | Motley Pixels |
Genre | Action |
More posts
- Long Time No Build - 2023 UpdatesOct 30, 2023
- Quiet Release - Christmas Hats and Small FixesDec 05, 2021
- Poll and a Competitor!Jun 14, 2021
- Finished art, acceleration, custom window resJun 13, 2021
- New Build - 11/04/2021 - New Graphics!!Apr 11, 2021
- Major Update - New menu, resolution changing, other optionsSep 16, 2020
- Small update - Increased difficulty and level savingApr 27, 2020
- 2 Years of Development for Wizards with RocketsApr 27, 2020
- Single Player - Finally, New Build - New Maps and Under Hood ChangesApr 26, 2020
Leave a comment
Log in with itch.io to leave a comment.