<?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>open source | Learn C Games Programming Blog</title>
	<atom:link href="https://learncgames.com/tag/open-source/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>Sun, 28 Feb 2021 15:55:49 +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>open source | 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>Finding popular open source projects with libhunt</title>
		<link>https://learncgames.com/finding-popular-open-source-projects-with-libhunt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=finding-popular-open-source-projects-with-libhunt</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Wed, 03 Mar 2021 00:00:40 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[search]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=2807</guid>

					<description><![CDATA[<p>I&#8217;m quite keen on meta-sites. Those are sites that don&#8217;t provide information about sites, applications etc. but they provide ways to find it. I suppose another way to describe this would be to say a categorised search engine for open source. A case in question is libhunt.com. It tracks mentions of open-source projects and software [&#8230;]</p>
The post <a href="https://learncgames.com/finding-popular-open-source-projects-with-libhunt/">Finding popular open source projects with libhunt</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;:128,&quot;href&quot;:&quot;https:\/\/pixabay.com\/users\/lars_nissen-2780243\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2127704&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;:129,&quot;href&quot;:&quot;https:\/\/pixabay.com\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2127704&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260205102120\/https:\/\/pixabay.com\/?utm_source=link-attribution&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:10:45&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-10 06:26:35&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-14 19:22:53&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-18 22:09:15&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-27 11:11:36&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-07 01:19:34&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-12 10:07:08&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-03 02:34:31&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-06 10:26:29&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-09 18:14:47&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-13 02:06:35&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-16 17:56:01&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-20 01:47:21&quot;,&quot;http_code&quot;:403}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 01:47:21&quot;,&quot;http_code&quot;:403},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:130,&quot;href&quot;:&quot;https:\/\/www.libhunt.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260204233555\/https:\/\/www.libhunt.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:10:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-10 06:26:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 22:09:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 15:47:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 01:19:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 10:07:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 02:34:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 10:26:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 18:14:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 02:06:48&quot;,&quot;http_code&quot;:500},{&quot;date&quot;:&quot;2026-04-16 17:55:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 01:47:24&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 01:47:24&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:131,&quot;href&quot;:&quot;https:\/\/www.libhunt.com\/l\/c&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251113162854\/https:\/\/www.libhunt.com\/l\/c&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:10:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-10 06:26:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-14 19:22:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 22:09:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 11:11:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 01:19:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 10:07:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 02:34:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 10:26:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 18:14:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 02:06:40&quot;,&quot;http_code&quot;:500},{&quot;date&quot;:&quot;2026-04-16 17:56:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 09:45:51&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 09:45:51&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:132,&quot;href&quot;:&quot;https:\/\/www.libhunt.com\/l\/c\/t\/game&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260206121400\/https:\/\/www.libhunt.com\/l\/c\/t\/game&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 12:54:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-10 06:26:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 22:09:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 11:11:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 01:19:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 10:07:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 02:34:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 10:26:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 18:14:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 02:06:37&quot;,&quot;http_code&quot;:500},{&quot;date&quot;:&quot;2026-04-16 17:55:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 01:47:19&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 01:47:19&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'></div>
<figure id="attachment_2808" aria-describedby="caption-attachment-2808" style="width: 300px" class="wp-caption alignleft"><img fetchpriority="high" decoding="async" class="size-medium wp-image-2808" src="https://learncgames.com/wp-content/uploads/2021/02/telescope-2127704_640-300x210.jpg" alt="Telescope" width="300" height="210" srcset="https://learncgames.com/wp-content/uploads/2021/02/telescope-2127704_640-300x210.jpg 300w, https://learncgames.com/wp-content/uploads/2021/02/telescope-2127704_640.jpg 640w" sizes="(max-width: 300px) 100vw, 300px" /><figcaption id="caption-attachment-2808" class="wp-caption-text">Image by <a href="https://pixabay.com/users/lars_nissen-2780243/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2127704">Lars_Nissen</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2127704">Pixabay</a></figcaption></figure>
<p>I&#8217;m quite keen on meta-sites. Those are sites that don&#8217;t provide information about sites, applications etc. but they provide ways to find it. I suppose another way to describe this would be to say a categorised search engine for open source.</p>
<p>A case in question is <a title="Link to libhunt.com" href="https://www.libhunt.com/" target="_blank" rel="nofollow noopener">libhunt.com</a>. It tracks mentions of open-source projects and software libraries. So for instance you might want to see the <a title="Link to LibHunt.com searching for C librariues" href="https://www.libhunt.com/l/c" target="_blank" rel="nofollow noopener">most popular C libraries</a> in the last month or even <a title="LInk to LibHunt looking for C Games links" href="https://www.libhunt.com/l/c/t/game" target="_blank" rel="nofollow noopener">games in C</a>,</p>
<p>Of course you aren&#8217;t limited to C or games; there are other open source libraries to look for, or even by the number of GitHub stars.</p>
<p>Libhunt uses the mention of the project on Reddit as it&#8217;s source for finding things. So things can change from day to day or week to week.</p>
<p>&nbsp;</p>The post <a href="https://learncgames.com/finding-popular-open-source-projects-with-libhunt/">Finding popular open source projects with libhunt</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">2807</post-id>	</item>
		<item>
		<title>Tronus Project 1945 &#8211; Coursework</title>
		<link>https://learncgames.com/tronus-project-1945-coursework/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tronus-project-1945-coursework</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Tue, 12 Jan 2021 00:00:54 +0000</pubDate>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[open source]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=2347</guid>

					<description><![CDATA[<p>A university student by the pen name of Tronus has put a project from his 3rd year in his degree course on GitHub. The screenshot shows the game running on my PC. The build folder includes a release folder with game exe plus all dlls and game assets in a resources folder below that so [&#8230;]</p>
The post <a href="https://learncgames.com/tronus-project-1945-coursework/">Tronus Project 1945 – Coursework</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;:254,&quot;href&quot;:&quot;https:\/\/github.com\/TronusGames\/Project-1945-by-Tronus&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20220820045400\/https:\/\/github.com\/TronusGames\/Project-1945-by-Tronus&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 13:17:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 15:26:13&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-16 23:19:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-20 15:23:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-23 21:08:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 12:29:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-04 16:49:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 05:20:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 18:15:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-02 09:11:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 11:19:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 20:30:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 05:10:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-20 09:51:18&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 09:51:18&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:255,&quot;href&quot;:&quot;https:\/\/en.wikipedia.org\/wiki\/1942_(video_game)&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251227023125\/https:\/\/en.wikipedia.org\/wiki\/1942_%28video_game%29&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 13:17:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-14 20:46:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-19 21:28:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-23 12:24:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-01 21:12:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-05 08:05:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-09 11:22:51&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-14 07:26:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 10:02:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 21:52:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 05:10:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 05:15:57&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-21 05:15:57&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:256,&quot;href&quot;:&quot;https:\/\/wiki.libsdl.org\/SDL_Delay&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20221107235102\/https:\/\/wiki.libsdl.org\/SDL_Delay&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 13:18:02&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-14 20:46:41&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-19 21:28:43&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-23 12:24:10&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-01 21:12:33&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-05 08:06:00&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-09 11:22:51&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-14 07:26:56&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-05 10:02:14&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-15 10:26:17&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-22 15:21:39&quot;,&quot;http_code&quot;:404}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-22 15:21:39&quot;,&quot;http_code&quot;:404},&quot;process&quot;:&quot;done&quot;}]'></div>
<p><img decoding="async" class="alignleft size-medium wp-image-2348" src="https://learncgames.com/wp-content/uploads/2021/01/project-1945-300x239.png" alt="Project 1945" width="300" height="239" srcset="https://learncgames.com/wp-content/uploads/2021/01/project-1945-300x239.png 300w, https://learncgames.com/wp-content/uploads/2021/01/project-1945.png 642w" sizes="(max-width: 300px) 100vw, 300px" />A university student by the pen name of Tronus has put a project from his 3rd year in his degree course on <a title="Link to Project 1945 by Tronus on GitHub" href="https://github.com/TronusGames/Project-1945-by-Tronus" target="_blank" rel="nofollow noopener">GitHub</a>. The screenshot shows the game running on my PC. The build folder includes a release folder with game exe plus all dlls and game assets in a resources folder below that so you can run it immediately on Windows. ,</p>
<p>I vaguely remember playing a similar game (<em>a vertical scroller</em>) in arcades back in the 1980s. That game was <a title="Link to Wikipedia on 1942 Game" href="https://en.wikipedia.org/wiki/1942_(video_game)" target="_blank" rel="nofollow noopener">1942</a>.</p>
<p>The 1945 game has been programmed in C and uses SDL2. As always I took a walk through the source just to compare how it was done say compared to my own efforts. One thing I noticed is that he uses a fixed delay of 11 milliseconds each frame in the game loop by calling <a title="Link to libsdl Wiki on SDL_delay" href="https://wiki.libsdl.org/SDL_Delay" target="_blank" rel="nofollow noopener"><strong>SDL_delay</strong></a>(11) rather than setting up the video to sync to the fly back. Is this better or worse? I&#8217;m not sure.</p>
<p>I think I prefer my method in case something takes a bit longer. Having a fixed delay means that you could risk overrunning the 16.666 milliseconds allowed per frame. That could never happen with my asteroids game as syncing to the fly back means my game can take as long as 16.66 milliseconds per frame and still not overrun.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://learncgames.com/tronus-project-1945-coursework/">Tronus Project 1945 – Coursework</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">2347</post-id>	</item>
	</channel>
</rss>
