-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjuicn.html
106 lines (94 loc) · 11.4 KB
/
juicn.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/look.css">
<title>JUIC'N 64</title>
</head>
<body>
<h1>JUIC'N 64</h1>
<h2>About the developer and the game</h2>
<div>
<p>
JUIC'N 64 is kivan117's submission and clever take on the jam's theme. The game takes elements from top-down, arcade-style, games (eg: Robotron: 2084, Smash TV, and Disc Room) but infuses them with the idea of a worout regimen. JUIC'N 64 is an interesting submission in that it isn't a game with attitude from the 90s, but reflects on 90s attitude.
</p>
</div>
<h2>Chatting with kivan117</h2>
<p class="interview-question">What got you into Nintendo 64 homebrew?</p>
<blockquote>
<p>
I'm definitely not a professional programmer by trade, but making little video games in my free time has been a hobby of mine for a long time. I seem to return to it every few years. I had a phase where I got really into the early pseudo-3D games, the Doom and Build engine ones, and after I finished making my first raycaster I wanted to try making an actual 3D game. The simplicity of the raycast engine was really fun and felt a bit like transporting myself back in time to the PCs of a bygone era. Based on that experience I decided the best way to learn real 3D would be to focus on the first wave of 3D game consoles. I had some great memories of playing the Nintendo 64 back when it was new, so that was the one I picked.
</p>
</blockquote>
<p class="interview-question">How did you come up with the concept for your game? Was there anything about the jam's theme that stood out to you?</p>
<blockquote>
<p>
I've done a few jams in the past, and one of the things I'd taken from past experiences was don't get too hung up on the theme. I like the open ended themes like "Size" in the N64 jam, because they leave a lot of room for good designers to really play with the idea. Unfortunately, they also make it kind of tough sometimes to find that spark of inspiration. If you just puzzle over that nonstop, you lose valuable time. So before the theme was even announced I tried to decide on some basics. I didn't have enough experience with 3D yet for it to be a viable option, so I knew I'd be sticking with 2D. I also knew that no matter how long a jam is officially, they have this almost magical property that causes most of that time to vanish with surprisingly little progress. So in the interest of completing something and turning it in, I decided to do a single screen arcade game.
</p>
<p>
Once the theme was announced I only gave myself a couple days to mull it over and come up with a concept. I wanted to do something that wasn't as direct as "big and little" but that's pretty tough. The question I literally asked myself out loud was "who cares about size" and that was probably the big "aha!" moment. The picture of some insecure beefy macho man was too good to not go with it. I went through a few iterations of exactly how to make it work. Originally the juice mechanic was more directly tied to the size theme. "Juic'n" is a pretty obvious slang reference to performance enhancers and those are known to make you both bigger and... littler. In the end I decided not to go that route. I wanted the game to be appropriate for all ages, not some kind of "Conker's Bad Leg Day" and decided to focus just on the "always get bigger" element. This was a pretty late pivot though and I didn't have time to redo all of my assets for a whole new take on the theme.
</p>
<p>
So iteration 2 of the idea was supposed to be all about body positivity and just striving to get bigger as a personal goal. The real world had really become pretty chaotic and I thought the positive messaging was important. I briefly played with the idea of an encouraging message at the end of every run but didn't want it to get too repetitive or annoying. The concept of actively avoiding a fight came into play around this time. I wanted it to keep that arcade game vibe and draw some parallels between arcade game top scores and the gym rats with their new personal bests. I wanted to include a sort of tracker and chart your scores from run to run, but always building on the last one. Emphasize that it's about the commitment. Maybe you have a bad day but you keep at it and that's what counts. None of that meta commentary really made the final cut, which is a shame.
</p>
</blockquote>
<p class="interview-question">What tools did you end up using to create your game?</p>
<blockquote>
<p>
On the programming side of things, I used Visual Studio Code in a CMake based setup on Windows 10. One of the community members had made a pretty easy to use CMake gcc cross compiler that you could use on Windows, so I thought I'd try that route out. The game uses the libdragon library which was all new to me but pretty simple compared to libultra. I think if I was doing it over again I'd go with a dockerized libdragon setup though. It's just a little easier to get going.
</p>
<p>
The music consists of tracker files played using the N64 port of libmikmod. Thankfully others had already made those tracker files, so I just needed OpenMPT to clean up any weird parts, cut them down for size and time, and then export them in a format that was easier for mikmod to play on console. The sound effects were simple wav files made with rFXGen, an sfxr derivative. Sound effects are also played with mikmod.
</p>
<p>
For art I just used MS paint and a lot of squinting mostly. I did use Gimp any time I needed something fancy, like the start menu logo or the game over text.
</p>
<p>
Testing a libdragon game is kind of a pain compared to libultra since most emulators don't support it. I primarily tested on an NTSC console with an EverDrive X7. I used UNFLoader, a tool made by another community member (and one of the jam judges in fact), to push each new iteration of the rom to the flash cartridge over USB. I have a little USB capture card hooked up to the N64 console so I can view the output on the same PC I'm using to build the rom. I tend to recompile and test almost obsessively with each new change so that quick turn around time really helped. I know some people simply don't have a console, so I also tested with the MAME and CEN64 emulators to verify it ran there was well. I even bought a PAL console to make sure it worked on those, but of course it arrived like 2 days after the jam ended.
</p>
</blockquote>
<p class="interview-question">Is there anything you particularily enjoy about your game, or is there something you worked on that you're particularily proud of?</p>
<blockquote>
<p>
Right before the jam started, I'd recently talked to a friend of mine about dynamic difficulty in games. It's really tough to scale difficulty without feeling like you're focusing too much on a specific audience, casual or pro or whatever. So I wanted to incorporate some type of risk/reward mechanic that allowed a player to make the game tougher if they wanted and feel rewarded for doing so. In Juic'n 64, the more juice you have in your system, the higher your score per weight lifted, but equally the "angrier" you become if you get bumped. More skilled players can juice up and go for broke, riding the line just one hit away from a game over. Cautious players can opt not to, and that gives you a lot more leniency if you bump into fellow gym goers. Like any jam game there was a lot left on the cutting room floor, but the core juice mechanic is something I'm really happy with.
</p>
</blockquote>
<p class="interview-question">Aesthetically, JUIC'N 64 has some really playful nods to the early 90s. The hard rock tracker music and the D.A.R.E. poster in the corner of the screen are nice touches. You mentioned in your interview with the judges how you went for vibrant colours akin to the Sega Genesis pallette. How did you end up with these elements? They're incredibly charming!</p>
<blockquote>
<p>
Thanks. Since I was abandoning 3D altogether, I knew right away that my jam game wouldn't have the aesthetic of the iconic Nintendo 64 titles. So rather than play up the late 90's Nintendo 64 nostalgia I went for something a hair older. The NES and Genesis were huge for me in the early 90's. They were definitely my biggest influences on this project. I also wanted it to feel very much like a grungey high school gym from that timeframe. Hopefully the soundtrack and the gym poster helps bring that out for others like it did for me.
</p>
</blockquote>
<p class="interview-question">If you had to only listen to either "Enter Sandman", "Basket Case", or "Smells Like Teen Spirit", ad nauseam for the rest of your life, which would you pick?</p>
<blockquote>
<p>
Oh goodness... Enter Sandman was the first song I knew just HAD to be in the game. It was also the only one for most of the development. I've listened to it enough for this decade I think, haha. It's tough, but I'd have to say Basket Case... well... yeah, Basket Case. Tough call.
</p>
</blockquote>
<p class="interview-question">If someone wanted to get into homebrew today, would you have any advice or suggestions for them?</p>
<blockquote>
<p>
I'd just say go for it! I started just because I had some free time and a wild idea one day, and I think that's pretty common. It can be difficult and it can be discouraging, but don't let that stop you. There's definitely a lot of very different talents that all need to come together to make a game. Very few people are amazing at them all. You can be bad at all of them. I am. Who cares? It's a hobby. Just do what you can and have fun.
</p>
<p>
Joining a community like the N64Brew Discord server helps in more ways than one. Homebrew is often a solo endeavor and having that community will help you to stay motivated and assist with many of the challenges you'll face along the way. Join a homebrew community, ask whatever questions you have even if it feels silly, and see where the journey takes you. Just keep at it and one day you'll have a game you made on a console that means a lot to you, and no one can take that joy away. Trust me, it'll all be worth it.
</p>
</blockquote>
<h2>Screenshots</h2>
<img width="320px" src="media/juicn/my_photo-12.jpg">
<img width="320px" src="media/juicn/my_photo-14.jpg">
<img width="320px" src="media/juicn/my_photo-15.jpg">
<img width="320px" src="media/juicn/my_photo-17.jpg">
<h2>Some Nice Links</h2>
<ul>
<li><a href="https://github.com/kivan117/juicin64">The source code for JUIC'N 64</a></li>
<li><a href="https://www.youtube.com/watch?v=26CVs6R-WFY">Gameplay recording on YouTube</a></li>
</ul>
<a href="index.html">Back to the main page</a>
<hr>
<p>Website by Daniel Savage<br />
Interviews are CC BY-SA 4.0; Screenshots are likely fair use.<br />
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="licensed under reative Commons Attribution-ShareAlike 4.0 International" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a></p>
</body>
</html>