StepMania and SMOnline

ˇFront Page
ˇYoutube
ˇImgur
ˇGoogle+
ˇBlogspot
ˇGitHub

Older Stuff: ˇProjects
ˇPersonal
ˇStepMania
ˇMy Involvement
ˇSMOnline
ˇSM Lights
ˇSMLAN
ˇSMVAN
ˇMercury Engine
ˇMy Involvement
ˇDocumentation and Info
ˇMagical Nights DJs
ˇMy Involvement
StepMania is a computer application designed to allow users to play many rhythm-based games, most notably Konami's Dance Dance Revolution. It had wild success at first and has continued steady development of a team consisting of more than 30 members. It's had over 3 million total downloads. You can read more about it here, or here (wikipedia).

StepMania was my first experience in Open Source software. It was also the first time any of my software was distributed to a large number of people. As of now, (Nov 8, 2006) there are over 49,000 registered users on the home server alone, plus users on other non-english servers.

StepMania was also my first experience with real time video game software. After reading over the source code, I worked with Joshua Allen on adding networking support. It was a crash course in network programming, protocol design, user management and much more. We first released SMLAN that allowed people to play on LANs togeather. Very quickly people misused it for online play. There was a lot of UI modification that needed to be done to StepMania. We worked on StepMania for quite some time, constantly changing it until it was how we needed in order to make the game easily playable. We changed the protocol many times to provide for new features. Eventually we developed a version-independent protocol. Since July of 2004, ALL versions of StepMania, playing using SMLAN have been reverse compatible. In October of 2004, we decided to write StepMania Online.

There were many hurdles in changing something from a small scale sparse server situation to a centralized server. Between learning SQL, the underlying SQL protocol, and better management of CPU we released the address to our new server as of Jan 24, 2005. Within a month we had a wild success. Through the next months we worked with Adam Lowman on a portal system to display the statistics.

We had a number of issues with servers rangining from overusing our resources on our $7/month server to working with various VPSes, as of August, 2006 we got a dedicated server and progressed to install linux from scratch on it. Starting at around May 2006, SMOnline became completely supported by google ads, and Joshua Allen and myself took out our initial investment.

Over the coming months, we lost interest in the project, yet maintained it in support of the ever growing user base. We switched interest to the Mercury Game Engine, however still maintain StepMania Online whenever necessary.

As of now, over 4.8 million stat entries have been recorded and over 2.8 million rounds have been played. 4,800,000ents/20ents per hour = 240,000 hours, that means, statistically over twenty seven years worth of people have been playing StepMania Online. (As of Nov 8, 2006)

At about May of 2005 I was contacted to aide on the hardware side of the production of DanceTraX. I fullfilled my hardware requirements for the video game, through situations from beyond my control the video has not yet been released. DanceTraX uses a newer version of my new type of pad.

Throughout the course of our StepMania development I developed the following skills and learned about the following technologies.
  • Source code control (CVS)
  • Visual Studio
  • Advanced C++ coding techniques
  • Mandatory coding guidelines
  • Cross-platform operation.
  • Singletons
  • Information Systems (SQL/HTTP/Server Managment)
  • Server adminstration
  • SQL Integration
  • Web Integration
  • SQL query language and the underlying SQL network protocol

  • Early SMO Interface


    First public display of SMLAN


    Shot of a SMLAN setup in france (click to follow informational link)


    Shot of a theme that a third party made using our system (click to follow information link)


    Picture of the very first SMLAN server

    © 2006-2008 Charles Lohr