XNA Game in ASP.Net web site - asp.net

I was wondering, though I have got quite a few articles in this regard and all of them are for previous versions of XNA or not what I need, is it possible to embed an xna game in a asp.net website???
Means like there are several websites (game portals) having several games of may b flash or java. But is it possible to embed your xna game in a web site, and play it on web. May be using Silverlight so that User playing online do not have to updates its DirectX drivers or stuff.
I am a beginner in Game Development.
Any Help will be appreciated.
Thanks in advance.

No, unfortunately Silverlight and XNA are two very different things. XNA is for creating games that will be playable on PC, Xbox and soon Windows Phone 7 devices with very complex graphics and visual effects.
Silverlight is a bit like flash, offers a possibility to create an application that will run in a website environment. It's still possible to make games in Silverlight, but you won't be able to use all the things offered by XNA in graphics.

This is possible with silvesprite As Gimly stated you must transform it to silverlight, this is actually possible (not overly difficult) you will lose some features, but it is possible.

Related

Enterprise Framework - UWP Vs. Web

Broad, sweeping question here...
Assume you have built an enterprise level framework with some rich client in the .Net (Microsoft) sphere, with a WCF back end. Now, imagine that that enterprise framework's UI technology is being deprecated in favour of UWP.
The choices for a front end replacement basically are: UWP, Web (HTML), or some other rich client technology.
How would you go about the decision making process?
I personally lean toward a rich client where the user base is a captive user base. I mean, where the users' IT department is happy to install the necessary runtime environment on the machines, etc. This is usually not a problem with Microsoft technologies, and this won't be a problem in about 10 years when organizations roll out Windows 10.
But, people are telling me these days that web has come a long way. People are telling me that JavaScript frameworks are becoming very sophisticated, and that low level JavaScript for basic data binding and the like is mostly unnecessary.
I have really been turned off by web solutions like ASP in the past, but I do understand that technology has moved forward, and I do understand that Microsoft have been working on ASP.Net v Next which might actually be good?
The question is not so much what would you opt for? But, what factors would you take in to account to decide which platform to go for?
Opnion based answer here...
In a decision to adopt a particular tech for any project lies in many factors. I can cite two majors for your particular scenario.
1 - Client adoption. It's easy for the customers to use/install it? They need to pay some sort of license? Can it run in all platforms/devices the customer already own?
2 - Market adoption. It's easy for you co-workers to adopt it? It's hard to find/hire experienced/hardened developers? We need to pay some kind of license? Can I trust it ill be a long lived technology?
The answer to your question can be HTML.
Not only it is already got a lot of momentum in market, it ill take years to change it even if today someone (big like MS or Google) put some new (better) stuff on the table.
Also if someone on MS marketing dep say next week Universal Windows Platform or WinRT must die it ill die (like Silverlight). So Im not adopting some new technology just because some big player told me to do it.
Yes web has come a long way indeed. You can do a lot of amazing things just with JS+HTML+CSS those days. Also the right usage/architecture of it ill allow you to put your app running in PCs, Tablets and Mobiles (at a minimum cost to port between devices) and capable in running in anything can access internet.
I suggest you to catch up and learn a lot about webservices, Json, JS libraries like JQuery, Sammy and some nice stuff like Knockout, SPA, Angular, Node, etc.
Edit, answer to comments
To not start a chatty comment I'll respond here. Yes your questions and comments brings interesting questions. To let it readable for posterity both of us can edit answer and question to organize it.
Silverlight. How not love it? In special after strugling with flash. It's a shame MS pulled the plug (die in hell MS CEOs). When MS let it to die I was planning a big web app SL was my first choice. Why I changed my mind? Well 2 years to develop that app and at the end how much browser ill get along supporting it? The SL community is great, the tool is great but browsers can just say, Hey tomorrow there's no guarantee it keep working.
.Net and MS platforms. I'm a .Net developer. I adopted it since beta, first to work with winforms (in a previous life I was a proud Delphi developer). After a while started to work with web. I also worked in classical ASP (bad times) and loved .Net ASP from start.
You can run .Net apps in almost any PC in the planet today. Not exactly true for all mobiles/gadgets. For browsers pure HTML+JS+CSS ill to better because it's lightweight (done right). Also we can move a lot of thing to client side and just let it hit the server only when necessary. .Net apps can do that, sure, but ill never be light as a tailored HTML+JS+CSS.
In fact I believe you can do anything with .Net and you can do amazing things if you got a few good developers in your team. But depending on the project it ill do better (and cheaper) in HTML or PHP or Ruby or Java, etc.
In fact at a previous shop, with both PHP and .Net teams we found (after 1 year study, metrics, lots of projects) small projects are better done in PHP, larger ones in .Net (if I remember a medium project can be 4k to 6k men/hours).
The point here is. You really must read a lot about HTML, CSS, JS, SPA, Angular, etc. Bringing to live a big and shinning web app is challenging today not because what we can do (we can do anything) but how we can do. DDD, MVC, MVVM. Testing framework, etc. Man Node is the future (the concept at least).
Web developing really changed in the last years and with it the clients and users expectations. Today no one ill wait for more than 2 secs for a page to load. Everybody wants usability to be at the top of the table from project scratch. You app must be responsive, etc. (not using Dilbertian management buzz words here for the sake of it. Just stating usability is that important today).
And don't forget everyone wants it to be beatifull (from a graphical designer point of view) even if it's a dull B2B supposed to be used only by cave mens.
Even if you stick to a classical .Net app learn about the (many) options, that can bring a new wider perspective.
I have decided to answer this question here because we've had a lot more time to investigate and look at different options. The original question turned out to be a bit of a furphy. Pure UWP and Web are not the only options. There is also a Xamarin Forms as an option which includes UWP, Android, and iOS. As a personal preference, I am leaning toward using Xamarin Forms as a client instead of any other development platform because it supports three OSs out of the box: Windows 10, iOS, and Android.
I believe the answer to the question is: you should only develop a web app if you need to. Does your user base consist of people who will mostly prefer a browser over apps? Are your potential users likely to want to avoid downloading an app? Is your app very simple, and you want people to be able to dive in very quickly? Are you able to get away without access to things like the camera, location and push notifications? If you can answer yes to these things, then I think you should go for HTML 5/JavaScript. If however, your user base is comfortable downloading apps, and you think that your app will require a UI more sophisticated than most browser apps, I'd recommend looking at Xamarin Forms as the preferred option. We've had very good success with Xamarin Forms so far, and the UWP version of our Xamarin Forms app has turned out just as good as our first stab at a UWP app.
Note: I should give Web Assembly (http://webassembly.org/) an honorable mention here. This technology is being considered in all the big tech organisations like Microsoft, Apple, and Google. One day, it may make deployment of native apps in a browser great again.

What is Silverlight, and to what types of developers would it be beneficial to know and learn?

Is Silverlight just basically Microsoft's version of Adobe Flash? If so, I've read over the years that Flash is very SEO unfriendly (SE bots see it as a blank page, I've been told), and some browsers don't like Flash too much. Are the same things true for Silverlight?
I just have a company website I made in Visual Studio 2010 / vb / asp.net 4.0.
Do you have to be an experienced programmer to work with Silverlight, or is there a nice GUI to help out newbies? I'm just trying to find out, now that I've downloaded 5.0, if the value of learning it is worth it. Thanks!
Silverlight is a lot of things, in summary you could say that it's a light-weight .NET run-time, a subset of WPF and a capable video player.
Silverlight brings XAML to the web, yes, but more importantly it appears that it's becoming more and more a framework for deploying rich business applications over the web, but not through the browser.
Some would probably argue that Silverlight (along with Flash) is dead, and that the HTML5 is the way forward. That might be true, under certain circumstances but Silverlight has a lot of cool data binding tricks as well as a very capable retained mode render which is very suitable for business GUIs.
I would argue that the choice wheter to invest in Silverlight as a technology or not is a question you should ask yourself, basically what's your reach? e.g. I would not develop Facebook using Silverlight because Facebook has to be everywhere. If you wanna go social, then the web is ubiquitous. But if you have a customer base that acknowledge Microsoft, and already run Windows everywhere, the kind of headway you can make with Silverlight is quite astonishing.
I urge you to look at some Silverlight demos to gain a better feel for what Silverlight has to offer. Then to build great Silverlight applications you need to invest time in learning, things like XAML and MVVM (using a lot of data binding).
Silver light is Microsoft's option or alternative to adobe flash its provides user with the feature of developing Application that are rich in UI we do have tools that enable us to develop appealing UI that is Expression Blend. SO there is lot to learn in it but talking about the future of this technology i doubt as after HTML 5.0 which enables us to get most of the features of silver-light i don't think any one will be interested to get an add on plugin to silver-light to achieve same result so its up to u if u want to learn it as some new technology its good but as a future its not that great.
SEO friendliness depends on the amount of effort your developers are ready to put into it, Silverlight and Flash both. Silverlight has a framework (Navigation) allowing deep linking that can help for instance.
The tool chain is top class, you get the arguably best IDE (Visual Studio 2010), and a cool designer friendly tool (Blend) that enables, among other things, non-code oriented development, or put the other way, a designer friendly workflow. The XAML+data binding approach is also much more productive than most of the competing alternative (personal opinion, but shared by many developers).
The value of using and of learning Silverlight both is very dependent on your company's objective and skill set. If you already have proficient .NET developers, intend to target Windows Phone or Windows 8 or even do some WPF (Windows desktop counterpart of Silverlight), the learning is either small or a good one. If you're a pure web shop, valuing multiplatform, needing iOS/Android/etc... support, you're probably better off with HTML+CSS+JS.

Playing multiplayer games with XNA on the computer (NOT XBox)

I have just started programing and i have done some stuff with XNA. i created my first 3d game similar to minecraft.
but its boring. so i decided to take a look at networking as there was a tutorial on the msdn. website. It turns out that the code there was only for the XBox and i started looking around the Internet to find something more useful until I cam across someone saying that XNA doesn't support what I am looking for.
I am seriously considering buying a book for XNA 4.0 (I hate looking for tutorials for hours) but before I do this, I want to know whether networking is possible between PCs. And if it is not, what should I try to learn?
Managed DirectX?
C++ DirectX?
or something else?
XNA provides access to the "LIVE" system - as in "Xbox LIVE" and "Games for Windows - LIVE".
On the Xbox 360 you can only go through the XNA networking system. There are no other options.
On Windows, on the other hand, you can only use LIVE if you have an agreement with Microsoft. So if that is not the case, your only option is to implement your own networking on top of what the .NET framework provides (XNA runs on the .NET framework). For networked games the classes you are interested in are in the System.Net.Sockets namespace.
Now you could just open up a socket and start sending data. But you probably want to use UDP - which has good performance but is unreliable - so you're probably best off using a library like Lidgren (or one of the others Prix mentioned) to add a reliability layer and a bunch of other nice stuff.
You mention wanting to look for books. I recommend you get this book if you decide to buy one.
I have Learning XNA 3.0 sitting next to me and it really helped teach me a great deal. The guy is great. His new copy doesn't seem THAT different, but different enough such that if you're first learning from Learning XNA 3.0, you'll get a little tripped up.
... also, you can buy it cheaper here.

Adobe Flex vs Silverlight

This is not a pure technical question, but I believe answers will help the RIA community.
We are a software development company working on development of a stock trading product. We chose to use Adobe Flex (in mid of 2008) due to its browser penetration and its maturity relative to Silverlight. We already developed the system, and we are quite happy with it.
Now we are planning to launch the second version of our product, and it will feature a much more advanced user interface -- basically a framework of dockable windows and panes as in Visual Studio 2005 and onward, etc. We searched on the internet and found that the market of 3rd party components for Adobe Flex is still very small, but for Microsoft's Silverlight there are many advanced 3rd party components available e.g. data grids, docking frameworks, etc.
When can we expect the same type of components in Adobe Flex? What do experts think if we develop to the new version of Silverlight (Expertise in Adobe Flex vs. Silverlight is not an issue at the moment, assuming we have to develop everything from scratch).
The launch of next version is expected to be in mid 2010. Any feedback regarding this is highly appreciated.
I can tell you from direct experience that Flex is a more productive platform. I work for a large RIA consultancy that builds a large number of apps with both Flex and Silverlight and we see that equivalent functionality in SL takes about 10-20% longer to develop than in Flex. Data binding support in Flex is significantly easier to use than in SL. I can also tell you that a suitably-experienced Flex developer could easily build a MDI toolkit in Flex with a couple of weeks of development time. So I would advise you to consider hiring experienced Flex developers rather than shelling out money for SL components.
SL does have a big advantage in that C# can be used on both the client and server and business logic can be reused in both tiers. This is significant and should not be discounted. ActionScript doesn't have a server-side counterpart and lacks this ability, although Flex does play nicely with a number of different backend technologies, especially Java using BlazeDS. Silverlight services integration has a variety of options on the .NET side (see Bart's comment below) while Flex can use very performant AMF in both RPC and data push (messaging). BlazeDS is free and open source.
I also think basing your decision for a development platform solely off the availability of 3rd party components is not a great idea. Putting that aside, MS platforms have always had a huge number of component development shops and a wide variety of components to choose from. It's likely even with a smaller market share that SL will have a bigger selection of 3rd party components than Flex moving forward.
Finally, I don't think MS is going to be giving up on Silverlight anytime soon. They are aggressively developing new features for SL4 and the Blend tool offers some innovations for designer/developer interactions that even Adobe is struggling to match with their new Catalyst tool.
If you have to make the decision today, I'd say go with Flex, especially for a public-facing application where you don't want to lose users because they can't or won't install the SL plugin. In 12-18 months I'm confident that SL will give Flex a much bigger run for its money but I don't think it's there, yet.
Although I cannot give you the desired answer, I hope I can give you a couple of good questions and ideas that maybe help you in the process:
City Coder: Flex 3 versus Silverlight 3 in Enterprise development
Microsoft Silverlight vs. Adobe AIR/Flex Debate
I personally think, that Adobe Flash is going to lose a noticeable user base in the near future duo to new features in the upcoming html 5.0 standard. Furthermore I prefer the tools (Visual Studio), addons and languages (C#) over the Adobe equivalents and I would consider these superior. However I have to emphasis that this is only from my perspective.. :)
A few people in this thread assume that you can't develop Flex or Flash-based projects with Visual Studio. From 30th August, 2010 that is no longer true. You may want to look at Amethyst which is a VS visual (drag+drop) Flash Platform IDE with a multi-process debugger, IntelliSense and refactoring: http://www.sapphiresteel.com
best wishes
Huw
actually i am also thorn between the 2. in fact, i still considered Flash, but sort of struck that off because thats more for animations rather than RIAs. with Flex, theres AIR to enable deployment in both desktop and web, tho i havent tried it and dunno how easy isit to use. and i also am not sure if Silverlight can be used as a desktop app anyone?
comparing Flex and Silverlight, i dont think we shld just base our judgment on what is more widely used now. Silverlight maybe something good!
just starting exploring the 2 and find Silverlight's XAML markup more intuitive than Flex mxml. further more Silverlight will integrate with C# which is getting better with LINQ and all. so data binding, an important part of any RIA is better. for Flex, one can probably link up with something like PHP with AMF but seems abit harder from what i saw. that said i am not really familiar with both.
UPDATE: and Flex is open source now while Silverlight closed right? so Flex can be said to be cheaper to use.
One thing to consider is Microsoft's dedication to Silverlight. Silverlight is not taking off. How long are they going to stick with it? If the next version of Silverlight doesn't get significant market penetration, is Microsoft going to continue supporting it?
Even if they do stick with it, and even if it does take off, are they going to do like they did with Internet Explorer: develop it into the most awesome browser available at the time with IE6, and then coast for 5+ years and become a major thorn in developers' hides?
Silverlight doesn't have a lot to do with Windows. People using Silverlight does not make Microsoft much money. There's not an especially compelling business case for MS to push Silverlight.
Silverlight doesn't offer anything to the users that Flash doesn't. It's the users that are going to drive Silverlight adoption, and until there's a compelling case for me to install it on my computer (which it's not, incidentally), it's staying off.
Flex is a natural companion to Flash, which is one of Adobe's flagship products. Adobe's not going to drop Flex. Even if they did, it's entirely open-source, and Flex development could quite definitely proceed even if Adobe fell into the ocean tomorrow. (Flash runtime is not open source, unfortunately, but it's a quite good multiplatform implementation of a mostly open SWF standard, with open source implementations progressing)
I work in a .NET/Flash shop. We use Flex to talk to a .NET back-end. It can be a pain in the ass to get them to interoperate (although not impossible). I like .NET. It would be great to be able to develop our front-end in C#. I would love it. But we're not willing to bet the farm on Silverlight, given MS's technology parade.
One of the most important thing in our decision on our future RIA technology is RTL support (specifically Arabic). I am very disappointed to hear that Arabic(RTL) is still not supported in Silverlight 3.0, on the other hand it is now supported on Adobe Flex 4. and I don't want to apply all non-standard tricks again that we used in our existing version of application (which is based on Flex 3). so Now One problem is solved in Flex but still remains in Silverlight... and still no docking framework in Flex, so it is going to be stalemate I guess.. :).
I will keep you updated regarding any new findings of our research...
One word (or two) --> "Open-source"
The world is going open source. Think android vs apple
How will you run applications for clients on Linux platform with any amount of confidence.
Right now I am not a netflix customer because no "Moonlight" support.
I have three computers at home all running Linux (Cannot shellout money to buy Windoze license) !
Think target market (and where it will be in the next few yrs)
Flex is more compatible with browsers, as it runs on top of Flash. Silverlight, however, needs to be downloaded, which might be a problem for users behind a proxy or network (in a workplace, for example, you can't install things). Flex also has a better framework than Silverlight, so you can customize a component in a few clicks and keystrokes.
I agree with you that VS and C# are more mature than their Flex counterparts (FB3 and ActionScript, respectively), but you'll get used to it quickly.
Then again, I am a Flex developer, and not a Silverlight developer, so my opinion can be somewhat biased. However, I did choose Flex over Silverlight because I thought that it was more compatible (nearly everyone has Flash Player) and has better support than Silverlight, and I don't regret my decision thus far.
If it is a stock trading product, does it stream the stock price in real-time? If it does, the cost of streaming the data will make some difference.
Both of them support some kind of data push (RTMP vs. Socket) and smart polling (RTMPT/RTMPS vs. HttpDuplexPollingChannel).
Infrastructural cost: Flex uses LCDS/BlazeDS while Silverlight uses IIS.
Development cost: RTMP/RTMPT/RTMPS is already defined (and cannot be changed) while you need to define your own protocol for socket (you need to handle security and compression yourself)
From programming perspective, Silverlight should be better since XAML is drawing the interface and C# updates the state of XAML components. There are plenty of C# developers and Expression Studio to create the XAML components.
MXML is relative simple and you need Flash to draw the fancy UI. You can wait for Flex 4 (in beta) with FXG support, however. Then, it might get better support for third-party components.
If you have expertise on both products is hard to say, from my side having an IDE like Visual Studio is a plus (I'm a .net developer), and using the same language on server (services) and client side it's something that makes me feel quite comfortable.
I would say... go for a Proof of Concept, take a week, make two teams (same level approx.), and check in a week (without any formal testing, or formal designing) to progress in Flex and SL (for the third parties they can take advante of all the trial versions). After that week check how far the have gone and their findings.
A waste of time one week? Try to focus as a live wireframe for your final app.
Good luck
Braulio
I don't think I could speculate on when or if Flex will have a similar number of 3rd party components. Many of the Silverlight components developed by companies like Telerik and DevExpress are ports or updates of existing .NET components. You might want to do a survey of companies that develop components for other Adobe products and ask on their forums if they plan to release a Flex product. Aside from that all I have to go on is what's available today and it sounds like you've already done the research on existing technologies. Good luck!
I have worked a bit with Flex but being more .Net oriented I can't say Flex can get any close to Silverlight in terms of developing business apps. Specially with RIA Services V2 and all the suit of .Net framework and visual studio everything is so integrated and professional.
The only reason I would consider not using Silverlight is if the product has public audience and you are going to loose customers due to low penetration of silverlight.
Ther is flex dock : http://code.google.com/p/flexdock/
And there is dock able flex : http://code.google.com/p/dockableflex/

Alternatives to Live/GamerServices for XNA projects?

Using the GamerServices component for XNA to access Xbox/GfW Live for networking purposes requires developers and players each to have a US$100/year subscription to Microsoft's Creators Club. That's not much of an issue for Xbox360 XNA projects as you need the subscription anyway to be able to put your game on the 360.
But for PC games using XNA, requiring developers and players to put that much up each year is pretty crazy just for the access to a player's gamer card. Are there any solutions for XNA games that provide similar benefits to GamerServices? Or are developers pretty much restricted to building their own networking functionality if they don't want to subject their players (and themselves) to that $100/head hit?
Perhaps you could try Lidgren
Please note that games for windows live is now free:
http://www.engadget.com/2008/07/22/games-for-windows-live-now-free/
Since using the Live APIs is your only option on xbox and zune, it makes it a pretty compelling option since your only issue was the cost on windows :-) Especially considering the fact that once game studio 3.0 launches, you'll be able to sell your games on xbox live's new community games section
Edit, upon further investigation, it turns out that the games for windows live stuff is kind of half-baked. The gamerservices library doesn't seem to be included in the redistributable bits. So unless you want to break the EULA, your player would have to install gamestudio. That being said, I do still believe that it's free nonetheless, if not inconvenient.
Well, you can use sockets, obviously, and using sockets you can create a seperate, dedicated server app, which you can't do with Live (as far as I know). You could also try SteamWorks; I haven't heard of anyone trying that, however.

Resources