Developing a 2D Game for Windows Phone 8 [closed]
Asked Answered
S

5

30

I would like to develop a 2D game for Windows Phone 8. I am a professional Application Developer by day and this seems like a fun hobby.

But I have been disapointed trying to get going. It seems that 2D games (far and away the majority of games) do not have an API available.

It seems the Windows Phone makers did not include support for Direct2D. So unless you are planning to make a fully 3D app, you are out of luck.

So, if you just wanted to make a nice 2D app, these are your choices:

  1. Write your game using Xaml and C# (Performance Issues?)
  2. Write your game using Direct3D and but only draw on one plane.
  3. Use the DirectX Took Kit found on codeplex. It allows you to use the dying XNA framework's API for development.

Number 3 seems the best for my game. But I hate to waste my time learning the XNA api when Microsoft has clearly stated that it is not going to be supported going forward.

Number 2 would work, but 3D development is really hard. I would rather not have to do all that to get the 2D effect. (Assuming Direct2D is easier. I have yet to look into that.)

Number 1 seems the easiest, but I worry that my app will not run well if it is based off of xaml rendering rather than DirectX.

What is the suggested method from Microsoft?

And who decided that 2D games were going to get shortchanged?

Stinkstone answered 25/11, 2012 at 4:59 Comment(4)
Check out the Nokia developer guide: developer.nokia.com/Community/Wiki/…Chiccory
@Chiccory - That uses the XNA based DirectX Toolkit... I guess I could do that, but I don't really want to spend my effort learning the XNA API when MS has said they do not support it on Win phone 8.Stinkstone
Perhaps: #13168651Chiccory
Note that DirectX Tool Kit is a C++ library and is not in any direct way related to "XNA frameworks". Rather, it is a C++ library that takes the design of the XNA C# components as inspiration and tries to implement basically the same thing--and one of the authors is ShawnHar the former graphics lead on XNA GS. It has no dependencies at all on the XNA framework. It basically lets you use experience with XNA Game Studio C# if you are transitioning to native C++ development. For a 2D game you can get a really long way with SpriteBatch.Mucronate
U
5

I would also like to point out that Unity ( http://www.unity3d.com ) , has tools for creating 2D games, and releasing for Windows Phone 8, and iOS/Android. Apologies for the late response, but this is still an open question... ;-)

You can use C# in Visual Studio , or Monodevelop to create your scripts, and Unity already supports models/textures created from various tools (3DS Max, Maya, Photoshop, Gimp etcc).

It is a professional game engine, and performance wise can render millions of polygons with no problems ( personally tried and tested for 3D ), as it should.

Their 2D tools are relatively new, but there are already plenty of tutorials and Unity documentation is very good in general.

( http://unity3d.com/unity/whats-new )

Good luck.

Under answered 19/11, 2013 at 5:29 Comment(0)
T
15

In my opinion, games development for both Windows 8 and Windows Phone 8 has taken a step back. This is mainly due to the dropping of XNA in my opinion, but it really doesn't seem like something they have focused on making easier.

To answering your question, though learning yet another API like XNA, it is still worth doing. Thanks to MonoGame, you will be able to take what you learn and target multiple platforms. Quite a lot of contributors are working on MonoGame and I can see it living on for quite some time.

So, if you are willing to learn XNA, you could simply make an XNA 2D game for the Windows Phone 7 platform. These titles (Microsoft has said) will run on Windows Phone 8** (not the case, see update). Sounds counter intuitive I know, but unless you really need to use some of the new functionality of WP8, target 7.1 and use XNA. It's a polished framework is great for making 2D games (Check out Bastion for example!). Once you have finished making your 2D game for WP7/WP8 you can target iPhone, Android and other platforms with very little code change by referencing MonoGame.

Maybe not a great option, but another one to add to the list. Hope that helps.

Update Turns out MS has really screwed up with WP7 to WP8 development. From the above method you will still be able to get the advantages of cross platform development to iOS, Android etc, but I wouldn't have a lot of confidence in WP8 as compatibility issues are starting to show up and WP7 titles are being omitted from the store for WP8 devices.

Tshombe answered 25/11, 2012 at 6:6 Comment(3)
MonoGame's "documentation" is absolutely horrible.Whitebook
@Jase For the most part, the XNA documentation should hold true, but yes, there is still missing parts and 'gotchas' in MonoGame which aren't well documented. MonoGame isn't the perfect solution, but considering it is an OSS project that has to cover a lot of platforms and functionality, it's doing pretty damn well. You could always help out with the documentation problem or at least flag it in their github repository :).Tshombe
Yeah, I would love to help out with the documentation but I'm afraid I wouldn't be of much help, since I'm pretty new to XNA and wouldn't really know what I'm writing :)Whitebook
T
5

XNA will deploy to PC, Windows phone and Xbox360, visual studio will even copy separate versions of your project for you. XNA is a great tool for cranking out a quick 2D game. If you want to do this as just a test run, which it sounds like you are, XNA is the way to go. As simple as XNA is, you can do some really complicated stuff with shaders too. I don't think you'll get bored anytime soon.

If you decide that you really like game development, go ahead and learn DirectX. Start with a fresh slate and a little experience with the quirkiness of games before diving right into 3D game Dev. Programming a video game is much more like creating an operating system compared to the rest of the software world. Getting your feet wet with XNA regardless of your target platform is your best bet.

Tereasaterebene answered 25/11, 2012 at 6:23 Comment(2)
But learning XNA right now is similar to spending time to learn WinForms. It is a functioning technology, but it is wasted effort for future expansion of your skill set.Stinkstone
If you think that XNA is a waste of time, I would use DirectX and just make the frustum a cube. FYI, good game development happens when the programmer on the team is excellent at rapid prototyping. Game Designers will want to see if their ideas are even fun, way before million are spent on a possibly bad idea. XNA as a rapid prototyping tool is amazing, much better than flash. One can exhibit a working game mechanic with XNA relatively quickly, much faster than if you were to use DirectX. On top of that, XNA is one of the best learning tools for aspiring game developers.Tereasaterebene
U
5

I would also like to point out that Unity ( http://www.unity3d.com ) , has tools for creating 2D games, and releasing for Windows Phone 8, and iOS/Android. Apologies for the late response, but this is still an open question... ;-)

You can use C# in Visual Studio , or Monodevelop to create your scripts, and Unity already supports models/textures created from various tools (3DS Max, Maya, Photoshop, Gimp etcc).

It is a professional game engine, and performance wise can render millions of polygons with no problems ( personally tried and tested for 3D ), as it should.

Their 2D tools are relatively new, but there are already plenty of tutorials and Unity documentation is very good in general.

( http://unity3d.com/unity/whats-new )

Good luck.

Under answered 19/11, 2013 at 5:29 Comment(0)
A
0

You could use MonoGame. It is a game development framework, actually the current implementation of XNA game studio . It can deploy to Windows Phone 8 along with Android , Linux and more .

Ahl answered 29/10, 2014 at 16:59 Comment(0)
F
0

Another possibility is Marmalade which has a powerful 2D physics engine included and has the additional benefit of being cross platform so you can use it for Android, Apple, Kindle and maybe others as well as Windows Phone. The drawback is that it is C++ based and requires a fair amount of work and doesn't have an IDE which can come close to Visual Studio.

Freehold answered 25/12, 2014 at 15:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.