Wake up, quick breakfast, unlucky bird flight patterns, and
I’m back in the lab. We started to lock down an idea for the boss and its attack
patterns, but I had a lot to do. 3 days to model, rig, texture, and animate 2
characters felt pretty daunting but I was really excited and determined to
finish. But first I needed to learn Advanced Skeleton and try to figure out hoe
to rig a tentacle (the boss had 6) This task took me most of the day and ended
with a modelled 6-armed armadillo ball that was going to face plant his enemies.
His rig I could only describe as a functioning car that was on fire. It worked,
and it animated, and nothing was that broken but it was most certainly on fire.
Unfortunately, I think my lack of rigging skills was starting to bottle neck production,
so I needed to finish the boss by tomorrow morning.
I also got to bond more with my teammates, play some melee
with passersby’s, got some german Burger King and just generally enjoy the work
environment of the games lab. Its super constructive and a truly great learning
and working environment.
Today was the start of the game jam! It was also a national
holiday so every business, food store, and campus door was locked. We only
realized this after somehow being let into the campus because ewe ended up
spending 25 minutes being locked inside the school. There were literally no
open doors. No exits. Talk about a fire hazard.
After arriving tactically late we split up into teams to
start plotting ideas. I have never participated in a game jam or even had a
game design class but with my experience in just playing games I felt somewhat
prepared. The magi theme in question was Better Together which implied either
multiplayer or a really cool Last of Us type game play but with only 3 days
available I jumped on the former. My first idea was about a Ninja that was
controlled by two people and could platform through levels. I drew a quick
doodle of a ninja and it took off. By the third round of siphoning ideas my
ninja idea was in the top 10 out of 25 potential ideas. They were all written
on the board when I realized 2 very important things for this game jam. 1.
There were very few artists in this room and 2. I just made a game that
wouldn’t use 3D. I quickly started talking to Germans to see if any of them
needed a 3D artist and luckily Bernie, one of the Germans who we first met, was
making a 3D arena game called Beat the Boss. I quickly abandoned my ninja game
and joined his team.
By then end of the voting process 6 games remained. Counter
strike wannabe, Bloob-game, Point and click adventure, Amanda’s cute otter
game, Beat the Boss, and surprisingly my ninja idea. So I got to work on a cool
game while the game product of my mind also got to be made. I really liked my
team. It was full of talented designers and coders and although I was the only
3D artist, I lucked out in finding a texture artist in the group so I wouldn’t
have to do everything. We started mapping out the idea for the boss and how it
would work to fight him. I was super excited to be working in my field on my
first game.
This was the second day that we worked on the game jam. My group decided upon Soshi Shinobi, and started development on it. It was originally Alex Wisdom’s pitch. It is a two-player game where each person controls one half of the player. The premise behind the game: “Soshi Shinobi” is that the ninja possesses fire and water elemental powers, that they would assign to either their legs or arms. “Soshi” means “element” in Japanese. One player would pick water, the other would pick fire, and one player would pick control of the arms, or the legs, and the two would work together to control the single ninja; moving them to avoid hazards with the lower body, and using the upper body to shoot fire or water waves to damage enemies. The elemental ability of each player is pre-set at the beginning of the game and cannot be changed afterward, but the players can switch between controls of the legs or the arms, keeping their abilities with them. The player will behave differently and be vulnerable to different obstacles throughout the game. For example, the player can only walk over fire or water floors if their legs have the correct corresponding element, or they will take damage. The same goes with shooting elemental enemies with fire or water waves. The players must cooperate and decide when to switch body parts and use the correct abilities on body parts at the correct times.
Today was the third day of our game jam with German students. We made a good amount of progress on Soshi Shinobi, though Xbox controls with 2 controllers continues to be a pain to program. Though at this point keyboard controls work with Player 1 on WASD and Player 2 on keyboard keys. Switching works properly, too. At about 5:00, we took a break from the game jam to go have dinner at a barbecue.
The German students prepared a variety of food for all of us, including hamburgers, sausages, hot dogs, grilled cheese (literally), and steak. Some of us sat on blankets, others at tables, while Alex put his Minecraft wisdom to use to create his own throwing axe.
Before and after dinner, we played a fun little drinking game called Flunkyball. Two even teams of people line up with an alcoholic beverage in front of them on the ground. Between both teams is a half-full 2-liter bottle of soda (courtesy of me…), and each person on each team throws a ball at it to try and knock it over. If they’re successful in knocking it over, everyone on the team picks up their beverage and drinks as quickly as they can. Two people designated on the opposite team must run over and stand the soda bottle back up, and pick up the ball and bring it behind their own line of beverages, then shout “stop!” Then the scoring team stops drinking, and a player on the opposite team tries next. If a player misses, nobody drinks, and the next player on the opposite team tries next. The game ends when everybody on one team finishes, and that team wins.
Today was our last day in Paderborn at the In Via Hotel. It was a pretty uneventful day, except for taking 3 hours worth of train rides to Frankfurt. I discovered in some places you have to pay one euro to use the restroom (What?) Despite 90-degree weather continuing to plague us, some of us were fortunate enough to have fans and windows to open up in our rooms.
After getting settled into the hotel, we had some dinner. I had schnitzel for the first time, which is veal pounded flat as a pancake, then fried.
Saturday night at 5 we arose from our jamming and took a brief walk in the now very summery weather. Our destination: barbecue! We found a nice big park and set up shop with burgers and bratwurst. We spend a good few hours enjoying the sunny afternoon before some people started heading back to work in the labs.
Sunday was the last day of the jam, with work officially to cease at 3pm. My task at the moment was to integrate the UI for the game end screen, showing the scores and player names. The coders meanwhile were scrambling to clean up bugs. By the time of the presentation, our game unfortunately did not have it’s core mechanic implemented. It did, however, feature working networked multiplayer between 4 computers.
Post Mortem: Strike Counter was kinda doomed from the start. Not to fail, but to not get very far. I was impressed by how my team was able to get networking up, but the time and energy spent on this one feature left little room to integrate any of the interesting design ideas that inspired the game.
After every team’s presentation and respective critiques, we posed for a big group photo. We were told this photo would go on the fill the last empty spot in the university’s hall of fame, so I guess I’m a little honored. The rest of the day was left to us, and I had one last castle to get to.
Schloß Neuhaus is a really pretty castle surrounded by the same peaceful river that flows through Paderborn. It apparently functions today as a high school. Sunday, however, was right in the midst of Schützenfest, a lively holiday in which certain townspeople are crowned royalty for a year. That night, the kings and queens of the last year had their final celebration in their finest clothing as the whole town gathered for festivities. I helped myself to some ice cream and finally tried out currywurst before heading back through a scenic wooded area right on the water.
We also had one last dinner with some of our good friends who wouldn’t be joining us in Frankfurt. The place we chose sold a 40 euro burger that can apparently get you in another hall of fame, but we decided to save it for next time.
There’s a reason I wanted to work on Beat the Boss as opposed to all the other games that weren’t left on the cutting room floor (rest in peace, DDWD, gone too soon). Not only did it seem in scope, it seemed genuinely fun just from concept alone. I didn’t, however, account for the infallible mantra every game developer should be following whenever they make a new game: “My game is out of scope.”
The rest of my team didn’t recognize that either until they got their hands on their keyboards, and removed the whole “elemental synergy” thing as soon as they did. It’s from that point that the game design turned into an indecisive whirlwind of disjointed ideas; we only really discussed the design in the beginning, before we’d removed the elemental abilities. This led to another all too common issue; a communication deficiency.
I’ve mentioned that I felt like an intern already, but I also felt like an ambassador; a coder and secondary game-designer that bridged the gap between one side of the room and the other, literally.
Now that I think about it, the only thing I worked on for the entire jam that actually got implemented properly was the text inside of the boss’s health bar. None of the abilities got put in despite them all being 97% done (all they needed was some damage inflicting code), and my fully functioning cooldown icons were dropped as well due to bugs in experimental lighting and whatnot taking priority. We had models for breakable pots in the background and pretty destructible pillars, but no final character model, fireball model (even though fireballs for the boss were made), or crossbow bolt model. We didn’t even implement the shield model that was displayed front and center on one of the statues. The focus seemed to be on graphics, and yet, half of the game straight up didn’t have graphics to begin with. Our game was a jack of all trades, master of none, and that could have been changed with some more communication, and maybe a reevaluation of priorities.
Despite all that griping and despite my dissatisfaction with how little I got to actually do for the game, we managed to make something very nice for a handful of days. A jack of all trades, master of none is nothing to sneeze at for a game jam game; it’s leagues better than a broken mess that barely works. Even despite all the issues I think we had, all we really needed to iron them out was time.
After the game jam presentations, however, we had some time to relax, and after that, dinner, at a burger place I can’t remember the name of at the moment.
I decided on getting a “DT Bacon Dog,” some ginger ale, and some Calamari, deciding that, worst case scenario, I’d feet it to my associates should I not have room / not like them very much. Meanwhile, Mike was debating whether he should get a triple patty burger or a five patty burger. It’s worth noting finishing the five patty burger, entitled something along the lines of “THE BURGINATOR,” would get you a spot on a hall of fame, a hoodie, and a few other goodies, so he didn’t just have a death wish.
The Bacon Dog wasn’t quite up to my very American savory standards, but it was still very good. Unlike what I’m used to in America, the bacon was seriously good. Had you taken out the hot dogs and replaced them with fresh grilled American ones, you’d have a really dangerously good combo going.
The calamari was just as good as I expected; not very. It was still decent, but not worth eating after filling myself up on the Bacon Dog. The batter to calamari ratio was a little too high, and it wasn’t quite salty enough anyway. Better not salty enough than too salty, though.
Meanwhile, Mike was eating his triple patty burger and suffering greatly. It was mostly due, however, to covering an entire french fry in hot sauce entitled “PAIN 100%” and eating it.
Because I’m well known as a bold risk-taker, I decided to try it, by taking about a pinkie-tip’s worth of it, gently dipping the tip of a french fry into that, and briefly touching the sauce with the tip of my tongue.
I swear that the tip of my tongue came close to going numb; the heat wasn’t painful, because I only just barely touched the sauce, but it was some INTENSE heat. I honestly, truly believe that if I’d eaten a “proper” serving of it, I would have literally passed out. The moment I felt the heat, I realized Mike’s predicament. He was handling it like a champ, though, considering everything. The big glass of milk he emptied not long after probably helped.
Tobi, on the other hand, had eaten an entire triple patty burger and was now finishing Alex’s, and offering to finish Mike’s as well, should he need to. I simply sat there drinking my second glass of ginger ale, completely full. I don’t know if it was just because I was abnormally thirsty, the ginger ale is better in Germany, or I just haven’t realized it, but the ginger ale was very good. Maybe I ought to drink it more often.
Today we finished and presented our games for the game jam. In my group’s game, Soshi Shinobi, I worked mainly on the user interface, including the pause menu, title screen, and player’s HUD, as well as the player’s controls.
I created virtual keys for keyboard and Xbox controls, in which a single function that can be executed by multiple buttons would only need to be checked with one condition. (For example, I can check if a “down” button is pressed with a single statement, instead of needing if P1 Joystick is held down, or if P2 Joystick is held down, or if Down on P1’s D-pad is held, or if the actual down arrow key is held, or if the S key is held (down for WASD controls)). I also fixed a small bug with the timer, which the fellow programmer on the team designed. The timer is perfectly functional, except it displays certain numbers in a way that’s not consistent with an “alarm clock” fashion, where 4 numbers are always displayed. For example, before 1 and 1/10 of a second would be displayed as 1:1, instead of 01:10.
Here are some of the other teams that presented:
The team that presented this game didn’t expect the credits to shrink so much. I explained to them why that was happening. By default, Unity canvases have their scaling setting set to “Constant Pixel Size”, which means if you start developing the game in a resolution like 720p, then build the game and run it at 4K resolution, the canvas will appear much smaller. This can be fixed by setting it to “Scale with Screen Size”, so the canvas will stretch accordingly. This is what I had to do with the UI for Soshi Shinobi.
The last game, a blob-based game with custom Unity shaders, I forgot to take photos of.
Of all the teams that presented, Professor Jörg commented that our game, along with two other games that the teams developed, with a little more work would be ready to be launched on platforms such as the Switch, Nintendo 3DS, or Steam.
It was a very emotional day for me because I had to say goodbye to MY best friends Christina and Tobi.
I forgot that Sunday had a different bus schedule so I missed my stop and had to walk back to campus. It was HOT. My team completed the game a day before so we were just fixing some minor bugs and waiting for the presentation. In my last blog, I briefly talked about what I worked on the project and I will discuss the details below.
First of all, I created a method for the protagonist’s movement which the protagonist walks to wherever my cursor clicks. Secondly, I wrote a script for the camera to follow the player. Initially, I had the camera as a child of the Game Object Player, however, I changed it later so that the camera could stay inside the scope. During the second GameJam day, I encountered the problem that my player could walk out of the background, yet the camera follows it. It should not be difficult to fix it but I didn’t know how to scale an orthographic camera nicely. It either stayed stationary or cut off some of the backgrounds, like I couldn’t freely resize the camera. The problem got solved in the end tho!!! Afterward, I worked on some animations when events were tricked. For example, after the protagonist completes a dialog with the hover dog in the game, the hover dog takes our player outside and moves out of the screen. In the end, when I had some extra time, I developed a menu screen and an options screen for the game. In the options screen, the volume gets adjusted by using an audio mixer which was my first time using it. I was confused for a while about how to hook up the sound with my audio mixer until Phil showed me the way.
We received some feedback at presentation; some people appreciated the humor in the game, yet some think we could develop more to the story and the idea of timeline. The most impressive game from this GameJam was beat the boss due to completion. It’s a game where four players with different skills team up to fight a super difficult boss in an area. I was amazed by how much they completed in 3 days due to art, coding, game play and so on. In my opinion, muti-player 2D platform game Soshi Shinobi has the most potential for publishing.
At the end of gamejam, we took a group picture together to fill the last spot on Wall of Fame. Second part of the day was free time, and I decided to hang out with my buddies one last time.
Tobi drove us to his house in a sexy convertible. Since German highway doesn’t have speed limit, I kindly asked him to speed up a little bit while Sam made him race (ik he’s bad). Schloß Neuhaus is a castle that’s surrounded by a beautiful garden and a river that goes through the town. Nowadays, Schloß Neuhaus is no longer a castle, in fact, Christina and Tobi went to high school there. We were lucky enough to witness Schützenfest where townspeople gather around to celebrate the new royalty for the upcoming year. As Christina told me, it’s usually the rich people who get selected for crowns. The four of us shared a currywurst together, add on to my German food experience.
Funny part of the story was that I thought Christina could not join us for dinner so I had a really emotional goodbye with her, while they were invited to dinner. So I had burger with her 20 min later. The place had a 40 euro, 5 patties burger that can get you into wall of fame in the restaurant, which I decided to stay as far away as possible. After dinner, we tried to get ice cream but nothing was open since it was Sunday. Instead, we just walked around the town for the last time and chilled in the park.
Another day of the game jam, another round of stubbing out code and making small changes. This time, I made the fireball and crossbow essentially work as intended, and left the grappling hook ability to another coder.
The crossbow fires a single bolt normally, three bolts when charged once, and five bolts when charged twice. The fireball is very similar, but it fires a pathetically small fireball with no charge, a bigger one with one charge, and a very large one with two charges. The cooldowns, speeds, and a bunch of other things were yet to be implemented / balanced. That was the game design team’s job, or at least, that was my impression. Referring to myself as an “Intern” in the first game jam blog post really couldn’t describe my situation better. I do things, but do those things get implemented / matter? Maybe.
Today, however, there was an event, so I actually have more things to talk about! We held a barbecue out in a glade somewhere I can’t exactly name, since I was graciously driven there and back by my German peers.
I had a hamburger of sorts, with a steak (I think?) as the “burger,” a piece of bread I had to cut myself, and some special burger sauce. It was surprisingly good. Steak being my favorite food probably helped. I didn’t take a picture of it, because I didn’t think to, but I did take a picture of the strawberries.
Besides eating, all I really did was wander around aimlessly and talk to some people. Alex went full Minecraft, made himself a small stone axe and defiled mother nature with his creation, so there’s that.
Though I intended to work some more upon getting back, it being 8:30PM already—compounded the thoroughly uncomfortable heat of the game lab—convinced me to head back “early.”