Windows 8 projects

Monkey Forums/Monkey Programming/Windows 8 projects

Tibit(Posted 2013) [#1]
I tried building for Windows8, but I could not compile and the error was that the manifest .xml could not be read. (but it is there in the folder).

So is there something I need to do to build win8 apps? Any guides or links?

How about WinPhone8?


Rushino(Posted 2013) [#2]
Would like to know how aswell.


therevills(Posted 2013) [#3]
I've only just started looking at Win8 projects... what SDK do you need to get started?


Tibit(Posted 2013) [#4]
I can build Windows 8 Apps.

For that you need Windows 8 (or so I assume) and Visual Studio Express 2012 for Windows 8.

I assume you also need a dev account with a active license. I had one for WinPhone7, I think it is the same. I think I entered my msn account at first start-up of Visual Studio.


therevills(Posted 2013) [#5]
For that you need Windows 8 (or so I assume)

Tick!
and Visual Studio Express 2012 for Windows 8.

Hmmm, I've just installed VSE 2010 for XNA... I'll install VSE2012 tonight and see if I can build both.

Thanks!


Tibit(Posted 2013) [#6]
I have VSE 2012 + ServicePacks so I can build for XNA and WinPhone7. So you probably want both. Thankfully they work fine to have installed side-by-side.


therevills(Posted 2013) [#7]
I guess I need the Express for Windows 8?

http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products


Ironstorm(Posted 2013) [#8]
Yeah. You've to install VS Express 2012 for Windows 8. You can register it for free and get an activation code.

After you've installed it you can compile your project for windows 8 out of monkey. Open the .sln File in VS Express 2012 for W8 and run it :)

Tested here with the latest V67f.

Edit: And yes, you'll need Windows 8. You can't develop those apps on Windows 7.


therevills(Posted 2013) [#9]
Thanks IronStorm, I didnt have much time last night (putting together a new bedroom suite) but I did download VSE2012 (the L&F is so black!)... then I tried to register but MS doesnt like my account for some reason (I tried to reset the password which worked but still couldnt log in!?!).

I'll have another go tonight.

(On a side note, I thought Win8 apps were HTML5/JS based - so why the need for VSE in the first place?)


Ironstorm(Posted 2013) [#10]
I like this dark style :)

Windows 8 allows you to write apps using C++, C#/Visual Basic or HTML/Javascript/CSS. So you can choose which one fits best for you. And Monkey uses C++ :D


ziggy(Posted 2013) [#11]
I thought Win8 apps where HTML5/JS based
Windows 8 Apps can be written in several languages. The faster one is Microsoft CX, wich is native, unmanaged, based on C++.
More info here: http://msdn.microsoft.com/library/windows/apps/hh699871


dopeyrulz(Posted 2013) [#12]
Thankfully Mark went with the C++ option after a bit of prodding. The only one of the languages that provides full DX access (in essence a replacement for XNA).


rebelas(Posted 2013) [#13]
Have to use Win 8, I was so confused for few days what the hell to do with Monkey in Win 8, then I found 6.8 release and this topic. I compile an example off of "bananas" for Win 8 and it fantastically worked.

Yes, just following Ironstorm guide above.


Rushino(Posted 2013) [#14]
Does that mean we must know C++ to add native features ? I though i could use C# ?


ziggy(Posted 2013) [#15]
Does that mean we must know C++ to add native features ? I though i could use C# ?
If I'm not wrong, Microsoft C++/CX can load C# assemblies that can communicate with it. It's not *exactly* C++ but almost C++. That said, I think it is easier to just go the C++ route. (It has some differences also with the previous C++/CLI that was a sort of C++ targetting .net, wich is also not *exactly* C++)

http://programmers.stackexchange.com/questions/162168/what-are-c-cx-and-c-cli-and-how-do-they-relate-to-c-and-winrt


Rushino(Posted 2013) [#16]
Damn. Look like its unavoidable. I will have to learn C++ lol anyone know good Windows 8 C++ developement tutorials or crash course ? To be honest i just need develop a WebSockets client lib (Connect, Send, Handle received messages...) for Windows 8. It should be built-in. I wouldnt mind paying for that through.. The problem is i tried to make one for GLFW but i failed miserabily.


ziggy(Posted 2013) [#17]
To be honest i just need develop a WebSockets lib for Windows 8.
No, you don't need to: http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.aspx


Rushino(Posted 2013) [#18]
That not what i meant... i know websockets are built-in in Win8. But i still have to develop a WebSockets lib for monkey windows 8 target. Which basically mean writting native C++ code. If this isnt done correctly this can lead to problems later.. and since i don't know C++ at all... there a good chance this won't be done correctly...


ziggy(Posted 2013) [#19]
Aaaah yes... Well, good luck! Maybe if you open source it, someone can lend a hand. I hope it's not too complicated


Rushino(Posted 2013) [#20]
I wish to open source it.. i have no problem with that and that could be a very good addition to monkey assets.. and as i said i could pay for this... i don't mind. Problem is finding someone to do it. Why i choosen WebSockets ? Its simple. Its really really easy to work with! You only have to care about receiving, sending and connect, disconnect. End. And i have a good server support in C# which work perfectly. Even if its coming from the Web.. it tend to be supported as a client by many languages.


Tibit(Posted 2013) [#21]
WebSockets are the only option for html5 right?

However do they exist on all other targets?

If so do they work just like in html5? in other words they are like TCP with droppable packets?


Rushino(Posted 2013) [#22]
Exactly and yes its one of the option in html5 (after GET requests..) its pretty efficient. The new technology tend to head that way. However, i was a bit wrong saying you only need to handle connect, receing message and all. Just keep in mind that a pretty low level way of handling communication. You have to add features to this offcourse like heart beat, disconnection, etc.


Tibit(Posted 2013) [#23]
Yeah I think websockets would be really cool. That might be a great option for Monkey server code. It should be usable on all targets since it sits on top of TCP similar to http and it is more usable for games since you can send "unrelibable" TCP messages! (at least to the html5 target)

Heart beat, clock sync and disconnect should be easy to do in monkey code one the basics works on all platforms!


Rushino(Posted 2013) [#24]
Even if this is not suitable for server code.. there a few of WebSockets servers out there.


Rushino(Posted 2013) [#25]
Here my WebSockets server in C#...

http://sdrv.ms/YMooAW


Tibit(Posted 2013) [#26]
In response to my original question!

I got it working in Windows 8!! Yey :)

You have to start with Admin Right, I clicked the win8 folder and set right for a user to Administrator - that allowed it to read the .xml file. I knew it was simple.

Rushino, do you can server support on all platforms to your server or do you only target html5?


ziggy(Posted 2013) [#27]
Rushino, congrats on getting the server running!


Ironstorm(Posted 2013) [#28]
I'll look at this WebSockets thing at Weekend.


Rushino(Posted 2013) [#29]
This server isn't written in Monkey. Its written in C# as a console application and its a WebSockets server.. which mean that any websockets client could connect on it including Monkey clients.. (offcourse they must respect the standard protocol RFC 6455 which got accepted by W3C as a standard protocol out of the draft version so its fully supported and will be fully supported in the future).

I really believe in WebSockets.. ive done tons of research so i can garrantee this is the next big thing in web communication!

The main problem with having a monkey server is that i think monkey isnt really the best choice for a server right now.. plus you don't have any debugging features available which make the thing harder. But that depend on what you really want.. (my needs was a centralized server) right now this server can work with a database which is already done for my game and support encryption. Ive wrote a remote control too to manage it from anywhere.

Right now i could have the client working on HTML5 offcourse, Android and XNA (Windows ONLY). I wish to have Win8 support too.. but that will need a wrapper.

This is not a secret... i am using SuperWebSocket as the server and its a C# library WebSocket framework. I strongly suggest to look into it. Its based on a strong TCP server framework SuperSocket which already work fine.

Offcourse, ive looked at other solutions such Proton Server or PubNub but they were too limited in some area.. i found proton server to be too complex for my needs and pubnub was not enough flexible, you still end up with having something in the middle to handle your queries plus this is not a free service. On the other side SuperWebSocket is really so easy to use.. that its a joke.. i was really surprised and its free and open source. So i recommand that you guys give it a try.. you won't regret it. Also.. even if proton server have some cloud service.. i don't see where the hassle is with hosting a SuperWebSocket server.. its just running on a remote server and that all.

I will be rewritting the websocket client module cause there was a bug which i needed to fix and that make the current websocket lib for monkey unusable..

With this reply alone i hope i saved you a couple of weeks of research. :) but to be honest.. ive spend like 8 month on having this solution up and running.