<?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>Sea game | Learn C Games Programming Blog</title>
	<atom:link href="https://learncgames.com/tag/sea-game/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>Fri, 19 Feb 2021 10:45:58 +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>Sea game | 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>More Thoughts on the Blazor game design</title>
		<link>https://learncgames.com/more-thoughts-on-the-blazor-game-design/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=more-thoughts-on-the-blazor-game-design</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Fri, 19 Feb 2021 00:00:05 +0000</pubDate>
				<category><![CDATA[Blazor]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Sea game]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=2700</guid>

					<description><![CDATA[<p>This is the latest in a series on the design of a web game based loosely on a no-longer-run game called Inselkampf. It won&#8217;t be exactly the same as the original game, I have my own ideas. To see other articles in this series, click here or on the category: Blazor on the right hand [&#8230;]</p>
The post <a href="https://learncgames.com/more-thoughts-on-the-blazor-game-design/">More Thoughts on the Blazor game design</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;:162,&quot;href&quot;:&quot;https:\/\/opengameart&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:163,&quot;href&quot;:&quot;https:\/\/docs.microsoft.com\/en-us\/aspnet\/core\/tutorials\/signalr-blazor?view=aspnetcore-5.0&amp;tabs=visual-studio&amp;pivots=webassembly&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20211128122449\/https:\/\/docs.microsoft.com\/en-us\/aspnet\/core\/tutorials\/signalr-blazor?view=aspnetcore-5.0&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:21:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 06:22:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-18 18:15:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 19:14:35&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-07 19:08:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-17 09:49:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 02:34:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-06 10:26:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 18:14:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 02:06:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 17:56:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-20 01:47:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-23 06:14:17&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-23 06:14:17&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:164,&quot;href&quot;:&quot;https:\/\/kenney.nl&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260205082758\/https:\/\/www.kenney.nl\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:21:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-10 15:36:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-15 13:29:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 18:15:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 19:14:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-05 01:30:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 22:13:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 09:49:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-02 16:20:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 02:27:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 10:15:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 18:07:46&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-15 21:50:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 09:48:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 17:39:18&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-22 17:39:18&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:165,&quot;href&quot;:&quot;https:\/\/opengameart.org&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260206120722\/https:\/\/opengameart.org\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:22:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 06:22:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 18:15:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 19:14:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 01:01:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 09:49:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 02:34:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 10:26:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 18:14:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 02:06:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 12:37:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 09:45:50&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 09:45:50&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:166,&quot;href&quot;:&quot;https:\/\/www.reddit.com\/r\/gameassets&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251230120721\/https:\/\/www.reddit.com\/r\/gameassets\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:22:53&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-13 06:22:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 18:15:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 19:14:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 01:01:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 09:49:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 02:34:40&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-06 10:26:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 18:14:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 10:05:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 12:37:55&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-20 09:45:47&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 09:45:47&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<figure id="attachment_2705" aria-describedby="caption-attachment-2705" style="width: 248px" class="wp-caption alignleft"><img fetchpriority="high" decoding="async" class="size-medium wp-image-2705" src="https://learncgames.com/wp-content/uploads/2021/02/opengameart-248x300.png" alt="OpenGameArt" width="248" height="300" srcset="https://learncgames.com/wp-content/uploads/2021/02/opengameart-248x300.png 248w, https://learncgames.com/wp-content/uploads/2021/02/opengameart.png 479w" sizes="(max-width: 248px) 100vw, 248px" /><figcaption id="caption-attachment-2705" class="wp-caption-text"><a href="https://opengameart" target="_blank" rel="noopener">OpenGameArt</a></figcaption></figure>
<p>This is the latest in a series on the design of a web game based loosely on a no-longer-run game called Inselkampf. It won&#8217;t be exactly the same as the original game, I have my own ideas. To see other articles in this series, click here or on the <a title="Link to articles in category Blazor" href="https://learncgames.com/category/blazor/" target="_blank" rel="nofollow noopener">category: Blazor</a> on the right hand side.</p>
<p>There are two models with Blazor. Server and WebAssembly. Both are similar but the crucial difference is that WebAssembly can run completely standalone whereas Server needs a connection to a webserver. Server uses <a title="Link to article using SignalR with Blazor" href="https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr-blazor?view=aspnetcore-5.0&amp;tabs=visual-studio&amp;pivots=webassembly" target="_blank" rel="nofollow noopener">SignalR</a> technology.</p>
<p>The danger with using the Server model is that each person playing the game implicitly creates a connection. With the WebAssembly version, there is no direct connection though it makes sense to have a connection of sorts perhaps a Restful type interface.  This means running a query to fetch game data and then running update queries.</p>
<p>So Blazor with WebAssembly it is. Why Blazor? Because it simplifies updating controls on the page.</p>
<h3>Looking after Time</h3>
<p>The nature of this type of game is any construction (<em>buildings and units</em>) takes a finite length of time. which can range from seconds to a day or so  I want to see how long before my gold mine goes up a level and so on. It&#8217;s normal to have all times countdown in the browser. This should put no strain on the server as its running in the browser. Keeping server and client in sync needs a bit of care in case someone figures out how to make the browser code run faster. Once it reaches 0, an update should be sent to the server which should do a quick comparison with its time and if shenanigans has occurred, return an update status and resync the browser to the server. The rule is &#8220;<strong>If you give em a chance to cheat- they will</strong>&#8220;.</p>
<h3>Procuring Graphics</h3>
<p>Much though I like the Inselkampf graphics for all the buildings, I&#8217;m not going to use theirs. It&#8217;s infringing copyright (<em>reimagining the game is not copyright infringement BTW!</em>) . As well as the <a title="Link to Kenney.nl free graphics" href="https://kenney.nl/" target="_blank" rel="nofollow noopener">free kenney graphics</a> that I&#8217;ve <a title="Link to blog about MatchThree" href="https://learncgames.com/working-on-the-match-three-game/" target="_blank" rel="nofollow noopener">mentioned before</a> and various other websites such as <a title="Link to OpenGameArt" href="https://opengameart.org/" target="_blank" rel="nofollow noopener">opengameart</a>, (<em>shown in the screenshot</em>) there is also the Reddit <a title="Link to reddit game assets subreddit" href="https://www.reddit.com/r/gameassets/" target="_blank" rel="nofollow noopener">game assets subreddit</a> so between these and some others I hope I can find what I&#8217;m looking for.  My requirements are quite modest.</p>
<p>&nbsp;</p>The post <a href="https://learncgames.com/more-thoughts-on-the-blazor-game-design/">More Thoughts on the Blazor game design</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">2700</post-id>	</item>
	</channel>
</rss>
