During this game jam, I created a game called Chapter 1. It’s an adventure game you can find here:
- Voice acting by a lot of folks around the world
- 8 3D levels
- Puzzles where you may get lost 😉 I’m not telling you the answer!
- New gameplay toward the end if you can get there
It’s cool, it’s impressive and if you aren’t impressed I challenge you to make this yourself in two weeks 🙂 you can email me your results at firstname.lastname@example.org and I’ll blog about it. Actually, it was mostly made in a week due to other things coming up with great planning on my end *she says sarcastically* ;D Who thinks they should change source control midway through this project?
And yes, yes if you look at the details we do have 2 versions of it. Pick which one you prefer. The less silly version has fewer bugs and is easier to play through.
So sometimes, I’m not sure what sort of role or direction I should go. I have this issue with figuring out where I belong because I like using all of my skills but I don’t have the education or depth (maybe patience is a better term) to handle *really* hard thinking problems yet. But despite that, I had a lot of coworkers who admired my abilities, and I had a lot of friends too. They had an incredible amount of faith in me. I seemed to have created a support group just by trying to be helpful. And I ended up doing a game jam to be helpful. I’ve done plenty before, I just never had been in the position of being a real leader. Literally the only person able to lead. A position I don’t aim for. I was the only one with a lot of experience in Unity. I found it intimidating at points. Was I up to the task? Can I stay positive despite my doubts? Will I be able to actually finish something good in a short turnaround time? Well, I guess I will find out.
Let me talk about my thought process and things I expected and what I didn’t expect.
- I expected to be able to at the very least make something but I know how time-consuming making games is so I thought I might be able to teach my team how to use the game engine in time for the jam…
- I expected I would be able to keep everything in reasonable scope and answer questions down the road. It worked for jams before this one. I just figured this would work for all game jams… But no, I accidentally signed up and committed to a game jam in a different style.
- I expected to focus on animation and use some tools I’ve used before to solve problems I was used to. I did not expect new problems to come up with a larger team.
- I forgot I had some family holidays right before this game jam…
- I thought I could keep the scope in check a lot better.
- I thought this would be much easier and I overestimated my ability to do everything in the timeframe I expected despite that we still had a pretty good project. Just a little crunchy… My fault though. Good project management has no crunch.
- I didn’t expect to delegate the work I ended up delegating to different members, I was surprised by the interest of some folks.
- I expected to use more complicated tools but ended up focusing on the fastest and easiest to use.
With all that said, it was a bit chaotic but I don’t think my team really knew how often I was in a state of panic or frustration or overwhelm. I kept up a very lovely positive front, I tried to check in with my team often though I know I could have done better. I told them what was going on, what to expect next, and where troubles popped up whenever I could. Some members were later surprised I actually had so many doubts and overwhelm because I’m so smiley and cheerful. It’s a front I tell ya, for the inner turmoil lol. Oh and I also started college towards the end of this, should I mention that? Yeah, I figured since I had so much free time it would work out great.
Teaching a Team
So from the very beginning, I expected to do this entire project by myself if I had to. I would make sure no matter what happened we would have something to deliver. But I also hoped… Maybe I could teach my team how to do stuff and they would go out of their way to learn more in their free time and magically get good. Well, … Yeah no that didn’t happen. I spent a lot of time building tutorials and learning about this and that, I spent so much time just working on what I would teach that I didn’t end up teaching very much. I tried to create a short one-hour training every week by streaming on Discord. A short intro to scripting, a little about UI, some general stuff on animation…A variety of tutorials. I thought well, it’s much faster if I just make a video instead right?! Video editing won’t take that long…
Well… After making an hour-long video that took me at least a week to set up, film, edit, cut, and then realize it still needed a lot of work I was disappointed. I realized my goal of teaching my team everything before the jam would not happen. So this idea failed, despite probably having the time I really didn’t have passion. I don’t actually like teaching that much.
Here is the video I ended up spending so much time on :/
Tools to Save Time
Okay so. I knew a lot of this project would fall on me. What do you do if you worry about time? Yeah, use tools, obvious answer. A master is only as good as their tools and I figured it was the perfect time to learn new ones to master! So last year I bought piles of assets, tools, mini engines, and things of that sort. I had something perfect for an adventure game jam though:
Here is a video preview if you want.
A new fancy tool. It’s basically a visual scripting tool with nice built-in adventure features so you can very quickly build out a game. I spent a lot of time reviewing videos and going through the documentation. More than I really planned but it worked out enough in the end. It is set up really well for a game jam! It would have been helpful if I knew this tool better before the game jam but you can learn a lot when forced to lol.
I can talk about the plus and minus of why coding should not be your go-to when designing a product and it even became an issue later when a newbie unity programmer did use some code… To future-proof their work. Well, the code had to be dropped at some point which I expected, but he was able to address the issue and fix the problem later on. One reason straight-up code should not be introduced as an all-in-one solution is you might think you may fix one problem but you may just introduce a new problem by doing so and that was what happened later. So, you might have solved a problem but other users might not use your code how you expect… Also, visual scripting is good for folks just getting started with Unity. While I can script just fine in C# it can be much slower to reinvent the wheel.
I was pretty proud of how I was able to use the design and make work it both animation-wise and script-wise (granted the animations I did were a little hacky)
My favorite scenes in the game because of how complicated they were.
One of the complications was simply handling the lighting, I did a few tricks here to make it appear the lighting was changing and had to make some things time correctly…. There are better ways to handle this but I had to take some shortcuts.
I was scratching my head on how to build out the design on this cutscene for a while. I was able to make it work, but I was unsure of how to make it appear something was coming up from below you. Then I thought about how to make it appear like something is below you.
I used to work on teams that didn’t use version control, and while we could share files and update files and make backups, merging was a huge and scary issue. Google Drive only gets you so far and might be a temp solution for artists (Which I did use to make their lives easier and save money) but if you ever need to merge files of different versions of the project good luck. Version control helps with that.
Originally I was going to use some *free* type of version control. I was going to use GitHub with GitHub Desktop and well it sucked even with LFS (Large File Support) setup. It was painfully slow, I literally spent 3 days just trying to upload some basic files and I got mad and was like this isn’t going to work (stuff kept timing out, breaking, etc, etc). Yes, I did have some help from someone who uses git and he didn’t have any luck either. I need something that lets me batch upload hundreds of large files at a time. So I really compared my options and decided to try Plastic SCM and man. This was smooth as butter. In past experience I knew a lot of places where projects fail, get corrupted, and lose data, I’m used to using frustrating tools! Unity collab was awful, it was so slow in the past that I shutter to consider all its limitations. I have used Sourcetree, TortoiseSVN, personal servers, and more. I know the pain of merging, uploading, and everything else that comes up. I guess when working I take extra care to avoid merging whenever possible. First mainly because I have more experience failing than succeeding with version control and second because it feels like better work quality in a way. But I ended up merging things well, and fixing merge issues that came up 😀 It got kinda silly at one point.
XD Merging and zigzagging everywhere when learning to use the tool, it got smoother later. But you see my teammate sure tried hard to learn to use the tool.
I just smile looking at this goofy mistake one of my teammates made and you know what. It didn’t matter. PlasicSCM was so easy to use, everything was so super fixable (Uh, not really but oh well XD ). Don’t worry about mistakes! 🙂 I actually, even liked merging and working with different branches, it made me a lot more fearless and more confident working with this tool and it says a lot about the tool. I actually started to feel like more of a leader sorta being in control of this section XD
Also wanted to mention it was cheaper than Github with LFS pricing. I ended up paying $5 for my whole 30GB project and used the free plan that includes 3 team members. PlasicSCM compressed it to 14GB which is awesome 😀 I was willing to pay $10 though if I had to. GitHub cloud storage charges by the download (and a few other things) and I had… quite a lot of team members redownloading the project so I’m glad I didn’t go with that. Not everyone really understood how to use the tool leading to a lot of downloading…
Tools I Ended Up Not Using
Well… I had a nice animation tool I found for free and I recommend it… But due to time I just manually handled adding talking animations to some characters takes about 5-10 mins easy peasy and I didn’t want to download another tool…Though I spent time learning it before the jam just in case.
Don’t overthink animation when you are on a deadline, almost all decent animation is just a few keyframes anyway. Now if I needed to move a lot of his body and add in the more subtle gestures I would highly recommend UMotion Community since it’s free and gives you bones to animate with. The paid version includes IK which is really nice for advanced animation controls.
Besides that, I had a ton of asset packs. So I guess in the end I used 2 tools but you don’t need much to make something cool.
So this was interesting and all over the place. I spent a little time helping to coach some members on voice acting and I recorded a few lines myself. I don’t think I’m the best voice actor but I can put some stuff together. I tried to sorta go for Zelda’s voice from Botw for the princess. It was good enough. I originally was going to play other characters but like 2 days before it ended I met a kid who wanted to do voice acting and he did an amazing job.
Now you might ask about music and sound effects. Did I prepare for that? Yep. Did I forget all about that yep… 😅 I’m only one person, but if I planned better I would have been able to get that in.
Design & Scope
Everyone knows design determines the scope, so keep your design small. Anticipate for expansion sure, but keep your design small to reduce scope. You can always add more or work on polish when you finish your original scope. But it’s always sad to cut projects that get too big. Less scope is better time management etc… And well. The project started off that way… But I made a lot of very very bad assumptions.
Yeah, I just was dumb and assumed this would be like all other game jams, that a theme would be announced and we would work out some design after the theme. Boy was I wrong and that set off the whole project on the wrong foot. Great leader there not reading the directions. For this game jam, they wanted you to plan in advance and work out your design BEFORE the jam. So yes, despite a teammate asking me what my plans were and assuming they just misread I was completely wrong in this regard.
So I scrambled to ask some folks about some design ideas and we wrote up a short idea, I expanded it slightly. It didn’t make much sense but was sort of funny. I was trying very hard to include a lot of people in this game jam, for better or worse. It would made it a little harder on me adding so many random folks without much game dev experience. But I always want to give people the opportunity to prove themselves and help them build confidence in themselves even if it may cause me some headaches. So there was this silly design, not well fleshed out.
Learning Tools & Scope
I was also trying to learn Adventure Creator during this time too. And then a family holiday came up and I ended up losing like 3 days of work. I let someone work out the design of the script and flesh out the gameplay further and would review some of it now and then. Like a pathetic producer, I looked it over and gave it the green light despite not reviewing it carefully. I figured, like everything else we can always cut. I figured we would likely not get halfway through this new design. It was a huge and ambitious 10 levels with a variety of gameplay, cutscenes, and animation. I knew it was far more than we could achieve but for some reason, I was like A-okay we will do as much as we can. I wanted to see how far we would get.
And yes. I ended up cutting. The last two levels not only had me do a lot of voice acting which I was running out of time for but it required new gameplay elements and I hadn’t finished the new QTE (QuickTime events) and more left to do in another level. So I cut them. I just didn’t have time to do every role. (I did finish those QTE BTW.)
Also, that code bug did cause a last-minute headache and we were scrambling to work around it and I lost time from that as I quickly taught my teammate how to visually script that section instead. So I’m glad I cut early because I needed that buffer to address unexpected issues.
Now lucky for me I also set up the website page earlier because I had no time towards the end. I was biting my nails metaphorically because it took like 15 mins to upload the thing and then I realized there was a bug and it was very much down to the line. I literally got everything set up 2 mins before submission time was over!
So what would I do differently? Well like almost everything XD I will be careful to read over the game jam directions more in the future, then if we do have a planning session for a game jam then I would go through a regular design session where we vote for our design and roles, etc. I have good tools for next time too so we can make a much better project. It’s also much less stressful working with more people who know the tools a little more. Maybe I can attempt more training later….