I appreciate the technology demo, but anyone who has played 'serious' SC games knows that you have to use the keyboard. How are you even supposed to select a group of units in a messy battle? I suppose you can connect a keyboard to it.. but then, why bother? I think mouse-only games would make better candidates for successful ports.
I agree. The control in the demo looks cumbersome.
I've come to the conclusion that touchscreen devices have a lower information throughput than traditional desktop machines. Relative to a mouse, the touchscreen is inaccurate, unreliable, and (using it) blocks your view more. You can't rely on there being a hard keyboard, and if there is one, you can't rely on it being big and comfortable enough to use at high speeds.
So it's hard for me to imagine, even in principle, how you'd port something like Starcraft. It uses almost all of the desktop's information throughput -- two or three mouse buttons and most of the keyboard keys going like mad the whole game -- and you just don't have that kind of bandwidth on a touch screen.
I would love to see a Real Strat on a touch device -- not just a lot of tower defense games. But I think you'd have to do a lot more than port what we have. You'd have to go back to the beginning, back before Warcraft, when they were still figuring out how to make the controls work on a PC, and reinvent the genre for touch screen.
Touch screen games seem biased toward the turn-based and the scripted, rather than the real-time and manually controlled. Perhaps, with a lot of scripting and game redesign, RTSs could survive that transition, but I think they'd come out looking pretty different.
Problem one: A mouse still offers more granularity than your finger
Problem two: Starcraft is not the best "quick game for a fun little diversion". Maybe I've got the wrong idea here, but IMO RTS is the Monopoly of video games, and I don't play Monopoly on the bus.
I could buy this argument if you were talking about almost any game except starcraft, with its arbitrary selection limits. And if you want groups it's pretty easy to do that with software buttons.
If porting Intel compiled binaries (dll/exe) to ARM is as easy as this article makes it look, then Microsoft has some explaining to do about Windows RT and legacy apps compatibility.
It is similar in a sense to Wine, how it is not a port of Wine. It is currently under development.
It is not an emulator in VMware/VirtualBox's sense of emulation. However it does implement small subset of Windows APIs, so it is a porting layer.
Apparently winulator just translates the windows api calls to the proper (native) android function, however why wouldn't you just port wine to android then? you'd probably just need to add a few missing posix functions, according to: http://mobilepearls.com/labs/native-android-api/STABLE-APIS....
If they were written in a portable language like C, maybe, but you will have to recompile them. I think the point of their WCH tool is to rewrite the machine code from x86 to ARM without having the source code, so it's a much harder problem than recompiling.
It's one thing to port a specific application and work out all of the kinks. It's another thing entirely to claim that millions of different applications will be able to make the transition. Even the article points this out: Winulator isn't compatible with Starcraft: Brood War yet. It's a work in progress (each game requires specialized tweaking in order to work).
Microsoft is not willing to tweak every single application to make sure it works on Windows RT, and neither are the developers of most of those programs.
I agree that making a port to ARM architecture is a process and will never be perfect. What I meant was that making it possible to run legacy apps (even if it is only the top 100 most popular ones) will go a long way towards making Windows RT tablets more popular. If it is possible to make a DirectX audio/video application like SC:BW run (seemingly well) on Android, then it should not be so hard to do normal apps like archivers(winrar/7zip) or media players (VLC).
Perhaps the problem is performance - the original StarCraft ran on a 100Mhz CPU with 16MB RAM.
You just picked two of the more difficult apps to emulate or ahead-of-time translate as your examples of "normal" apps that should be "not so hard!"
Archivers generally have highly optimized compression/decompression routines, which generally means more esoteric instructions and in some edge cases means abusing properties of the microarchitecture to make things faster.
Media players have the same optimized-code issue that archivers do (via codecs), but on top of that demand very accurate audio/video synchronization and support a wide variety of output formats and hardware, which means that media players often add difficult-to-translate display and audio output pipeline hacks on top of difficult-to-translate optimization.
Starcraft I ran on x86 CPUs without MMX or SSE, and I wouldn't be surprised if it didn't use x87 floating point either although I'm venturing into speculation territory there. Plus, Starcaft I used DirectDraw and what amounts to a framebuffer - the easiest possible output device to emulate.