Although I failed my very first attempt in an LDjam I am extremely happy I participated. The weeks of preparation beforehand and the 2 days I was working on the "game" were not in any way wasted. I don't see myself as an optimist at all but I have no negative feelings associated with this experience. Here is a list of great things I took away from attempting this challenge:
1. I made a fun little space shoot them up game beforehand with pygame so I could see if I can actually do it. That game will be ready and waiting for any future polishing and modification.
2. Because I was going to participate in the Compo, I knew I had to publish the source code for this game. So I looked for a tutorial on Git. After watching a 30 minute video I knew all I needed to implement it. And you know what? It is one of the easiest and greatest things I should have learned months ago. Now any future project of mine will start with git init.
3. Pygame is an open source python library licensed under "LGPL 2.1". Because I had to publish the binaries of my game, I needed to know what that meant. It took many many hours to grasp it fully but after reading the docs, TL;DRs, looking at Q&As, and re-checking it over and over, I now know enough about it that I can not worry about any future licensing issues with pygame or any other LGPL software or library for that matter. Although I have to say I really dislike GPL and LGPL licenses and was thinking of MIT license for my source code which is far more suited to my taste.
4. To make the actual binaries I turned to PyInstaller which turns out works pretty well with pygame and many other libraries. I leaned how to publish for Windows and Linux from my Ubuntu-Mate machine. But unfortunately no MacOS, because I don't have one, nor could get "darling" emulator to work with it.
5. I learned how to optimize my python code after reading this very useful post on the matter and I'm going to take optimization into account for my future projects.
6. I read up on python magic methods which could be extremely useful for convenience and readability of your code.
7. I made an itch account which might come in handy in the future.
8. And finally I could write the base-code for a platforming game from scratch in these 2 days which will be used for my next platforming game attempts (after many many cleanups and optimizations of course)
TL;DR
- Made a shmup game beforehand.
- Learned Git.
- Learned LGPL.
- Learned PyInstaller.
- Learned python optimization tricks.
- Learned python magic functions.
- Made an itch.io account.
- Made the base-code for a platforming game.
Thanks to
- @PhilStrahl aka Pixel Prophecy for inspiring me enough to attempt this challenge.
- KidsCanCode YouTube Channel for the best pygame tutorials I've yet to come across.
- And of course @Pov and the community for making this all possible.
I will play other people's games a little later. Feel free to reply to this post with links to your game. I will play them if they have Linux support (or are WINE compatible) or are web-based.