Roller Coaster

Build and ride roller coasters on Windows 8. Use your Ultrabook to play the game using touch.

Editorial Note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

App Up Store Closed

Roller Coaster did fairly well in the free section of the AppUp Store, ranking in the top 10 at times. It was a great run, and I appreciate being invoked in the contest from Intel And CodeProject. But Times are a changing and its time to look forward. I have decided to rebuild the back end and open source it (This is a work in progress). Although I enjoyed the style i coded it, it was way too complex, and hard to debug (More on this later If I create another post). So the new focus is simple straight forward minimum dependency's. I have Created a WebGL Version for testing, but keep in mind the new backed isn't done, but it will in the end have the same functionality.

I plan to build a front end in Unity at some point, to push out to several devices. As This is really branching off from this post, I may create another post focused on its new focus and purpose at some point. Everything In Introduction on this page and below ill leave as is.

Introduction

Roller Coaster. Build and ride roller coasters with ease. Designed to be able to learn to play in seconds with touch. Use of gyroscope while riding to get coins for high scores.

Its designed to be able to play it in varying time spans. Its a game you could pull out at lunch and build a coaster in 2-3 min and show a friend. Also one that
you could spend much more time building the perfect coaster.

The game is written in C#, and is using XNA as a front end (a Windows 8 "Desktop App").

Background

My name is Mark Dickinson I am a student at ASU, and am a CS major. I have been working with roller coaster design since I made my first mod on Warcraft 3 with
triggers. I learned a huge amount from watching players struggle to learn the game quickly. I stopped adding features and spent over a year on and off making the features that
existed very easy to use and straight forward. I have since spent most of my time in c#, sliverlight, and xna.

Key Features

Fully playable with keyboard, mouse, and touch.

Building coasters, with a large amount of flex-ability yet designed to take only seconds to learn.

Ride coasters, from in the cart or from a third person perspective.

Ability to lean in your cart left or right in your cart to get coins while riding.

Screenshots

Riding (Cart View)

Riding (Third Person View)

The code

Backend

The back end of the game is built in c# in a library called "RCLIB" .

Here is a function I have in "RCLIB".

Build Track

Is
coaster finished

Where would the track be built

Check for flipped on bools, (e.g.,
iqnoreOutOfBounds)

If its on, make sure it can fix the issue, or return zero tracks built.

Note: When it attempts to fix the issue, it allows the game to build additional tracks, or back up a small amount.

The point of showing this is that the game attempts to fix rules broken by the user, so to lower the learning curve in such a way that they can keep building,
with out having to deal with rules most of the time.

Frontend

The front end is using standard XNA, to for user Inputs, loading content, and showing visuals.

Due to not wanting my back end to have any ties to my front end I had to rebuild parts that existed in xna.

Here is my draw method, showing a downside of my choice of making them completely separate instead of sharing some of the xna code base.
But overall it makes for a much more flexible code base.

Final Note

Building a game project that makes sense for the Ultrabook has been sort of like building a project built for computer and a tablet at the same time.
Finding the fine line from additional features/ Options and keep simplicity has been a interesting struggle.

In the end roller coaster is a perfect fit for causal play on an Ultrabook in nearly any setting.

Sure ill add it to the post tonight or tomorrow, in a rush at the moment.

I am in the process of rebuilding the back end, and have open sourced it and have it running in webGL. but its not quite done. I also have a version running on windows phone with my the backend I used for AppUp. for now ill just add this. With the Focus on RCWebGL

Please put the downloads at the top of your post as all the other code project articles are following. I'm just telling this to make the article/post consistent. Also by this way the user can download the code easily if's at the top.

Thanks, I Added it to the top, Awaiting approval. But I did not add the source only a current version of the game. But I added a note. As this is for the AppUp Contest with ultrabooks, I figure that will be fine.

Is it "metro" app or just full screened? If metro, is it the app bar where you have all these ingame options?

I made two metro games, front-end in XAML and I would like to rewrite it to XNA. Do you have any such sample? I would like to see some small app before I proceed, because I don't have any experience with XNA.

All of these steps are in the guide above, I strongly suggest you use the guide over what i am typing here, as this is off the top of my head.

Steps: 1. Download Moho (a bit of pain you have to use github or something like it) 2. Get Moho Update 3. In Visual studio 2012 Put in the WindowsMetroTemplate 4. Create a new project in visual studio 2012 using the moho project type 5. Add your XNA Project to the Solution, or use the one thats in the template (its already hooked up to mono) 6. Add the monoGame.Framework to your references on your xna project Note: (I couldn't get this part to work right from the guide above, so i mannuly found added, all of the SharpDX references, from MonoGame Folder That you download in step 1) 7. In visual studio 2010, you have to build all your content in xna (content manger), grab them from your debug folder, and add them to your xna project. Put them in a folder called "Content". 8. Run game. 9. I found that one of the references was making it fail the windows cert test, but i wasnt using it so i removed it. (dont remember what one but the test tells you)

Here is a sample, I made that you requested. Its a Simple XNA Game, that uses moho to run on windows 8 "Metro". It has a texture, and a model.

About your project. Important question. What is your goal? If you want people play your game, I worry one roller coaster isn't enough. Do you know Roller Coaster Tycoon? I have spent so many hours playing it when I was kid.

Updated Sample* The old sample with missing a project file.On my last post.

Question:"What is my goal?"

Answer: To have a fun game, for all ages, that is designed for touch on the ultra book.

Question: "One Coaster isn't enough"That's an argument i have heard alot and is a pretty decent topic to bring up.To clarify they will be able to build multiple coasters with save load. But only 1 coaster at a time will come up.

But still, is that going to be enough to keep people satisfied?

Answer:

For a while, I think yes, as they will still have lots of things they can with it. Now i understand your argument if you compare to "Roller Coaster Tycoon" as that is a large game, and I never plan to be able to compete with it in total features. To be able to create coasters quickly and create massively, I think will hold the addition for quite a while.

It may not become a game where someone sits on there computer for hours making a super complex coaster, or a entire park of them. I think its more of one, people pull out and play when there in a relaxed setting, when they have 5-15 min to kill that they show off to there friends.

Additional Features To comeMost of these additional features very likely wont come until after i have it on the app up store. But are planed for future development.

ThemesChange your coaster theme, currently I have built two themes. Classic and Halloween.

Coin ModeWhen Building your coaster, you can add coins left, right , or straight on the track. Then when people ride the coaster, they can rotate the screen a tad to lean left or lean right, or swipe in that direction.This way when you ride coasters, you can attempt to get as many of the coins as possible, and the skill cap would be quite high depending on how fast your coaster is going.