top of page
Search

How NOT to Develop a Videogame From Scratch in 3 Weeks

  • Writer: stevensilverstein9
    stevensilverstein9
  • Oct 8, 2021
  • 10 min read

Due to the instability that the COVID19 pandemic brought, I have found myself outside of the classroom for the first extended period of my teaching career. While I will be returning to the classroom in January I have opted to use the remainder of 2021 to not only finish up my Master’s program but also to flesh out a portfolio of educational videogames so that I might be able to pivot to educational videogame creation as an alternative career choice while also providing resources to aid in my instruction in the classroom! The timing of this allows me to use licenses reserved for CSUN students that I would otherwise be unable to afford, thus giving me a firm due date of when I will have the projects complete.


This blog post will be dedicated towards documenting a 3 week period between September and October of 2021 wherein I created a videogame from scratch for entry into the Quarter Annual Driftwood Gaming Game Jam 2021,


(if you’d like to play my game prior to reading the blog you can find it at this link.https://quicksilver9014.itch.io/panik-at-le-disco Only works on windows computers at the moment. To run click the “animationstutorial” exe and be prepared to control+alt+delete to exit, as I never designed a menu system to exit the game)




My logic for joining this game Jam was to ensure that I had a system of accountability to motivate me to learn the skills I needed to complete the other games in my educational game portfolio plans. Because this game jam would have participants design and build a game from scratch within 3 weeks, the timetable was set and I signed up for the first game jam competition I could find for the dates in question. In order to ensure that no previously made projects would be used, the theme for the game jam was only given to participants after signing up. I received a choice between the given themes of : “pirate treasure adventure”, “antihero”, “car extended warranty”, and “1970s Retro”.


The skills I wanted to learn through this game jam were:

  • The basics of Unity animation

  • Koreographer Professional Edition (program that syncs animations to music within Unity)

  • Substance painter as well as Quixel Mixer

  • 3D modeling with Blender

  • Mixamo 3D model rigging

  • Exporting and importing models with ease across platforms

  • 3D telography to be able to scan any desired object for use with Blender


Because my desired learning outcomes for this period focused on working with new models/rigs, animation, and synching music to Unity creations via Koreographer, I decided a theme of 1970s disco would be used for purposes of the game jam (as much as it pains me to not take advantage of my CSUN’s teams inside-joke about car extended warranty calls). And so there I had it, I would design and build a game in 3 weeks about 1970s disco that would teach me all of these skills. Its definitely not what I had in mind when I was thinking about how to use the remainder of 2021 but it was too late to turn back now and excuses don't get results.




Design:

I’ll admit this is where should have seen trouble ahead. I designed the game with inspirations from the 2007 game De Blob for Nintendo Wii. In that game a specific stem (instrument track) of a music would increase in volume if the player is painting in a corresponding color. This encouraged players to keep their combos going not for extrinsic motivators like score (I literally never looked at my score once during that entire game), but rather, through the intrinsic motivator of keeping the music solo going. I combined this inspiration with what I learned from playing Devil May Cry, wherein combos would be triggered via well timed combinations in a beat-em-up above 3rd person perspective, and Donkey Kong Jungle Beat, wherein playing along with the beat would yield more powerful attacks. With these 3 influences in mind I had a vision for a game where the protagonist would attack using funky dance moves and wherein each attack would power up if performed on the beat of the music, which would itself open up new combos to “keep the dance going” and would keep the solo tracked music stem performing an improvised solo over the custom disco track. Sounds great right? That's what I thought as i jumped head-first into programming, but what I didn't realize is that a good idea is not enough when building a large project. I should have story-boarded my creation, worked through the process in my head to identify and accommodate any bottlenecks to the process, and to plan accordingly. I did none of these things which caused me to fall short of my vision as well as unfortunately ignore much of the game design I spent the last year learning as I focused more on the tech than on the player experience(a mistake I learned much from). More on this later in the blog


Learning the Skills:

Jumping into Blender was straight forward as we have unlimited access to LinkedInLearning by being students at CSUN. One intro course later and I understood enough to create some basic models. With help from Jose Salas, a tech support CSUN hooked me up with for help in Unity support, I was able to extract .DAE files from .BRESS and .MDL0 files I used when I used to run mods on mid 2000s nintendo games. With these I was able to import them into Blender, modify them to be legally distinct (as discussed in previous classes the rules for kit-crafting an object to the point of legal distinction is a 60% change in form alongside a change in its used context) With this in mind I was able to take medieval weaponry, space bounty hunters, Pegasus knights, and Royal adornments from the 2006 game Super Smash Brothers Brawl and turn them into rainbow funky dispensers of justice, a disco diva heroine, a golden reflective statue, and 1970s bling to be worn on the dance club.



example of properly kitcrafted model I made (right) with only the upper arms, torso, and thighs the same as the original model (left)


Unity’s animation system I learned mainly from youtube alongside some tutelage from Jose Salas of CSUN. I learned that animation is a never ending black hole and once Pandora’s box is opened there is an infinite amount to learn to master the craft. The sharp due date of only a couple of weeks allowed me to avoid the ADD hyper-focus black hole I would have otherwise fallen into and instead pick out the specific skills I needed to advance the project. Everything went well until I realized that the Invector Melee Manager prefabs I was using to calculate damage would not provoke action on my imported models; I needed to learn how to Rig. We learned the basics of rigging for 30 seconds once during our 603 course and luckily all class sessions are recorded. I was able to pull up the recording which gave me just enough info to know where to start googling for help. I was able to find Mixamo as a tool to rig models online (which was free to me via adobe for being a CSUN student). I found Mixamo’s model rigging easy to master and it gave me some basic animations to bring into the project.


While the soul of the game was learning how to sequence animation to music (which was afterall a majority of my skill goals), I still needed someone for my protagonist to beat up via on-beat dance attacks. The common strategy is to use zombies or robots because they're easy to animate. My friend suggested I use Michael Jackson dressed as the zombie from thriller and have the zombies dance to the music too, and I loved this idea (even tho its an 80s influence and not a 70s one but there was no time for such details!). I used this as an excuse to learn 3D telography and with the help of the app SCANN3D I was able to scan and rig up a zombie model alongside some animations taken directly from Michael Jackson’s Thriller music video.


Substance painter was used sparingly for use designing the metallic surfaces to accompany the albedo textures made using Pixlr image editor (I could have used photoshop but I was already used to pixlr and already had enough on my plate). There is so much more to learn with substance painter but at least I learned enough to adjust the textures upon an imported model. I still didn't learn enough to custom rig textures onto specific polygons but it was a good first start.


Korerographer actually turned out to be the easiest part of the project surprisingly. That said, I still didn't have enough time to make my own music like I had planned (I’ve been an amateaur musician for the last 20 years). With a little more than a week left I asked my next door neighbor, (whom is a professional DJ) for help. Within two afternoons we designed and built a funky soundtrack that matched the zombie tones to be a “spooky disco” theme. That is where I came up with the title “Panik at le Disco” (which not only stays copyright free from the band but also evokes the “Panik calm” meme of 2020).


The Process of Putting it All Together:

I’ll admit my shortcomings in the first week led to problems in the following two weeks. In the first week I just thought about the idea and did no work for the entire week. This led to a rushed development of 2 weeks to build the game from scratch and forced me to cut and downscale many features (such as the rhythm detection causing damage boosts and the music stems causing a solo to keep the music going. Which were 2 out of my 4 good ideas that made my game unique).


I also faltered in my first week by not planning out the methodology. This led to a huge bottleneck where I had animations and models to use but no way to get the models working. I had to stop everything for 5 days straight while I learned how to rig models to get everything working. This messed up the flow big-time and made it so many of the animations never played right. Worst of all, the sloppy implementation of rigging made an incompatibility between my mixamo animations, my custom made Michael Jackson animations, and the free Invector built-in locomotion animations. This became unsolvable for mixamo’s given models, but even outside of these, I still had a limitation: A single rigged model could only use one of these types of animations per instance! This would require more time to troubleshoot than I had to complete the project. With the due date approaching I scrambled to find a free spooky pumpkin skeleton to replace the Mixamo zombie model that was giving me trouble. I created a band-aid solution of custom writing a C# script that would spawn new versions of each model to make it LOOK like the animations blended together. It was choppy sloppy and bad but all said and done the illusion was convincing enough and I’m proud of my quick thinking and my use of the limited C# I picked up during the program!





I found the process of this crunch to be exhausting both physically and mentally. Days seemed to drain away in mere instants and my back began to hurt permanently from being hunched over at my computer. I found it hard to enjoy myself when not working and turned into a workaholic pumping 10-14 hours a day into the project. This made it all the harder when the deadline approached and only half of what I worked on was in anything close to a working state. Worse than that was that my building was having random power outages the day of the submission, which forced me to plug my computer into my camping solar generator to get a final hour or two to slam everything usable into a working state and leave half of all my hard work unused. (I could always come back to the project if I want to flesh it out to sell later for real. I just knew it would be irresponsible to spend any more time on a project that was definitely not an educational game when I only had a few months to build a portfolio of educational games).


What I learned from the experience

I learned that the process of moving through a project is as important as the outcome of the project itself. As counterintuitive as it seems, working hard is worse than working smart and that tired sleep-deprived code needs to be redone whereas well-rested code written after a day where I was able to exercise usually works the first time. I learned that if I don't take care of myself the project gets worse, not better, and that no amount of self-sacrifice improves a product’s quality (aside from an inevitable final crunch). Further, I learned to pace myself and plan ahead not only the project, but also the development AND the user experience. I was so focused on the tech that I ignored what it would be like for a user to play the game until my first playtest the day before submitting. This had small effects, such as the counterintuitive need to always have forward pressed when attacking to have the animation work correctly (huge oversight) to the fact that the player would walk right by a necessary upgrade chest because I had introduced to the player earlier that chests contain small items like health potions (and only experienced gamers know that chests contain a variety of objects). The worst part is that I know there is so much more I could have taught the player via gameplay but i nevertheless committed the sin of a controls overlay rather than just-in-time instruction evoked via gameplay like i've learned is the superior method. I learned that bottlenecks are avoidable with planning and that game development NEEDS a community not only for comradery but also because you are above all designing a human experience that needs the input of humans to succeed.


Looking Ahead


Next week I will be continuing work on a mobile platformer game that teaches Algebra through the lens of its Egyptian and Moorish creators as well as a first person shooter game designed to teach WW2 from the perspective of the 204th division Aztec Eagles to highlight Mexico’s role in the world wars. I learned not only the tech to handle these project, but more importantly, I learned (through trial by fire) how to NOT develop a game well. Now that I’ve made these rookie mistakes I know what to watch out for as I jump headfirst into educational game creation. I can’t wait to see where it goes!




If you’d like to see/ play my game you can download my game here (and if you have an itch.io account a vote would mean alot! I didn’t submit my project to win but winning the game jam would be a nice perk!)


Here are some pictures of the final result!








 
 
 

Recent Posts

See All
EMPATHY, NARRATIVES AND GAMES

When watching a series or a movie, hardly ever we keep on watching if we don’t empathize with the main character. Often, we end up...

 
 
 

3 Comments


cdurham1
Oct 11, 2021

What an incredible journey of learning! As a fellow educator, I always tell my students that the process is far more valuable than the outcome. I am excited to read about your next adventure - teaching Algebra via the lens of its creators!

Like

kwalker
Oct 11, 2021

What a great blog! As an educator at a PBL school, I feel like this undertaking was a huge success because of all the things you learned from getting it wrong! This is an example I would share with my students - not only an example of why emphasis on process versus product is incredibly important to learning, but also why reflecting on that process is so valuable. Whoever reads this blog will benefit from your insight and mistakes! Thank you for sharing this journey of learning with us!

Like

AJ Webster
AJ Webster
Oct 11, 2021

This is so interesting! What an ambitious undertaking! I really enjoyed the parts where you reflected on the missteps and how those were learning opportunities.

Like
Post: Blog2_Post
  • Facebook
  • Twitter
  • LinkedIn

©2021 by Games and Assessment. Proudly created with Wix.com

bottom of page