So, finally after much delay, I’m getting this project moving. I have taken this on as my master’s project, so at least I’m working on something I’m interested in and there is more reason to work on this.
For starters, I have mapped out how I want to divide this, into features on both a client and server.

I’m going to try to keep this more updated as I move on, hopefully I can edit the posts with more helpful information as time goes on.
How is this different than other StepMania builds
So the primary aim here, for me, is to rebuild DDR as a game based on what I feel like the game should of became. So, my build is not going to have a lot of the customization features of StepMania, at least not initially. I’m also going to build on top of the networking capabilities to be more than just “rooms” you join. See the previous post on more about that. I’m not going to focus on arcade replication or theming and try to recreate DDR as a game.

Other Primary StepMania builds
sm-ssc – Calls itself an “advanced fork” of StepMania. It has some interesting features, and focuses mainly on theming. The source code is very well organized and may contain features I want in my own version. However, I cannot seem to get the source to compile or run in VS2010, which I want to use. More on that later.
OpenITG – If ITGPS2, ITG2 Arcade and SM merged, you would get this. It is a VERY well made ITG2 build, almost to the point where you cannot tell it’s stepmania. Very well made, however, it is not what I am aiming for as far as my build goes.
3.9+ and 4p 3.9 – More simple modifications of an older StepMania build than a complete branch. Probably not something I need to look at.

What I’ve done so far
Downloaded appropriate source for Windows of the sm-ssc build and core StepMania 4.0b9 build.
Downloaded DirectX 8,9,10 and Windows SDKs.
Downloaded and installed Visual Studio 2010 Professional

Attempted to build both sm-ssc and SM4.0.
Problems
As with everything, there are problems, but I am certainly running into many getting this moving.
1. The primary StepMania 4.0b9 code downloads fine, but does not run due to a avcodec-51.dll error. I believe I have downloaded the proper SDKs, including the Windows, DirectX 8,9,and 10 SDKs and linked the libraries in the properties, but still no go. Right before this post, I am getting another build fail. Not sure why, but it’s quite frustrating that this requires external dependencies with little to no documentation or help files on building this successfully.

2. SM-SSC also seems to download the source fine, attempts to build however are stopped on verstub.cpp. There also doesn’t seem to be any support on this error, and again, I believe I have linked the appropriate libraries. It is recommended to build it in VS2008, but I’d really rather get it VS2010.

So, issues I’m having here is the reliance on older DirectX libraries, which might just be a lazy issue, but there might be more behind it. I could get the Linux version of the source and start from there, but that would mean re-installing Linux on both my primary machines. There is also a Mac version which I might be able to get to work. I would like to get a Windows version working, because I’m interested in how development works in Windows and more so, using VS2010.

I’ll update this a little later, as I’m out of time, but this about sums up my progress so far. I hope to add some images and if I get this working, a proper tutorial on setup for building Stepmania.
-Dx

Ok, so, I needed to get this out in blog form (isn’t that all the rage now, man, wordpress makes it so easy!)
I’m not very good at organizing my thoughts, so I’m going to spew everything I can think of out here. I’ll break these down into smaller achievable goals at a later time once I get my thoughts in order and get more feedback. Wish me luck…

Introduction

As many you reading this probably know, I’ve been a fan for DDR for many years now, and I’ve definitely enjoyed the benefits of the game both socially, mentally, and physically. And for a while now, DDR hasn’t been what it used to be. ITG came along to try and rectify what it thought the players wanted, but it never sat very well with me. Stepmania has existed for a while now, and before that DWI(look it up. ;p) but it felt way too “hackish” to really hold. I never felt like DDR became something better. It has kind of just died out. (At least around here.)
For a while now, I’ve been hoping Konami would really pick up the DDR series and bring it back into something awesome, but I feel like they’ve never been the same since they did the big office consolidation in the US a few years back, and I believe you can see the quality of US DDR decline at that point. (Think a little after Supernova 1 came out)
So, then I thought…well, why don’t I make it myself.

The Idea

Alright, now, I’m not thinking about remaking DDR from the ground up, that would be stupid. I’m also not thinking about making an entirely new game, that would take too much time. Stepmania is an open source project, and has gotten the dance sim pretty much down, this would be an extension of that.
The idea is to make a localized Stepmania Server that would communicate with Stepmania Clients that my DDR friends (early on!) would have. The main server would house “official” step files, player profiles and scores, and other fun things. The Client would communicate with the main server, relaying scores, allow clients to upload new songs, etc. Now, this sounds like a more complicated way to do something that is already being done (Stepmania, download a bunch of songs, play, share scores with friends) but what I would like to see is something more akin to Beatmania IIDX’s rival system that is in Japan. You play on your local machine, or client, access your profile, and upload your scores, progress, etc. I think it would also be cool if this system was a little more organized, say with one or a few persons overseeing an “official” build of songs…ummm, hard to explain. Think the DDR Encore group. They did a great job on making a Stepmania build that looks and plays official, complete with courses, original songs, and extra stages. I’ve played on their machine, and it’s pretty cool!

So, now to build on this. I want to get into the game industry, I like to think about how games should be fun, etc etc, I won’t bore with you that. I want to program and design games, that sounds awesome! I think this might be a good chance to take what I’ve learned and put it into practice.

Anyway, Konami’s e-amuse system is an attempt to do this at the arcade level. But lets face it, the arcade isn’t doing too well in the US. So, how can we still create a similar experience on the home level. I think this project will be a way to answer that.

What’s already out there

Well, there is Stepmania online, which ummm…eh, I think it’s not very fun. There’s….the DDR Universe series which, I dunno, doesn’t have metal pads (XB360 only! No official boxes available, build your own), the scores are stored on ddrcommunity.com (I think!) but the system isn’t very well organized. I think there is not enough content and too much hampering what is already there. I think that’s it, please comment if you know of something else like this.

The Plan

I think this is fairly doable with reasonable work.
1. Stepmania is open source, the code can be viewed and modified for our purposes.
2. I’ve been meaning to build a Stepmania box for a while, why not take it a step further and build a server specifically for this.
3. I have many programmer friends, some who even play DDR who could help, maybe even a little (right guys??? :p), heck, I run a game development club who might be interested in just taking on the project with me (maybe,maybe,maybe).
4. This is a good chance to test a few things.
a. My software development background
b. My EE background (hardware, etc.)
c. Working as a team (I really hope this isn’t going to be a solo project…)
d. Taking something I love and make it better, somehow

So, the plan is:
1. Modify the Stepmania or Stepmania Online code into a Client/Server program.
2. Allow support for easy profile creation and retrieval (I think this is the most important part, player investment is all the rage in games now, just look at your Call of Duties or your Haloz:Reaches, Blurz, etc. you’ll see what I mean!)
3. Allow support for rival system, dynamic score display, challenges.
4. Extra Stage(I’m a whore for this), Custom Extra Stages
5. Custom built courses for individual players (this is something I love to dabble in, this gives an easy way to make it.)
6. Server sync. Sync player profiles kind of like XBox Live, allow for easy song download and upload
7. Server to Server communication. This way, you can build a network of servers if more people wanna get in on this, and that way it isn’t all on one server.

1 expanded)
So, as far as 1 goes, the most important part to get this working, it’ll be mostly programming. A bit to get a server running hardware side I think. Getting into the nitty gritty of the UI and gameplay elements, that’s game design. Can the Stepmania UI be improved? Is the Song Wheel outdated? How do you make play DDR the easiest and funniest experience possible? Will the UI look like the version a song comes from? (Play a song from 6th mix, 6th mix skin, play one from SN2, SN2 skin….how cool would that be!!)

2 expanded)
How do we store player data? How can players access profiles? Online? Web system? User name and code? Do we have a level up system we design? DDR Rpg? (Lolz, who knows) Player Investment, how do we accomplish this? How do we display scores? Can players pick custom skins and have it stored and displayed anywhere?

3 expanded)
How do we determine rival? Let players pick their own, also give ones based on criteria? Dynamic display of score (again, think IIDX rival score display). How do we send challenges? Are we going to overwhelm the player with options or stuff on the screen?

4 expanded)
I LOVE EXTRA STAGES 😀 😀
Ok, anyway, I love the idea of extra stages based on songs played, based on a nonstop course played, based on difficulty played. Do we only allow extra stages for AA, Heavy last song? Is it always going to appear, just based on how you do? (Again, like previous IIDX) Multiple extra stages? (I LOVE the IIDX ES system, currently)
Do we track this information per player?

5 expanded)
This is really for myself. For my friends who want a challenge, I try to design them a course of a few songs, maybe even some modifiers, to push them to their limit, or at least test their limit. It would be awesome to have a player “sign in” to see that they have a new challenge course waiting for them that should be in their range of ability or just outside, like barely, as a way to push. I dunno, extra thoughts.

6 expanded)
This is important for data integrity and player experience. If you play a Guy A’s house, then go home to your client, your scores from Guy A’s should be uploaded and ready to go. If internet wasn’t available at Guy A’s, then when he connects, it’ll upload, OR you have your profile on a USB stick and can upload to your own. A player should never lose a score on a song for any reason. That just sucks.

7 expanded)
This is much farther in the future if this idea takes off. To help with bandwidth, and to allow other people to set up something like this on their own set-ups but still communicate with “the nation” or whatever, we could send player data, and not songs, or request certain players…I dunno, it’s kind of unclear how to handle something like this if it gets really large.

For this idea, the server itself would really just be a storage bank for scores, songs and player data and a way to update the client. The client would handle song playing and handling song data, course data, player data and presenting it to the player.

Why you should care

Ok, here’s where I try to sell you on my idea after all that other fluff. I love DDR, I don’t want to see it die out. I don’t think Konami or anyone else for that matter is doing anything about it to make an ultimate DDR Experience. Complete with scores, rivals, new songs, old songs, etc. This project is a great way to flex my programming skills and hopefully a way for others to do so as well. It would be a work of passion and I hope you would join or at least support it if you don’t think you can join or even think it’s stupid or crazy or a waste of time. I think if I get this idea posted, it could catch some steam and maybe, just maybe, something awesome will come out of it.

TL:DR;

I <3 DDR! I wanna make a cool Stepmania Project that is all sweet with lots of songs, player profiles, and cool stuff! Please don't sue me Konami, I do it out of LUVV! No profits are planned at this time. (Or likely ever, DON'T SUE ME PLZ)

The Flip Side:Why Konami should Care

Ok, so, say Konami really does take this idea and makes it more than just a fan project. The DDR Network could be a lot like what Rock Band is doing with their stuff. Now, have Konami and Cobalt Flux team up and have officially sponsored metal mats at a decent price for PS3/XB360/PC/Wii/w.e
Maybe you can have two things.
1. Subscription model (1 year free with Cobalt Flux purchase!) to have access to every DDR song EVER and new ones added all the time. Maybe $5 bux a month? 10?
2. Or, like RB, you get a bunch of songs on 1 disc and pay 2 bux for every new one you download.
Always have to be online to regulate hackers? Updates all the time so it doesn’t suck? Listen to your fans?!?!
I think it could work! Feel free to email me at dexorc [at] gmail [POINT] com to mail me a check. ;P You should have my mailing address on file somewhere actually…
Yes, I will still be a DDR Merc for Hire! Come on! :p

Some Notes

I will edit this post as I try to clear up some of the ideas I’ve made here.
This isn’t going to be sold, and if anything, would just be a small project for myself and my friends.
This isn’t a Stepmania replacement, more of an addon that could be built up to a heavy modification of Stepmania.
It is meant to be a more customizable score interface in the beginning, being built up to what I have discussed here. Stepmania doesn’t look like it has a good way to share scores easily. Even more so, the profile system is very primitive.

I’m looking for a way to inspire people to play and continue playing DDR, not just making it harder, but by including the community (local or otherwise).
THIS IS MEANT TO BE A PERSONAL PROJECT, NOT A RETAIL PRODUCT

You know, I think that about does it, it was a long post, I hope you read it. Please comment with what you think. I think the comment system on here is pretty easy. You don’t have to sign up. And you can even be an anonymous ass too! :p So, either this is the beginning of something that I think would be really sweet, or the end, right now, because lack of motivation or whatever…or a cease and desist..(please no!)
Thanks for your time.
-Dx