forum

Making A Rhythm Game

posted
Total Posts
4
Topic Starter
ZiROXUS
So I've been playing osu for 2+ years now and it has inspired me to make a rhythm game from scratch. This question is for the experienced coders out there and I'd like to know their input.

I've browsed through many game making software out in public right now and I feel like making a rhythm game is almost impossible without knowing the software to detail. And even if you do know how to do so, there won't be much variety in song choices unless the maker is putting out songs like no other, also it being very time consuming I believe. (I had trouble describing this. Imagine a map on step mania or osu all done by one person. Mapping style would get really repetitive unless that creator is VERY creative)

This is where I'll need the coders' suggestions on making an "edit and play" software or client just like osu!edit. I plan of following osu's path and let the community take control of the majority of the mapping. I'll take any suggestion since I don't know where the **** to start lol, but I'll be exploring more ideas by experimenting and learning more of code languages in the meantime.

Only comments that will help me please, no negative comments. I understand this is not easy work and I'm willing to put a LARGE amount of time into my project.
guineaQ

ZiROXUS wrote:

I'll take any suggestion since I don't know where the **** to start lol
I don't know where to start telling you stuffs either then lol

About "edit and play", let me just say knowing how parsing works is essential to allow this kind of thing to work. Of course, there might be other methods for this but if you want user to make their own charts, the program must be able to read the data that the user passes to the program, so parsing is kinda essential.

Let me give you brief example/summary of the wikipedia article (it is full of technical terms after all and I have NO IDEA what your level of technical prowess is)

Parsing is basically the process of analyzing a string of symbol, in this case, it would be the chart file that user creates.
In order for the program to analyze a string, it must go through
1.) Lexical analysis (aka Semantics, or in layman's terms, finding the MEANING of each characters)
-> 2.) Syntactic Analysis (aka Grammar)
-> 3.) Compiling | Interpreting | Translating | w/e you want to call it
-> Output.

^ this is how you would read the file that the user gives it to you, but in order for the user to create those files, you will need to create a program that again, read the graphical representation that the user creates on the editor into the portable text file format.

Also, you need to learn something called "Regular Expressions" if you want to create the syntax for your parsing needs.

With the ridiculous amount of power/user-friendliness (compared to making a game from COMPLETE SCRATCH) that the game development engines have these days, you really won't have to learn as much from doing it from complete scratch to create a reasonable quality game. Now, if you want to make a game WITHOUT using ANY currently available game engines (so you are basically making your own), that's a completely different story.

If you want to make any kind of graphical application without using any external libraries, I can only think of C# and Java being up for the task, afaik, osu! is also written mostly in C# as well. Personally I recommend using C# as well since Java might be good for prototyping, but it falls VERY SHORT on the performance issue that a LOT of games have trouble with. (We are talking about 10~20 times difference in speed, seriously.)



You have a lot of learning to do as Parsing is basically a single university course subject on its own. C# is pretty damn easy if you already know C/C++ but well, I don't know whether you know any programming languages or not so gl with it.

I recommend trying to create a functional window that has all the menu icons working as the VERY FIRST step if you have absolutely zero idea where to start from before you start tackling things like parsing/grammar blah blah blah

Unity sucks
Topic Starter
ZiROXUS

guineaQ wrote:

ZiROXUS wrote:

I'll take any suggestion since I don't know where the **** to start lol
I don't know where to start telling you stuffs either then lol

About "edit and play", let me just say knowing how parsing works is essential to allow this kind of thing to work. Of course, there might be other methods for this but if you want user to make their own charts, the program must be able to read the data that the user passes to the program, so parsing is kinda essential.

Let me give you brief example/summary of the wikipedia article (it is full of technical terms after all and I have NO IDEA what your level of technical prowess is)

Parsing is basically the process of analyzing a string of symbol, in this case, it would be the chart file that user creates.
In order for the program to analyze a string, it must go through
1.) Lexical analysis (aka Semantics, or in layman's terms, finding the MEANING of each characters)
-> 2.) Syntactic Analysis (aka Grammar)
-> 3.) Compiling | Interpreting | Translating | w/e you want to call it
-> Output.

^ this is how you would read the file that the user gives it to you, but in order for the user to create those files, you will need to create a program that again, read the graphical representation that the user creates on the editor into the portable text file format.

Also, you need to learn something called "Regular Expressions" if you want to create the syntax for your parsing needs.

With the ridiculous amount of power/user-friendliness (compared to making a game from COMPLETE SCRATCH) that the game development engines have these days, you really won't have to learn as much from doing it from complete scratch to create a reasonable quality game. Now, if you want to make a game WITHOUT using ANY currently available game engines (so you are basically making your own), that's a completely different story.

If you want to make any kind of graphical application without using any external libraries, I can only think of C# and Java being up for the task, afaik, osu! is also written mostly in C# as well. Personally I recommend using C# as well since Java might be good for prototyping, but it falls VERY SHORT on the performance issue that a LOT of games have trouble with. (We are talking about 10~20 times difference in speed, seriously.)



You have a lot of learning to do as Parsing is basically a single university course subject on its own. C# is pretty damn easy if you already know C/C++ but well, I don't know whether you know any programming languages or not so gl with it.

I recommend trying to create a functional window that has all the menu icons working as the VERY FIRST step if you have absolutely zero idea where to start from before you start tackling things like parsing/grammar blah blah blah

Unity sucks
Thanks, that'll help a lot.
roufou
I won't be helping you much about coding, as my knwoledge is quite limited and teaching anything I know would be kind of weird.

All I want to tell you is that making a rhythm game where you make all the songs yourself is entirely possible, and it certainly has pros and cons to it.

Also I could be completely wrong but I don't think osu was written in C#, sorry if I'm wrong though.

Anyways lastly some advice, it might be ambigious and not help you too much directly but I'll just have at it. First off, I get the impression coding is pretty easy, once you get used to it, you'll rarely have too much trouble I'd say. The problem about coding is that most people have no idea where in the world they start with it, and how to learn it. I'm not trying to discourage you, but if you have very low knowledge of any type of coding, this is gonna be a very hard place to start, I also hear that rhythm games are some of the more difficult type of games to code.

One way that could speed up the proccess is trying to find a game engine, but I believe finding a good one for this kind of project is quite inconvenient, and you'll probably be coding a lot anyways if you want to make the game work the way you want. I can't tell you the most reliable way of learning coding but I think honestly the best option is taking courses. The only other way I imagine is like trying to learn a coding language and playing around with it, which can be a jab in the dark and difficult to progress with, but plausible.

Anyways sorry that I couldn't give you any miracle advice to make this significantly easier, but oh well. I'd also like to mention that making it possible for the community to make maps for your rhythm game is probably gonna be absolute hell. Making a confusing editor that isn't too appealing sounds manageable, but good luck making one as convenient as the one in osu!.
I'll be honest, the only thing that comes in mind for rhythm games with easy and appealing editors besides osu! would be like, k-shoot mania...Funnily volumax has one of the "better" editors I've seen, but that one is also kind of inconvenient and ugly.

Unity sucks
Please sign in to reply.

New reply