How (not) to start a new Rhythm Game project

Discussion specific to other music games, like: RB, GH, GZ, JamLegend, SoS, etc.
This topic is 5 years and 1 month old. Instead of replying, please begin a new topic, or search for another related topic that may be more suitable.
The Man, The Moose
User avatar
Posts: 3140
Joined: May 13th, 2008
Location: Nowhere, and somewhere
Reputation: 6

Re: How (not) to start a new Rhythm Game project

Postby amak11 » Sat Jul 31, 2010 2:26 am

good point, well i think my brain sorta shut off after i wrote that. But i was busy doing a million other things. Ill try to add to it soon, even it is a few supporting lines
Disclaimer: If you take the above text seriously, then you are an even greater idiot then I


letylovesjb27 in the Taylor Swift - Fearless Album thread wrote::DDDDDDDDDD thanks soooooooo much, I love all Taylor´s songs and this is already the first place where I finally found them!
Waitin for the others! xoxo

Code: Select all

<@away_xbox> Looks like it's your lucky day Amak11 >:) Since i don't see Amak here ill choose somebody else....
* @away_xbox straps 15 sticks of TNT to Amak11's body. The display reads [58] seconds.
<@away_xbox> Diffuse the timer by cutting the correct wire. There are 14 wires. They are Green White Peenus Indigo Black Gold Grey Brown Violet Turquoise Teal Magenta Mauve and Yellow.
<Amak11> oh really
<Belisario93> hmm
<Amak11> !cutwire Peenus
<@away_xbox> ...snip....
<@away_xbox> Amak11 cut the Peenus wire. This has defused the timer on the TNT! Just try and get it off you without setting it off, ok?

Official Developer!!
User avatar
Posts: 374
Joined: June 13th, 2008
Location: Houston
Reputation: 0

Re: How (not) to start a new Rhythm Game project

Postby Acedia » Fri Aug 24, 2012 2:19 pm

Well, it's been 2 years, and 3 weeks since this was posted, and honestly, I don't expect another response for another 2 years or so... but here it is.

When i started "Rockfan", i started with high hopes of actually completing the task of doing what no-one (in the open source world for rhythm games) had done. From FOF Online, to Rockfan, to GZ3, then back to Rockfan, the end result for the project has always been the same, provide an awesome online experience. almost 4 years after i started the original project "FoF Online". I have finally achieved my goal of providing an online experience for music rhythm games.... but it seems I'm about 2 years to late. And 4 years production time for a cloned game, is obviously way too long, The Genere died and now i'm left to play online, by my self. I'm currently in the process of cleaning up the current sources to support GH3+ / RB2+ mid files, and AI for "People" for me to play against. However, I honestly, don't ever plan to publicly release it. I will if asked.

Now that i've spent 4+ years designing, refining, going back and forth between features, etc. I will give you a definition on how i would / could have achieved my goal in at a much faster pace.

1) Clearly define the Features / Game Experience(s) you expect to make. Not "I'm going to make a GH / RB clone like FOFix". For example:

CareerMode, Quickplay (Random Song picked and GO, Practice), NetworkPlay (Matchmaking, DedicatedServer lists, LocalNet Play, PartyMode, etc),
Options { Audio, Video, Game, Input }, Credits, Exit

Song Selection, should contain a random song chooser, and should be sorted in levels by directory structures. have a search feature?
Difficulty Selection, should contains only the difficulty(s) of the selected song

Gameplay, Notes move from top of screen to bottom of screen, using a 3d camera, setting at 78degrees, and 2bars of notes visible at 120bpm, support Hyperspeed x5


2) Build the Menus, if you are going to support theming, or eventually want to support theming, this is the time to design it into the MenuSystem. It doesn't have to be supported at first. But designing the Menus first, will be less stressful, and tend to have less research, then the actually gameplay.

3) Build the Input Handling System { Not all players want to play with the keyboard, and not all players have the same instrument. }

4) Define your data: Player, Instrument, PlayNoteData, etc.
* If you choose to do networking in your game, This is when you should build the networking system. Doing this at this stage, will allow you to define values, states, settings, and the overall design, without having to re-write existing gameplay code, to fix the networking code.

5) Build the Song / Chart importer, this should be built in a way, that the Gameplay portion of the game, can use, without having to do extra processing, while trying to determine, whether a note has been hit, etc.

5) Build a base Playerboard, this object defines the basic rules for any of the Instrument play types for example, Boardspeed, NoteTypes, IsVisiable, void Bounce() { used for drum kicks, Open Bass notes, or random starpower / overdrive section finishes }

6) And finally This is where you Build you actual gameplay system. This should basically be your playerboard, with gamerules applied. This should take more then 50% of your development time, between getting the timing / positioning perfect, research, bug fixes, improvements. etc.

Now I'm not saying that this is not the optimal way of doing it. This is just the way, i should have done it to save myself alot of headaches, motivation losses, and multiple re-writes, cause i thought the code was messy.

DO NOT SAY YOUR GOING TO MAKE / ARE MAKING A CLONE, UNLESS YOU HAVE ATLEAST SOME GAMPLAY TO SHOW. This would have saved me soo much grief, and remember, this is your game, build it how you want, with the features you want... then ask others about what they want ( if you want to support community features )
Posts: 2
Joined: April 6th, 2015
Reputation: 0

Re: How (not) to start a new Rhythm Game project

Postby Galfer76 » Fri Aug 14, 2015 9:26 am

Phase shift for exemple is not a bad project i think is better than Fofix now.
Posts: 39
Joined: September 30th, 2016
Reputation: 14

Re: How (not) to start a new Rhythm Game project

Postby brand » Mon May 13, 2019 4:31 pm

My experience working on a clone (abridged):

I used to play Rock Band pro drums on wii. I had invested in a large DLC library that eventually became stale because harmonix abandoned nintendo. Also in my situation, I had to drag my drums downstairs to the living room, set them up, then pick them all up and put them away every time I wanted to play. I tried some of the clones, PhaseShift was the only one that worked for me (i'm a mac user), till an OS X update killed it. I had become accustomed to the convenience of plugging in my laptop and starting to play and I didn't want to go back to the TV or Booting into windows to play. I've always been interested in programming, but I lacked motivation, idea for an app, or game to start with. I hate tutorials and definitely didn't want to learn by making a flappy bird clone. So I thought, why not make a rock band clone to learn some code?

I went into development cold turkey. My experience in coding was JS for web design, so not even web apps. First I tried Unity and Unreal. I took one look at Blueprints and quickly said '**** this'. I played with Unity for about 2 weeks. I got a few things moving, key presses, etc. I found C# pretty easy to understand but then I thought, "this is not the Mac way." So I switched over to xcode and swift. After 2 weeks of toiling and banging my head against the wall I had a prototype going, with midi parsing and basic scoring.

I did not make a plan as to what I needed to do and I still don't have one. As I learned new concepts in Swift, I got ideas as to which feature I wanted to tackle next. And when I got something working, I would comment it out and try it a different way. It was important to me to come up with my own solutions even if there were many already available and documented. Midi parsing was one I could not fully figure out and resorted to using MIKMidi, but I got far enough on my own to having a playable game, my only issue was parsing Lyrics and some meta events. In my implementation strings where incomplete, like for titles of tracks I got something like "RT DRUMS?)0/d". While I did end up using MIKMidi, I learned a lot by trying to not use it.

It's been almost a year and it's not finished, but I learned a lot along the way, specially in the first 2 weeks. I had a playable game in less than 2 months and I abandoned it shortly after that. Mostly because I got to thinking about design. I didn't know what I wanted it to look like or even name it. Design is actually my profession, so when it comes to design, It is not new and exciting or even fun, it just feels like work. I recently decided to continue working on it and just try to complete it as much as possible.

There is no audience. No one seems interested and I expected as much. this is a niche genre on a niche OS, plus i'm only doing drums so it's even more niche. But I learned a lot and I have been playing it all along which is very gratifying and also the only goals I had at the beginning so I'm very happy with my journey and I regret nothing.

If anyone is curious about this game. This was the las video i uploaded. I have been working on it again and will upload more videos in the future. ...
Last edited by brand on Sat Jun 01, 2019 1:46 pm, edited 2 times in total.

Return to “Other Music Games”

Who is online

Users browsing this forum: No registered users and 25 guests