<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wasm | Learn C Games Programming Blog</title>
	<atom:link href="https://learncgames.com/tag/wasm/feed/" rel="self" type="application/rss+xml" />
	<link>https://learncgames.com</link>
	<description>A blog about C, programming games and my ebook(s).</description>
	<lastBuildDate>Thu, 04 Feb 2021 20:51:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://learncgames.com/wp-content/uploads/2020/03/cropped-favicon-32x32.png</url>
	<title>wasm | Learn C Games Programming Blog</title>
	<link>https://learncgames.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">181446779</site>	<item>
		<title>Amazing multi-platform Asteroids in C#</title>
		<link>https://learncgames.com/amazing-multi-platform-asteroids-in-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=amazing-multi-platform-asteroids-in-c</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Sat, 06 Feb 2021 00:00:08 +0000</pubDate>
				<category><![CDATA[Blazor]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[asteroids]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[wasm]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=2608</guid>

					<description><![CDATA[<p>Asteroids was the first full arcade game I ever wrote in C. Asteroids in C# takes things to a whole new level.  The solution contains 12 projects in all: Three Blazor projects, a WinForms version, a WPF version, a UWP (Universal Windows Platform) and a Xamarin Android Forms version (shown). You can compile and run [&#8230;]</p>
The post <a href="https://learncgames.com/amazing-multi-platform-asteroids-in-c/">Amazing multi-platform Asteroids in C#</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:199,&quot;href&quot;:&quot;https:\/\/github.com\/aesalazar\/AsteroidsWasm&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260114025816\/https:\/\/github.com\/aesalazar\/AsteroidsWasm&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:44:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-10 10:18:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 19:42:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-19 19:32:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 02:11:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 13:36:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-06 14:36:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 03:15:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 12:44:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 21:24:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 16:01:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 03:51:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 00:40:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 00:41:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 23:23:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 01:38:43&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-21 01:38:43&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:200,&quot;href&quot;:&quot;https:\/\/docs.microsoft.com\/en-us\/xamarin\/xamarin-forms\/user-interface\/graphics\/skiasharp\/#:~:text=SkiaSharp%20is%20a%202D%20graphics,graphics%2C%20bitmaps%2C%20and%20text.&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20220904010537\/https:\/\/docs.microsoft.com\/en-us\/xamarin\/xamarin-forms\/user-interface\/graphics\/skiasharp\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:44:16&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-02-06 12:44:16&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<p><img fetchpriority="high" decoding="async" class="alignleft size-full wp-image-2609" src="https://learncgames.com/wp-content/uploads/2021/02/android-asteroids.png" alt="Android asteroids" width="395" height="838" srcset="https://learncgames.com/wp-content/uploads/2021/02/android-asteroids.png 395w, https://learncgames.com/wp-content/uploads/2021/02/android-asteroids-141x300.png 141w" sizes="(max-width: 395px) 100vw, 395px" />Asteroids was the first full arcade game I ever wrote in C. <a title="Link to C# Asteroids on GitHub" href="https://github.com/aesalazar/AsteroidsWasm" target="_blank" rel="nofollow noopener">Asteroids in C#</a> takes things to a whole new level.  The solution contains 12 projects in all: Three Blazor projects, a WinForms version, a WPF version, a UWP (<em>Universal Windows Platform</em>) and a Xamarin Android Forms version (shown).</p>
<p>You can compile and run any of the projects though you will need to install and setup a suitable SDK and emulated (<em>or a real device</em>) for the Android.</p>
<p>Written by Howard Uman and ported by Ernie Salazar, this is a wireframe asteroids, more true to the original than my own raster version. Out of curiosity, I created an Android 9.0 emulator (<em>I don&#8217;t have a recent Android phone)</em> and compiled then deployed it to the emulator. The screenshot is grabbed directly from the emulator which has a less than ideal screen ratio. This would work better on a tablet.</p>
<p>The structure of the C# Solution is interesting. All of the game code is in the Base project. All of the other platforms just host the main game window. The game uses the <a title="Link to SkiaSharp documentation" href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/#:~:text=SkiaSharp%20is%20a%202D%20graphics,graphics%2C%20bitmaps%2C%20and%20text." target="_blank" rel="nofollow noopener">SkiaSharp</a> graphics framework for Android Forms.</p>
<p>This is a very nice open source project and an excellent way to see how Blazor works in both Wasm and Server mode, not to mention the Android, WinForms/WPF and UWP versions.</p>
<p>I have an interest in Blazor which lets you write C# code that runs in the browser very easily.  With a bit of workj, this should be runnable on a Linux webserver as well. Something for me to try&#8230;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://learncgames.com/amazing-multi-platform-asteroids-in-c/">Amazing multi-platform Asteroids in C#</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2608</post-id>	</item>
	</channel>
</rss>
