Building a Cross Platform Game with MonoGame – Part 2

Thursday, March 19, 2015

In the first part we’ve seen how to install MonoGame for use with Visual Studio and how to create a new project. We’ve seen some of the boilerplate code created by the project wizard and discussed briefly the game asset file. We are now ready to put our own special stuff into the game. We’ll start by doing some cleanup, as our project has the default spinning cube. I’ve also renamed the Game class from Game1 to InavdersGame and the C# file correspondingly. Open InvadersGame.cs and remove all the code in the Draw method except the Clear call:protected override void Draw(GameTime...
one comment

Building a Cross Platform 2D Game with MonoGame (Part 1)

Thursday, March 12, 2015

Ever since Microsoft ditched the XNA framework (for whatever reason), it didn’t provide any viable alternative for .NET developers. Microsoft attempted to encourage developers to switch to native DirectX to do game development (and other apps that would otherwise benefit from XNA). But DirectX is not a real alternative “out of the box” for .NET (and even C++) developers; DirectX is very low-level, and it’s almost impractical to create a full-fledged game with DirectX directly; DirectX is a great base for game engines. For writing an actual game, developers typically use some framework that sits on top of...

File Open Picker in Windows Phone 8.1

Wednesday, February 18, 2015

The Windows 8 Store model introduced the FileOpenPicker class, which is kind of the modern replacement for the classic Windows open file dialog. Technically, it’s more than that – it can get files from “virtual” locations such as Facebook and OneDrive; and besides, it looks much better than the classic open file dialog. Showing the FileOpenPicker is just a matter of calling PickSingleFileAsync or PickMultipleFilesAsync and awaiting for the result: var picker = new FileOpenPicker {         FileTypeFilter = { ".jpg", ".png" },         ViewMode = PickerViewMode.Thumbnail }; var file = await picker.PickSingleFileAsync();   When Universal apps came along, it...
no comments

WRL Class Library Template for Windows Phone 8.1

Monday, October 6, 2014

The Windows Runtime Library (WRL) is a C++ class library that can be used to author Windows Runtime components in standard C++, without resorting to the C++/CX extensions. The flip side is that it’s much more verbose than C++/CX, looks somewhat similar to authoring COM components with the Active Template Library (ATL). Also, WRL can be used to consume WinRT types without any special extensions. Visual Studio does not provide a project template out of the box for authoring WinRT components with WRL. The team at Microsoft, however, created such a template back in the Windows 8, Visual Studio...
no comments

“Universal” Mandelbrot

Wednesday, September 10, 2014

Those of you following my blog may have noticed a somewhat “obsessiveness” with the Mandelbrot Set. In the past, I’ve created a WPF version and a C++ AMP version (and privately a few more versions). I thought it was high time to write yet another version as a “Universal” app, running on Windows 8.1 and Windows Phone 8.1, while sharing as much code and XAML as possible. My approach was to port the WPF version to universal. First, I created a blank new Universal App project in C#: This results in 3 projects being created – Mandelbrot.Windows, Mandelbrot.WindowsPhone...
one comment

Data Binding for a WPF TreeView

Saturday, July 12, 2014

Although the Windows Runtime (WinRT) is all the hype these days (in the Microsoft world at least), WPF is still in heavy use in the “desktop apps” space. To me, WPF is the inspiration for everything XAML-based that came out after it – mainly Silverlight and WinRT. WinRT (and Silverlight before it) still plays catchup to all the WPF features (although WinRT has some nice features not present in the current version of WPF) – there’s even a “user voice” asking to bring some of WPF’s features to WinRT, such as multi bindings, binding in style setters, data typed...
one comment

My DevGeekWeek 2014 Session Demos

Sunday, June 22, 2014

Today I presented three sessions in the DevGeekWeek 2014 conference held in the Daniel Hotel in Hertzliya (Israel). The session were part of the Core .NET and C# track. My three sessions were on the Task Parallel Library (1), Async programming with C# 5.0 (2) and C# Tips with some discussion of C# 6.0 features (3). Another session was given by my colleague, Igal Tabachnik on building compiler extensions with Roslyn. Thank you all for attending, although I know it was challenging in the first half day, at least, with the A/C cranked up (or should I say...
no comments

DevGeekWeek 2014

Monday, May 26, 2014

The DevGeekWeek 2014 conference is scheduled for the 22-26 of June and will be held in the Daniel Hotel in Hertzelia (Israel). This is a developer oriented conference with a lot of great sessions and topics. We at CodeValue are managing and delivering the .NET track (officially called “Extreme .NET with C#”) consisting of 6 full day sessions. There are other tracks covering things like mobile development, Java based development, User Experience, Database development, and more. I am managing the CodeValue sessions along with my colleague Alon Fliess. Our track consists of the following full day...

Create a second accent color in Windows Phone 8.1 (kinda)

Saturday, May 17, 2014

Windows Phone has the notion of an “accent color” that appears as the default background for transparent tile areas on the home screen; apps use it extensively for various purposes as they assume the user really likes that color. Personally, I like darker colors with the dark theme on the home screen, as the white text is clear and pleasant. However, apps that use the accent color for text on a black background make the text hard to read sometimes. In these cases I wish I had selected a brighter accent color. With Windows Phone 8.1 we can actually...
no comments

Universal Apps in Windows 8.1 and Windows Phone 8.1

Sunday, April 20, 2014

Now that the Build 2014 conference is over and the dust begins to settle, it’s time to look at what we’ve got. And there’s plenty to look at. In this post I’d like to take a closer look at Universal apps, their structure and possible future. The before Before these so-called “universal” apps, creating apps for Windows 8.x Store and Windows Phone 8 was mostly a two-app project. Sure, some logic code could be shared via Portable Class Libraries (PCL), but the common surface of PCLs was too small, leading to many #if/#endif statements. Also, sharing XAML was extremely...
one comment