Programming games for MS Surface and windows store

Started by
7 comments, last by Ravyne 10 years, 5 months ago

Hi All,

I'd like to start designing smaller 2d games in C++ mainly for the Surface pro and Surface RT and would liekthe games to support touch screen. Could someone please point me in the right direction, good URL's, books etc? Eventually I'd like to be able to sell the games in the Windows Store...

Any info would be much appreciated...

Thanks,

rh

Advertisement

Unity supports it if you are looking for an existing engine.

Surface RT and Surface Pro are slightly different beasts. Why Microsoft made the decision to use ARM chips in the first Surface and the Surface RT is beyond me. It was a stupid mistake and the two systems are likely to die quickly because of it.

Surface Pro will run your traditional apps without a problem. If you want to write your own from scratch the touch api is built into the Windows SDK and doesn't require anything special to use. You can use the Surface API if you want access to some device-specific functionality. If you want to release on Windows Store you just write your program the same you would write any other Windows program, occasionally checking it against the certification requirements.

Unity supports it if you are looking for an existing engine.

Surface RT and Surface Pro are slightly different beasts. Why Microsoft made the decision to use ARM chips in the first Surface and the Surface RT is beyond me. It was a stupid mistake and the two systems are likely to die quickly because of it.

Surface Pro will run your traditional apps without a problem. If you want to write your own from scratch the touch api is built into the Windows SDK and doesn't require anything special to use. You can use the Surface API if you want access to some device-specific functionality. If you want to release on Windows Store you just write your program the same you would write any other Windows program, occasionally checking it against the certification requirements.

Thanks frob,

Is there a way to compile programs to run on RT? If I had a simple program how could I get it to run on RT metro interface?

It needs to be specially compiled for RT. Just install the Surface SDK and it should install all he parts for you. You create a project targeting Windows RT. Inside the project you program the same way you normally would. Because it used the RT template it knows to use the RT compiler and will do the necessary work.

Anyone know how the ad system works in the Windows games? Some games are listed as free but then there are ads within the game, I'm wondering how this system works and how the developer generates revenue from this?

Thanks,

rh


Surface RT and Surface Pro are slightly different beasts. Why Microsoft made the decision to use ARM chips in the first Surface and the Surface RT is beyond me. It was a stupid mistake and the two systems are likely to die quickly because of it.

Eh, I tend to disagree. iOS and Android devices almost exclusively run ARM chips, so does your smartphone, the PS Vita and PS TV, and all gameboys since the GBA. The ARM chip isn't the problem, its a perception/expectation that a "windows" OS ought to run all the "(other) windows" software. No one balks that the iPad doesn't run OSX software when its really the same deal -- why? because no one had that expectation and OSX just isn't popular enough in the mainstream for people to care about running its apps everywhere. Ironically, OSX apps by their nature are actually a lot closer to their would-be iOS versions than legacy windows desktop apps are to their Windows Store app versions in many respects.

The negative perception of Windows on ARM chips is, ironically, fueled mainly by the success of traditional windows -- people care enough about their "(other) windows" software that they want to run it on "windows" everywhere. Frankly, In a perfect world, I don't even think Redmond would want the semi-weird hybrid of mobile and desktop apps that is Windows 8/8.1 on a traditional PC. But it was really the only card they had to play coming so late to the tablet party and needing to establish a user base for a tablet-friendly app model. In 2-3 more years of "modern" Windows addoption, there will be more devices capable of running Windows Store apps than there will iOS or Android apps -- guaranteed. The Surface and Surface RT need apps to succeed, they'll get there by sharing the load with modern windows running on x86. Surface and Surface RT are a long road perhaps, but had Redmond tried to tackle tablets with a distinct split between legacy Windows and Windows Store (formerly Metro), windows store would be a guaranteed failure.

I think the mistake they've made, and continue to make, is pricing the Surface and Surface RT so high. They really need to be $50-$100 less than they are. I also think there should be an 8" ARM-based surface (for around $250), and a low-powered x86 surface (with an atom/jaguar-style processor) that's should be, say, $500-$600 to fill in the new gap between Surface Pro 2 and Surface. Then they'd have low and high-end devices for both real productivity and entertainment. While I'm making wishes, I'd love to see a real ultra-book with Surface design language, build-quality, and even longer battery life than the Surface Pro 2.

throw table_exception("(? ???)? ? ???");

Well finally found a c++ program from the win 8.1 sdk that has 2d spites flying around my surface pro screen (see attached program), but I found stepping through it a bit frustrating, had to navigate (F11) 4 files deep just to get to the main animation loop. Found it pretty convoluted, guess I'm pretty rusty in my c++, can anyone recommend a book that would get me up to speed on the attached code? I like what the code is doing, just not understanding all of it very well at this point...

I also found using Visual 2013 on my surface that the editor is bound to the desktop but the .exe ran in metro mode, so I couldn't step through the program using F11 and see the screen update. Is there a way I could have a smaller window in desktop mode for debugging, then sometimes run the compiler and have it switch to full screen in Metro mode?

Program also has touch control so it's nice to see that implemented in the same program, you can touch the screen and it affect the gravity wells... but it sure would be nice if I could get a simpler program, can anyone post or create a program of just one 2d sprite moving around the win 8.1 Metro screen smoothly?

Thanks,

Vanz

There's a ton of information available on Windows Dev Center. Tutorials, samples, guides, references, etc.


I also found using Visual 2013 on my surface that the editor is bound to the desktop but the .exe ran in metro mode, so I couldn't step through the program using F11 and see the screen update. Is there a way I could have a smaller window in desktop mode for debugging, then sometimes run the compiler and have it switch to full screen in Metro mode?

Not really, no -- If you just need to see the game screen and not really actively interact with it in a way that requires fullscreen while debugging, then you can make sure your game supports snap-view in a way that makes sense -- then you ought to be able to snap the Desktop and your app side-by-side. Another option is to debug with a second screen attached to your surface and run VS there (obviously its not always easy to have a second screen around). Getting possibly even less available, you can remote debug from another machine if you have one handy. A final option that requires a fair amount of investment is to have a separate build of your game for the desktop environment (takes a lot of effort, but payoff would be potential support for Windows 7, Vista, possibly XP, and opening yourself up to other marketplaces like Steam). My own current thinking is I have a set of builds targetting Win8, WinPhone, and potentially XBox One when they open up indie dev more broadly, and a different set of builds targetting the classic Windows Desktop (Win8 also, Win7, Vista, XP), OSX and Linux, all (Windows too) through OpenGL (A Windows Desktop App targetting DX could also be useful for debugging, and seems like a good thing for completeness, but I'm not sure its worth the effort yet).

If you're debugging graphics issues, another good option is to use the graphics diagnostics feature to record the problem from the Windows Store app, and then use the captured information to debug it from Visual Studio.

throw table_exception("(? ???)? ? ???");

This topic is closed to new replies.

Advertisement