Band of One Game Development Blog
- scottgray500
- Oct 21, 2024
- 15 min read
Updated: Apr 1
23/10/24
I'll admit, I should've started this dev blog a lot sooner, but I figured I may as well start it later rather than never. The prototype is still quite unfinished-looking with all its placeholder UI assets and lack of proper background, and I've yet to figure out how to properly get the game to register hitting the notes and making them disappear, but in terms of what the game should look like at its very core, it does the job.
As you can see, the notes are scrolling together at a reasonable pace, the backing track is more or less in sync with the keysounds, and the keysound patterns actually resemble the original MIDI file I made for the melody in Ultrabox. Still, I'll need to work on having the notes scroll more smoothly, add timing judgements ("Good", "Great", "Perfect", etc.) for when I can actually get the notes to disappear AND play their sounds at once, and maybe even spend some time to add some wallpaper to really spruce up the place.
Anyway, that's all from me. I'm off to play Sonic X Shadow Generations.
(Edit: 24/10/24) Also, here's a zip file that includes the soundtrack version of my song, in case you want to hear it not be played by a toddler. Enjoy? Yeah, enjoy.
24/10/24
Big news! My demonstration today went pretty well with Jarek and the others, but the best part today was that I finally figured out how to get the notes to be hit!
Apparently, having the game check for input, every single frame, multiplied across several hundred note objects, was quite intensive for the engine, which was most likely why the notes were scrolling all jitterily in the last version. Also, I somehow managed to forget to enable the piece of code that lets the game disable Game Objects on button press, but Vlad (from Project Multi-ball) helped me fix that, and also helped me implement a new script for a gameObject that lets the game play each keysound from a static Game Object, rather than having an Audio Player attached to each note object, which means that the sound won't cut off early when the note object is deleted!
In addition, I managed to fix the pressedImage for the note lanes showing up before no keys have been hit, adjust the notechart by moving it all backwards and moving the first note downwards slightly so that the first two keysounds are in time with each other and don't overlap, and so that the game gives the player enough time to react to the first note.
All in all, I feel a lot more positive towards BoO, now that it's actually playable! Other things that I'm planning on adding in the future are scroll speed modifiers (TBF the song does run at 104 BPM...), timing judgements, a health bar, and the ability for the game to only hit one note at a time per lane, the first two being due to feedback.
I also got requests to add the ability to add your own music and play along to it, but IMO that's pretty out-of-scope for my project, and would probably require some AI magic to implement keysounds for ANY song, but I digress.
I'm still planning on having only three songs in my game, including the current Hip-Hop song, as well as a more complex House song and an even trickier Drum'n'Bass song, just for the record, but if I have the time, I may add a secret song you unlock by beating all the songs or getting a great score in the Drum'n'Bass song, maybe a Big Beat or Gabber song.
Anywayzers, here's a video of the latest version of the game!
03-04/11/24
Today (technically two days since I'm currently typing this past midnight, but regardless!) was a pretty productive day, after making a start on adding basic UI elements (which didn't entirely work) like health, score and Hit/Miss "judgement" messages the evening before, I managed to properly implement them and added a combo counter to the judgement messages (i.e. "HIT! 92", after hitting 92 notes in a row without missing one), as well as a similar scoring algorithm to beatmania IIDX for the scoring mechanics.

The judgement text also flickers on-screen whenever the player hits or misses a note, but it seems to display one or more copies of the message after the player hits a chord of two or more notes, which is not a big issue, but bugs me and is something I should probably address at some point!
But for now, I'll shift over to finishing my pitch presentation, and after that, depending on the state of my other modules, I'll look into making my House song for Stage 2 of BoO! But until then, here's a vid of the latest build of the game, now with a new background taken from here (https://www.istockphoto.com/photos/graffiti-brick-wall) to fit the Hip-Hop track! I'll definitely have to update the placeholder HUD as well, and maybe look into getting different fonts for each stage, AND also add little seperators and darkened background bits between each note lane similar to beatmania IIDX to make judging which note is which more easy, but that's a chore for Future Scott to be concerned with!
28/11/24
Been a while, huh? After looking at how basic the main HUD was compared to the background image I used, I figured it was about time I gave it a bit of a face lift.

Seeing as I'm basing Band of One directly off of Konami's beatmania IIDX rhythm game series, I suppose it's only natural I borrow some of its aesthetic. I based the colour of the rectangle "base" that the keys and turntable graphics lay on off of the brushed metal look used for it in early beatmania games, and managed to give it an actual metal textured look in the latest version, thanks to this link!

In addition, I thought I'd also take inspiration from regular beatmania's Center Play modifier by placing the main HUD in the centre of the screen and sticking other HUD elements (health, score, song tempo, etc.) to the left and right, rather than cramming it all onto one side and leaving the other side all empty. Also, since the size of the game HUD and notes took up so much screen space in previous versions, I decided to shrink it down so that the player would be able to see further ahead in the song. Since I reduced the size of the notes without also altering their movement code to fit, they all now move faster than before, which actually helps reduce the chance of multiple closely-placed notes being hit at once, and also makes it easier to comprehend the spacing between them, which was part of the reason why I also edited the notechart to remove quick, repeated notes, or “jacks”, to make the first song more easy for newcomers.
Still, I'd like to be able to increase the default speed of the note scrolling, similar to how Friday Night Funkin' currently has no scroll speed modifiers (to my knowledge), but has its default scroll speed be faster than its inspiration's, Dance Dance Revolution.

Also, I managed to make an early main menu, featuring buttons for each song in the game! However, since I have yet to make the latter two songs, I've just put in placeholder nonsense in their scenes, though the Hip-Hop button does work as you may expect. You can see all this with the video below, enjoy!
03/02/25
Man, I'm getting pretty bad at consistently putting these out. That aside, I've added quite a few things since last time.
Most notably, timing judgements! There's now three different judgements you can get after successfully hitting a note rather than just "HIT!": "FINE!", "GREAT!", and "ACE!!", with Ace being the most accurate judgement.

Each judgement gives different amounts of Grade Points, a new hidden type of score that, along with a new GameData script to keep track of your score and retain that info between scenes, is used to grade your play after finishing a song within the new results screen!

That's right, a results screen, at long last! The GameData script also keeps track of every judgement (misses included) you get in a song, which gets displayed on the results screen in addition to your grade for the song you just played. The algorithm used to calculate the grade for a song was also inspired by that which is used in the beatmania IIDX games, although modified slightly to make the grade thresholds a little more generous.

Another thing I'm quite proud of adding is fade-to-black and fade-out-of-black screen transitions, so that each scene transitions to each other seamlessly, rather than abruptly cutting like before. It's not much of a major addition in terms of gameplay, but I feel it definitely makes the whole package feel more polished.
Regarding future additions, I'm still working on the House song for the second stage, though quite recently, I was lucky enough to demo BoO to my project supervisor, who helped give me some useful advice and feedback, including requests to implement the ability to play your own songs (pretty sure I went over this before, nigh impossible regarding my scope...), to add a tutorial stage, to reduce the difficulty of the first stage's notechart, and to remove the track switching mechanic in order to reduce complexity.
Regarding this feedback, I feel that making the first song easier is a pretty reasonable request, seeing as I'm very much used to playing rhythm games and (perhaps unconsciously) designing the notecharts to MY tastes, as well as getting rid of the track switching mechanic for newcomers (which I've already implemented), though if I have the time to implement multiple difficulty levels for each song, I miiiiiight just bring it back for the higher difficulty charts.
Another thing that my supervisor mentioned during my demo was that my uni was planning on hosting an expo that invites game companies from across the UK and features games made by us students, and that I might just be worthy enough to apply for a spot! Now, I haven't checked back with them regarding the expo since the demo and I'm writing this quite late at night so I can't be totally sure that all of what I'm saying is exactly correct, but that sounds like a fab opportunity to get some more playtesting feedback!
Anyway, before I forget, here's a video demonstrating the latest build of Band of One, enjoy!
P.S: The next update will be both much shorter and come much sooner, promise!
19/02/25
Boom, new update has arrived! And on the same month, too!
Although there hasn't been much work on any additional songs, I did manage to give BoO a big ol' graphical overhaul, complete with title screen, demo sequence, a brand new song selection interface, and more! I'm honestly quite proud of how much more "legit" the game looks and feels now, especially now that I've discovered how to import custom text fonts, the default just wasn't doing it for me.
One of the new scenes I added was a scene where you can select whether or not to play a tutorial explaining the game before starting it proper, quite similar to the first beatmania.

Although that's cool and all, now I'm a bit conflicted on whether I should work on the tutorial stage first or the House stage first, seeing as I confirmed my interest in applying for my uni's game expo (the one I mentioned in the previous post) earlier this week and it's being held on the 5th of March. On the upside, I tested the game on my laptop to see if it could run it properly for the expo, and it seemed to work perfectly fine with the controller plugged in and everything!
On the topic of the first beatmania, I decided to have my demo scene play the full song upon the first key hit to minimise the chance of any early or late keysounds throwing the audio off-sync. Sure, it might be cheating a bit, but I say it's fine doing it now in 2025 if it was okay to do in 1997!
Speaking of audio, I also discovered how to get audio to loop properly so that some of my new scenes could have looping BGM! Apparently it's something to do with Unity putting a small amount of silence at the beginning of any MP3 file it plays in-game, which isn't entirely desirable for a game like this, so I might look into converting all my current MP3 files to WAV to reduce any chance of the audio going off-sync.
Anyway, that's pretty much all for this post, I'll leave you as usual with a video of the current build of Band of One. Enjoy the snazzy visuals!
03/03/25
Looks like I'm on a roll with these updates, hasn't even been 2 weeks since the last one! There's a good reason for that of course, I've got a bunch more quality-of-life additions and even some brand new scenes!
Seeing as this early build of the game is going to be seen by numerous students, staff and potential employers at next week's Career's Day Arcade expo, I've added a subtitle to the title screen so that everyone can see that the game is still in beta, as well as credits in the bottom-left corner to let them know I'm the sole culprit behind this beautiful mess!

As for the demo scene, I've added code that makes the UI keys and note lane flashes change when the appropriate kind of note is hit (e.g. turntable for scratch notes, leftmost white key for leftmost white notes, etc.), much like in regular gameplay. Ever since I created an Auto-Play feature for Band of One, the fact that the UI keys didn't flash when a note was hit always irked me, so I'm very glad to have finally cracked the code - even if the solution wasn't the most optimal.

Whatever the case, hopefully this'll help people understand the game a bit better!
Speaking of understanding, I've made the executive decision to scrap the tutorial selection scene, since I feel the demo scene already does a good enough job of telling you how to play the game. On top of that, the fact that the turntable gives multiple inputs with even the slightest turns made it pretty unreliable when trying to have sound effects play only once in the tutorial selection scene, as can be seen by the repeating "tick" SFX in the previous video.
I was planning on making a unique character for the tutorial scene called Doodle James (D.J. for short), who'd be a rough doodle that would come alive to teach the player the basics of BoO, in much the same vein as DJ Konami from the early beatmania games. I feel they would've added a bit of personality to the game, but alas, I'm looking to spend my time on the remaining songs instead.

Regarding the songs, I've also added two new notecharts for each of them, with each chart corresponding to one of three difficulties: Normal (the default), Hard and Expert. I've also made it so that you can switch between each difficulty by pressing the E1, E2 and E3 keys while on the song select screen. Although I've yet to complete the other two main songs, I've made sure to include placeholder scenes for them for when they're all ready.
In addition, I've added a stage number system that lets the player play three songs per game (with the difficulty being set to Hard for the final stage) and a timer on the main menu that lets the game automatically advance to either a selected song or back to the title screen after 99 seconds have elapsed, depending on whether or not anything is selected. This way, if anybody happens to abandon the game early (as I've seen happen in many other arcade games!), it won't be stuck eternally on the song select screen.

Just like with the tutorial, I also completely scrapped the track-switching mechanic, seeing as newcomers found it difficult to understand (especially without a dedicated tutorial!) and that it was adding an extra layer of complexity on top of an already beginner-unfriendly game. Plus, its code was also taking up quite a bit of space in the GameMaster script. Despite that, I feel like it could've had quite a bit of potential to make for more interesting and varied notecharts, so I might just add it back in if I were to make a sequel. Another under-the-hood change I made was converting every .mp3 file in the game to .wav files to ensure proper timing and seamless looping, which was especially apparent with the keysounds!
Finally, I've added a proper lose condition to the game, where if your health is below 80 by the end of a stage, you fail it and are met with a new game over screen after the results. I've also added two new backgrounds to the results scene, a light-blue one for when you clear a stage and a dark red one for failing a stage.
Seeing as I've made so many improvements to the user interface and and general quality-of-life, I suppose the next logical step would be to complete the House song. However, since the expo is coming up in less than a week, I feel like I could make do with implementing a full-but-undeveloped version of the song as a sort of proof-of-concept for the expo beta, and complete it proper at a later date, so that I don't have to worry about rushing it.
Before I forget, here's a link to the source for the vinyl record image I used for the song records (https://www.vecteezy.com/png/9314454-vinyl-record-vector-illustration-isolated-on-white-background), a link to the drum roll sound effect used near the end of the results display sequence (https://www.youtube.com/watch?v=UzzVZ-6wUso) and a tutorial I found online to help me implement the song select timer (https://gamedevbeginner.com/how-to-make-countdown-timer-in-unity-minutes-seconds/). Now, without further ado, here's yet another game recording, now showcasing the stage fail and game over screens!
08/03/2025
I'm really glad that I went to the Career's Day Arcade on Wednesday, quite a number of people visited my post, and virtually all of them played it, even some of the staff! Then again, I suppose I shouldn't be too surprised by it turning so many heads - who could resist checking out a game using a controller like this?

I don't know how it took me this long to formally introduce it in this blog, but this is the GAMO2 PhoenixWan - a PS2/PC game controller designed to be used with rhythm games like beatmania IIDX and beatoraja, and built to replicate the controls of beatmania IIDX arcade machines. It's 52cm long, 27cm wide, and 8cm thick (almost the size of a breeze block!), so no wonder it stood out so much!
To get back on topic, I managed to complete the composition of the house song - as well as chopping up the instruments and SFX for the keysounds, designing the notecharts for each difficulty and assigning the correct keysound to each note - all within the span of the evening before the arcade! Needless to say, the process was a bit rushed: I feel like the song could be lengthened with an extra section or two, and one of the notes was placed a unit too late in the charts, but in the end, I feel it did a good enough job for the event.

Speaking of the event, I managed to get quite a bit of feedback and insight after having others play my game. Previously, I had it set so that the first note in a chart played both its own keysound and the song's backing track when hit, meaning that if one were to miss the very first note in a song, they would have to continue playing without the backing track, making the song feel quite empty. Seeing as I was confident that players would be able to hit the correct note after seeing it for several seconds upon the stage loading, I left this issue in the arcade build of the game. As it turns out, having next to no prior experience with rhythm games (one person even mentioned they had experience playing piano!), a good chunk of people either missed the first note or pressed the wrong key at the start of a song.
Seeing as this happened quite regularly (and made the backing track play either too early or too late depending on when the note was hit), I've implemented a new Game Object that acts as an invisible trigger for the backing track by playing it the instant it travels over the green judgement line, meaning that the first note can act as a normal note without risk of skipping over the BGM.
After having watched all but two of the people who played Band of One fail miserably at the easiest chart in the game, I got the idea to include a mode where the player only needs to press the four white keys rather than all seven (very similar to a mode featured in the first three installments of beatmania IIDX), to help ease beginners into the game's difficulty curve. That being said, I've yet to start work on this idea, but I'll likely look further into it once I've created the third drum'n'bass song.
And to cap off this update, here's a video of the second song's Expert chart in motion, as well as a zipped wav file of the song's soundtrack version. Like I said before, it's quite possible that I'll change it sometime in the future, but for now, enjoy!
17/03/2025
This week's update is quite a bit more minor than the last, but I feel it's substantial enough to warrant a post.
First and foremost, I revised my house song, 1 U Need, adding some voicelines (which I had planned to use since I started working on the song) and new sections that use the first lead instrument for more than just the main riff, since I feel like the sudden change in instrumentation in the build-up/drop section was too abrupt.
Some other changes I made including removing the Career's Day Arcade "branding" from the title screen, removing the timer in the song select screen, and adjusting the collision boxes for the judgement lines so that they're consistent across all scenes and to make it less likely for them to hit multiple closely-placed notes of the same lanes (notably seen in too much POWER??'s Expert chart).
Here's a vid of U 1 Need's Expert chart in action, as well as a zipped wav of the new soundtrack version of the song. Enjoy!