Home Weekly 3: Reasons I will be focusing on finishing my first commerical game by June 2024
Post
Cancel

Weekly 3: Reasons I will be focusing on finishing my first commerical game by June 2024

This week’s post is not very coding heavy and is all about my commitment to work on Rocket Game as a full time endavour until its full publish release month of May 2024. As I was very focused on getting Rocket Game prototype up and running for its first internal playtesting. I don’t really have anything else coding wise to show otherwise. I did make some minor bug fixes, refactor code and uninteresting progress on the 3D voxel engine (like rendering lines and stuff) but its nothing to write home about.

The content is also kept in point form from my initial drafts, as I am going to be quite busy today and wanted to upload this anyways on schedule. I might go back and edit it the following day to not be point form… or I could keep it as point form as the overall content is the same.

Rocket Game

I felt inspired by this relatively well known blog post by Derek Yu, creator of Spelunky.

  • As mentioned in last week’s post, I made further progress for Rocket Game and completed my sprint in time for playtesting within my siblings and my partner.
  • Due to positive reception and potential of the idea, I decided to commit to finishing this as my first real long term personal project.

  • Here is just some unedited gameplay from when I played with my younger brother. A video clip hosted on Youtube.
  • In terms of progress for it, as shown in the video just tweak a lot of balancing, implementing the placeholder sounds and visuals and just adding stuff like bullet spawning and all

    What is Rocket Game?

  • Might make this its own post sometime but briefly…
  • Local multiplayer platform fighter with inspirations from Super Smash Brothers, Rivals of Aether and even Lethal League
  • The unique selling point of this game is that it first in the genre to have projectile based shooting mechanics rather than melee combat, which can lead to very different gameplay scenarios which the other games in this genre do not provide
  • It also will have fully destructible environments similar to Pixel Perfect, which can add an additional novelty as the chaotic battle will alter the stage in unique ways every match due to the player’s actions, similar to the fantasy of Dragon Ball anime fights.
  • The target demographic is targeting fans of the platform fighter genre while also introducing more casual audience due to the more accessible presentation and control scheme. The concept of shooting and deflecting projectiles as only one character type is easier to grasp than the complex combos and movement of hand to hand combat with many different characters types
  • There is hence also has an emphasis on having a much lower skill floor that does not sacrifice gameplay depth. It has a simplified control scheme with only one character

    Commitment to Finish

  • As inspired by the popular blog post by Derek Yu, creator of Spelunky, I am choosing to commit a significant amount of time to fully finish and publish this game. I think it will be a significant milestone
  • The target is a Steam release of a vertical slice for May 2024, giving an 8 month development period. After that I will further submit the game for IGF 2025, targeting the category of Student Games.
  • Having something finished also allows me to have ‘work-life’ balance between hobbyist side projects versus something that is polished and completed, that had undergone that last 10% where 90% of the work is in.
  • I also budgeted some amount and projected how much the game will cost for publishing on Steam, submission to IGF, and contracting for assets.

    Why a video game?

The main two reasons I am choosing to commit to a video game as my first full commercial public project rather than an app or website is the following:

  1. The feedback from the prototyping response was very positive, showing that there is real potential demand for this product in the market that is worth looking into.
  2. I already have developed a skillset for video game development from hobbyist development, my undergraduate projects and taking part in game jam competitions.

    Advantages

Real Users and Demand

  • Through the genre and nature of the game, I am able to be pushed to playtest it with real people in the target demographic over time. I can playtest the game at my university or local friend groups in order to get real world feedback on its quality and demand.
  • This is in contrast to making another pet project website, app or game engine which it is harder to get real user feedback to solve real problems as an independent undergraduate.
  • Not only that, but due to its nature as a video game I can also submit it to get more critical feedback and reception through competitions like IGF, which allow a real quality standard that determines how ‘finished’ it is that can be accomplished as an independent developer in under a year’s deadline

Feedback and Reviews. Emotional Maturity

  • Another thing that is worth considering is that making a public product, meant to be played by people, is also an act of vulnerability.
  • The public, the customer, the audience, they don’t care who you are or your personal story or how hard you worked, they will give their opinions on the product as it is. Most of these customers won’t moderate their review and their comments could be rude, dismissive or even outright wrong. Even the positive comments might be stressful as they might overhype or exaggerate the game too.
  • Now why is this in the Advantages? Because I believe that being exposed to this real world criticism and vulnerability is a very difficult but very powerful opportunity for emotional growth and maturity. The balancing act of being able to absorb the constructive feedback from the customers and reviewers in a way that is productive and will improve your craft while also shrugging off the unhelpful emotional baggage is a very valuable skill that will carry over to private working life. It is not something that can be developed in a vacuum.
  • Releasing your hard work to the public, being exposed to people who will go ‘this just sucks’ without a second thought, is one of the most effective ways to develop this skill, especially if I aim for higher profile stress situations like submitting to competitions or marketing the work. Even the best games in the world will get negative and rude reviews as everyone has different tastes.
  • I think once I have been through the cycle, and really learn from the experience and grow from it, it’d have immense benefit when I start becoming an employee in the workplace because when I get exposed to harsh feedback from a manager or tech lead, I think it will feel like nothing compared to the reviews from people to the Internet from when the game was made.

Project Management, Discipline and Long Term Commitment

  • The development deadline of 8 months minimum and one year maximum is a good length.
  • It is long enough to really test and improve my discipline and work ethic, such as my ability commit to working on a project even during moments of lull and low motivation, once the novelty of the project being fresh wears off. This is an important skill to develop that can be easily neglected if jumping from new project to new project, or only working on projects with very short deadlines of less than a few months.
  • However, it is also short enough that I can use the lessons learned from finishing it and move onto other projects relatively quickly in the grand scheme of things. It is important not to spend too much time on only one project, especially if it is the person’s first project, as it can become too bloated.
  • I get to really ‘battle test’ my skills of how I employ management techniques such as Agile through Sprints and Scrums, allowing me to scope effective sprints and write my own tickets/stories that meet a deadline.

Professionalism

  • As part of making a commercial, full polished product that will be a competition entry, I will also be in situations where I have to interact with business side of things as an independent. This can include contracting other commission work for art and audio assets, dealing with tax laws for publishing onto digital platforms, and being very careful about my copyright and licensing agreements.
  • Not only do I have to deal with legality and contracts, I also will develop an invaluable perspective by having to create clear specifications and deliverables for the contractors that I will have to hire. This is a useful skill that will carry over well into my future career even outside of independent game development, as I would have ‘hands on’ experience with how money and deliverables interact in the real world. Such perspective is useful even if I myself will not be contracting out work in my career, since it allows me to understand what is the norm and both sides of the equtation.
  • Overall, hiring contractors will in turn help me be a better contractor in the future too

Networking and Portfolio

  • There is also the fact that finishing a project to a good quality and scale is a strong portfolio piece in both directions. It can help with the confidence of employers if I wish to do contract or freelance work. It can also be a conversation point even when applying to junior software engineering positions outside of game development, as the skills of project management for coding is still universal
  • Not only does it make me more employable, but it also allows me to hire more contractors on longer terms or more favorable contract deals (such as revenue splits) as it adds credibility and reputation to my person. If I wish to develop more video games as a product, budgeting to make a financial return on investment, having a successful and high quality project is very important.

Disadvantages

Despite the benefits of working on a video game project long term, there are some disadvantages that are worth considering for this project regardless that other project types may not have. Still, I think the pros outweigh the cons.

Solo Programmer works in vacuum

  • I have the freedom of being my own tech lead, which means that there is less urgency to create APIs for other programmers on my team (because I am the only programmer). There is also less opportunities to get critical feedback of my coding styles, design patterns and architecture. After meeting all my optimization specifications with profiling, I would be forced to evaluate only myself subjectively for code design. It would simply be ‘it works, it meets the performance specifications and I know how to use it’ as good enough for all my code, no matter how messy (as long as its neat to me).
  • Documentation will not be formalized for an audience, even if records of all work is kept, as it only needs to be concise to myself
  • I will not have any pull requests to create or review and will not be able to be challenged as much in this regard. I can still make clean good git commit messages that allow my git log to be useful, but I will also have a lot of freedom to just create branches and merge in a loose and unrestrictive way.
  • I also don’t get to practice working with blocking tasks, where my tickets will depend on another member’s tickets or another member’s tickets depend on mine, during this project. The closest to that is depending on the contractor’s work for the asset creation later in development.
  • Overall, working on this project will not give me as many chances to develop skills relating to software engineering as part of a team with code reviews and pull requests. The only way to mitigate this is to contribute to unrelated open source projects in my spare time after I had completed my tasks for the video game. The fact that I am using the Godot engine could make Godot or Godot related projects worthwhile FOSS projects to contribute code to if I wish to practice this skill.

No API Development

  • The nature of an internal, solo, closed-sourced, game development project would neglect the need for developing an API. Hence there won’t be many opportunities to practice the concepts behind Semantic Versioning in a rigorous way. There are no external users whom need to interact with the game’s systems using their own code or tools, and so there is no ‘backwards compatibility’ that needs to be considered. Every single version would just be some 0.y+n.z until release

Game Development is kind of unique

  • The loose and creative nature of game development coding makes some styles and work habits less transferable to other software development directly. One example of this is that specifications are less objective and more unknown or ‘feelsy’, such as scripting character movement that ‘just feels good.’
  • I won’t have as many chances to practice web development stuff as a full commitment until after the project is done in after a year. While I can still work on my skills on my spare time, it’d be forced to be lower priority until the game is shipped.

Regardless of these disadvantages, being able to ship a full commercial product that meets the standards of an IGF competition entry, targeting nomination, will be a worthwhile accomplishment.

Budgeting

  • They say that you have to spend money to make money. This is very true when it comes to publishing any product, even if it is high quality. This is because a lot of revenue has to be dedicated to marketing. People will not be able to buy your product if they do not know it exists. Word of mouth is a possible alternative but you cannot plan around that (and if you try to manipulate it by investing into streamers or Youtubers or booking convention slots to demo the game, that is still just another form of marketing that needs to be budgeted for anyways).
  • Marketing, however, is very expensive either in labor or in raw cost. One alternative is to reach out to a publisher but that itself is also a huge expense of resources of my labor. This also comes at the risk of the game’s scope and specifications having to match publishers expectations, which can further increase the financial and labor cost of the game in an ironic way. It also increases the risk of the product being completed as the scope of the project is no longer in full control of the producer (which I would be).
  • Game development is also an extremely high risk business for independent development. It is very hard to get guarantied market research and push copies as an independent developer without a portfolio. It already is high risk for established developers too as scope can be affected by market and economic trends. Not only that, but in today’s age, the competition to stand out in a market is very very high as a lot of high quality products are being sold everyday. While this is healthy and good for the customer and the industry, it also means that marketing is a necessity for profitability as the effect of ‘word of mouth’ is not as strong.
  • My solution to get around the fact that the budget is very challenging to make a profitable game is to simply not target for profitability in terms of finances. I can instead consider the budget as a very long term investment towards my portfolio and growth as a developer as a whole (similar to paying for university in a way, I guess). In other words, I can budget and scope for this game as though I would not see a single cent of profit, which shifts priorities of what aspects of development should be invested in.
  • This sh ift of mentality drastically reduces the cost of producing the game, as I no longer need to invest a lot of money into marketing or striking a publishing deal. Instead, all budgeting can go towards improving the quality of the game or settling miscellaneous fees like IGF submission or Steam submission. By hiring contractors or purchasing assets, the people hired to work on their assets for the game also have no financial stake on the game’s profitability which further drastically reduces the stress and expectations on the game as a whole. This is separate from working with a team as revenue split is a consideration.
  • By choosing not to invest in this project with the expectation that the game will make a profit, I can hence scope my budget to be under 1000 USD, all going into high quality asset creation and contractors, without expecting to see any of it back. That is a very realistic and flexible budget when considering only assets for the scope and deadline of the project that I had planned.
  • Producing a polished, professional quality short video game for a little over the cost of a PlayStation 5 with games or a holiday to Japan? That sounds like a very reasonable amount to spend from that perspective.

Conclusion… Work Ethic

I do consider making a full game by myself much separate from working on previous student projects as I would have to be fully self-driven, without the handholding of university lecturers or grading rubrics to guide me. There is also the fact that its exposed to the ‘real world’ too, and I would have to develop my discipline, work ethic and time management even beyond the more ‘stick and carrot’ environment of school.

In school or are work, if you don’t do your work or give up there are ‘real world punishments’ such as failing a class, getting a negative reputation among classmates o being fired. Stuff like that can easily be ‘free discipline’ to do work even when you are feeling lazy. For most people this ‘free discipline’ is enough to get by and push through, suck it up, and get the work done, for most of their careers.

But for a solo project like this, the only person holding myself accountable is myself: nobody else will care if I quit the project. This fact, however, is precisely why its even more worthwhile when I succeed because I know it’s all by my own self-driven discipline. This ability to put in the work and grind even if the consequences for quitting is insignificant, is something I want to develop and strengthen, as it’d make the rest of my working life so much easier. In addition, it people state that finishing one project would make finishing more projects on time so much easier.

This discipline to work and finish a personal product is far beyond the requirements of discipline in being an employee, and so that will help make me comfortably be a good worker with good stress management because it’d be easier in comparison when I enter working life.

Moving forward… what happens to the blog and other projects?

I will still be working on other projects in my spare time after I had done my work for the day on the game. I believe having these side toy projects and hobbyist stuff is a good way to destress and improve my skills, as working only one one project creates a ‘tunnel visioning’ of my skills. I can only promise finishing really small scope stuff outside this main game though haha.

Project Prioritization

One reason I also wanted to work on a game fully like this is so that the ‘one million unfinished side projects’ red flag cliche won’t hit me as hard, since I’d have one main project that will be finished and polished. It gives me the freedom to work on more stuff, ironically, as I don’t have to worry about how to prioritize between my other projects and ideas (since they are all equally less important than the game).

Weekly Posts will not have Rocket Game in them to prevent repetition

I will keep having these weekly blog posts and write about other coding stuff I have learned over the week. Not sure if I’d have time to write articles though. I will, however, regulate to keep updates on progress for the video game limited to blog posts twice a week specifically about it. This is just to prevent every single Weekly Post from being just ‘Rocket Game’ posts, if that makes sense.

If you have read all that, thanks for sticking with me so far. I am happy about being able to put in progress for four weekly posts in a row. That’s about a month’s worth, huh? I think I am getting more loose and less formal in these posts too. It will be a long but worthwhile journey, and I hope that anyone reading will enjoy watching how its grown.

This post is licensed under CC BY 4.0 by the author.

Weekly 2 : More Progress on Voxels, Projection and Other Stuff

Weekly 4: Asking Myself 'Why Should Readers Care' regarding Posts

Comments powered by Disqus.