A few months ago I made a game for a jam. When the jam was over I fixed some of the issues it had, such as changes to the camera position and getting textures working. It's called Rabbit Catcher and it's gameplay is 'walk around, catch all the rabbits, find the exit'. Comes with a map editor. The polished-after-the-jam version can be found here.
After that it has languished while I continued learning Panda3D with various experiments. I tried applying for funding (no guts no glory) but was denied. They only fund established game studios, for legal reasons. The funding application process was interesting though, I learned a bunch. It forced me to learn how to make a video. And to do the cold, hard math of budget required and expected profit per unit sold.
Due to circumstances, I have a lot of time now. So I figured, might as well push forward and get Rabbit Catcher ready for a release this month. I would like it feel worthy of a sale price of 8 euro's. For that I plan to have two modes, rabbit day mode and and wisps night mode and a 100 levels. And of course the level editor. I've been working on it since the beginning of the month. I saw this jam today and it seemed a perfect fit.
Lets do some math. My intended sale price is 8 euro. An estimated 60% will likely be lost to transfer fees, supporting itch, taxes,... Leaving 3.2 euro. I need a 1000 euros a month to survive. So I would need to sell 313 units a month, at 8 euro with 40% for me. That's a lot of units, but it's also an attainable long term goal. I'll be happy already if one or two people buy Rabbit Catcher.
Progress made so far:
- Made changes to the way the levels are saved and loaded. The old system invalidated all the old levels when a change to the models was made because it saved the actual models. The new system saves the level as a class with level information and an array of strings. This should hopefully be reasonably futureproof.
- The game jam version consists of two programs, the level editor and the game. That is a bit of a hassle for players but more importantly, it was difficult to get it to build properly. It's now all in one program, and you switch between the editor and play mode by clicking on the button in the menu. This required a lot of refactoring of the code. I've made two .py files, GameModeEdit and GameModePlay and I've pushed most of the relevant pieces into their respective py file. Further refactoring still needs to be done, but at the moment both modes work and you can switch between them. Various bugs and unintended behaviour appeared during the merging and moving, but all issues seem to be resolved at this time.
- I've added a quit button. Cant release a game that requires people to alt-F4 to quit.
Todo list:
- Full screen.
- Detecting incompatible graphics cards or other issues that might cause problems for the player. Give a warning or a message. For example, lets say the graphics card cant do shadows. The game should detect that, disable the shadow heavy wisps night mode and tell the player.
- Have various map sizes and either make sure with optimization that everyone can play all sizes or detect and warn when a map size would give problems for a player.
- Detect mistakes in the level design and give warnings when a level is unwinnable.
- Let players change their input bindings. Currently the game adapts to your keyboard layout so everyone can play it, but maybe someone doesnt want to use aswd and wants to change it to something else.
- Switch between catching rabbits and catching wisps.
- Add audio.
- Settings menu.
- Refactoring and polish.
- Pop ups and warnings to confirm oversaving a level or quitting.
- Make a 100 levels.
stretch goals:
- Controller support. I'd have to buy one to test it.
- Multiplayer support. I've never done multiplayer before. I dont know how and it'll likely require a lot of refactoring.
- Test coverage for easier refactoring. It's not easy to make automated tests for a game. But it would really help if I could have automated tests now and in my future games.