If you are not familiar with said event then let me introduce you to HacktoberFest. It is basically a global collaboration event where developers celebrate the open-source community by contributing and hosting contributions all around the internet. (If you are not familiar with open-source, imagine a program, where everyone could add to it, if the other maintainers approve of said changes. Basically a big co operative method for making programs)
I wanted to try my hands at some real open-source games, as I saw several projects collecting them and the HacktoberFest shirts are always amazing drips. If you know my work, you should be surprised as all my code is available on GitHub, free to take, but the PICO-8 engine itself is not free. This makes my stuff not really open-source as for contributing or modifying you would need to purchase PICO-8. That is why I turned to another engine in a similar style to PICO-8.
TIC-80 and Devtober
TIC-80 is a free and open source fantasy computer for making, playing and sharing tiny games, with similar but much looser restriction than PICO-8 and it is totally free to take! One little problem is that I know absolutely nothing about this engine so the first few steps were rough, but this is the birth of a new project!
Since TIC-80 also supports lua, which PICO-8 is based on, the basics were kinda in my head from the start, but the API is a bit different here. That said a quick base starfield and ship was quickly thrown together.
The starfield is nothing more than a collection of points moving downwards, few of them with higher speed and white, some of them dark and slower.
Shooting is nothing more complicated than I showed in previous devlogs, so i won't go over it to hard. It was time to lay in the first few basis of the gameplay. The plan is to have different enemies swarming from above, killing them grants experience which we use to level up and gain upgrades to our ship!
The only tricky thing in this system is the level up selection screen and tracking which upgrade to draw/choose/keep. For this we use a very simple method that is not the prettiest, but is very easy to setup and expand upon.
First step, draw the first upgrade and leave ample space after it for more upgrades down the line. Here I choose sprite 16, drew a rocket and a few other upgrade illustration. Exhausts, magazines, shields, repair bots and turrets.
Next we create 2 global collections, one for the tracking over time, and one for the level up screen. This is relatievly simple process, just track what the selection hand is pointing at and increase the global collection that track what upgrades we have!
And boom we have a working upgrade system! Now we only need to increase the drop random selection by one for each new upgrade we add! Handling them is not harded by any means, we have the colelcted numbers for each upgrade, if we have more than 0 then we execute code based on the current upgrade. For ex, rockets grant us target seeking rockets every 2 second! For each upgrade we spawn a new one!
After this only enemies remain, and in the last devlog on my Ko-fi I got heavily into that, these enemies are even simpler as they don't have state machines, just velocities they move by. We declare (sx,sy) spawn them at random location atop of the screen and move them downwards according to said speeds.
Their bullet system is basically a copy for the player's one, create bullet at the front of the enemy, set speed values, and let it go! Enemy variatey is a key, added quite few of them already, some just bullet fodder, some fight back for their life!
My plan is to have a few variations so you'll have to build around what the game bring spawns, so created many variations (as of now only sprites) and let the code loose!
There are 3 main families, the Circles, the Triangles and the Squares. I hope I can give them their unique stats and abilites so no two colors from different families feel the same!
And of course we have to have effects so quickly threw in an explosion system to the game. Each enemy will use it's own colors to poof out of existence.
Kinda wanted a game jam to submission to and interact with so I looked around on Itch's calendar to find something good and fitting. Started this project a few days ago and found the Devtober 2022 jam which supposed to be a rules free enviroment for all developer to work a little everyday on their project during this month, so the pairing is perfect!
I hope I can interact with many different developers over the jam's time and find some amazing gems among the submissions!
I'm not sure if i'm gonna post everyday here, as I don't want to spam the page, over at Ko-fi you'll be able to read daily updates and I think i'm gonna gather weekly updates for NewGrounds! The jam ends at the end of this month and hopefully we will have a whole new game under our belt to submit!
If you have any feedback or even ugrades ideas you wish to see, hit me up in the comments and we will see what I can do!
That said, until later devlogs, see ya all around and I wish you an amazing day!