<?xml version="1.0"?>
<rss version="2.0"><channel><title>Collaborations (un-paid) Latest Topics</title><link>https://www.html5gamedevs.com/forum/6-collaborations-un-paid/</link><description>Collaborations (un-paid) Latest Topics</description><language>en</language><item><title>Looking For Excellent Casino Type Games - HTML5 Cross Platform</title><link>https://www.html5gamedevs.com/topic/16470-looking-for-excellent-casino-type-games-html5-cross-platform/</link><description><![CDATA[
<p><span style="font-size:18px;"><strong>We are a games development company based in the UK, which traditionally develops games in-house. We distribute games globally to regulated gaming markets in the online Casino sector. </strong></span></p><p> </p><p><span style="font-size:18px;"><strong>We are now looking for interesting high quality Casino type products from 3rd party developers, which could be integrated into our platform for delivery to our excellent client base.</strong></span></p><p> </p><p><span style="font-size:18px;"><strong>Games should be playable on Desktop, Tablet &amp; Mobile.</strong></span></p><p> </p><p><span style="font-size:18px;"><b>Revenue generated from your game(s) delivered via our platform to our clients would be split with you - Rate to be negotiated on a game by game basis.</b></span></p><p> </p><p><strong><span style="font-size:18px;">Contact: jimpreedy@micromarketltd.com </span></strong></p>
]]></description><guid isPermaLink="false">16470</guid><pubDate>Fri, 14 Aug 2015 10:17:04 +0000</pubDate></item><item><title>Opportunity for HTML5 Game Developers</title><link>https://www.html5gamedevs.com/topic/73491-opportunity-for-html5-game-developers/</link><description><![CDATA[<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Hi everyone,
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	I’m building<span> </span><strong>PixelLicense</strong>, a platform designed to help HTML5 game developers get their games in front of small browser game portals, brands, and other potential buyers.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	The idea is simple: instead of developers having to search for clients, negotiate manually, and guess whether a game will perform, PixelLicense lets interested buyers<span> </span><strong>test games through a unique embed link</strong>, track basic performance data, and then license the games that actually work for their audience.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	For developers, the risk is very low:
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	You do not have to pay anything upfront.<br />
	You do not have to give away ownership of your game.<br />
	You do not have to make the game exclusive unless you choose to.<br />
	You can keep selling or publishing your game elsewhere.<br />
	You choose the terms of your agreements, including pricing, duration, exclusivity, and other conditions.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	PixelLicense is especially looking for existing<span> </span><strong>HTML5/WebGL browser games</strong><span> </span>that could be licensed, tested, customized, or monetized through small portals and campaign-based use cases.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	The platform can help provide:
</p>

<ul style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<li>
		<p>
			Unique test links for each potential buyer
		</p>
	</li>
	<li>
		<p>
			Basic analytics like plays, loads, average play time, and active domains
		</p>
	</li>
	<li>
		<p>
			Clear licensing terms
		</p>
	</li>
	<li>
		<p>
			Optional customization requests
		</p>
	</li>
	<li>
		<p>
			A new channel to reach buyers without giving up your rights
		</p>
	</li>
</ul>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	This is still an early-stage project, so I’m currently looking for developers who would be open to testing the model with one or more existing games.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	If you have HTML5 games available for licensing, distribution, or non-exclusive deals, I’d be happy to connect and explain the process.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Thanks, Mauro.       <a href="https://pixellicense.io/" rel="external nofollow" style="background-color:transparent;color:#1a202c;">https://pixellicense.io/</a> 
</p>
]]></description><guid isPermaLink="false">73491</guid><pubDate>Sat, 30 May 2026 05:07:43 +0000</pubDate></item><item><title>Looking for student or student age artist and any other help for clay.io competition</title><link>https://www.html5gamedevs.com/topic/4825-looking-for-student-or-student-age-artist-and-any-other-help-for-clayio-competition/</link><description><![CDATA[
<p>Hi, I'm Cutler Cox. I am a junior in highschool who is looking for people to work with on the <a href="http://clay.io/gotgame" rel="external nofollow">"Student Game Developers: Got Game?"</a> competition by clay.io. </p><p>I am a beginning coder, so I am not going to be perfect, but I work hard to be the best I can be. I'm looking for an artist, but other roles are welcome because I would like this game to be polished and well thought out. </p><p>Most likely the project will be in phaser, but if I am unable to get it going on that, I'll go for impact.js because of the great available resources, and the competition gave me a free license.</p><p>Once again, all help is welcome, but there is no promise of pay for anyone. If we get the game is good and we put in ads, the revenue will be split between all the collaborators.</p><p>Thanks in advance!</p><div> </div>
]]></description><guid isPermaLink="false">4825</guid><pubDate>Sun, 16 Mar 2014 17:17:34 +0000</pubDate></item><item><title>I offer cooperation in promotion - NO MONEY INVOLVED</title><link>https://www.html5gamedevs.com/topic/58523-i-offer-cooperation-in-promotion-no-money-involved/</link><description><![CDATA[<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Hello!
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	I am quite active in social media. I have nearly 5k friends on FB, over 1k followers on X, over 8k on Insta. I am also active on Deviant Art, itch and many RPG traditional forums.
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	So, I can publish posts about Your content, like/follow/repost, rate/comment on itch, invite my friends to follow Your FB fanpage etc. In return I would just ask for similar help from You. No money involved! Mutual help only.
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	 
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	<span style="background-color:#ffffff;color:#2a3c42;font-size:14px;">Here You can see links to my some accounts:</span>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	 
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Facebook:<span> </span><a href="https://www.facebook.com/profile.php?id=61563758184058" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://www.facebook.com/profile.php?id=61563758184058</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	X:<span> </span><a href="https://x.com/niebedepodawac" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://x.com/niebedepodawac</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Instagram:<span> </span><a href="https://www.instagram.com/adeptus777/" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://www.instagram.com/adeptus777/</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Mastodon:<span> </span><a href="https://mastodon.social/@adeptusrpg" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://mastodon.social/@adeptusrpg</a><span> </span>,<span> </span><a href="https://mstdn.games/@adeptus" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://mstdn.games/@adeptus</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Bluesky:<span> </span><a href="https://bsky.app/profile/adeptus77.bsky.social" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://bsky.app/profile/adeptus77.bsky.social</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	DeviantArt:<span> </span><a href="https://www.deviantart.com/adeptusgedeon" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://www.deviantart.com/adeptusgedeon</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Itch.io:<span> </span><a href="https://adeptus7.itch.io/" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://adeptus7.itch.io/</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Wordpress:<span> </span><a href="https://adeptusrpg.wordpress.com/" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://adeptusrpg.wordpress.com/</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Wattpad:<span> </span><a href="https://www.wattpad.com/user/Adeptus77" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://www.wattpad.com/user/Adeptus77</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Youtube:<span> </span><a href="https://www.youtube.com/watch?v=KCdlph835qc" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://www.youtube.com/watch?v=KCdlph835qc</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Tumblr:<span> </span><a href="https://www.tumblr.com/blog/notesofadeptus" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://www.tumblr.com/blog/notesofadeptus</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Medium:<span> </span><a href="https://medium.com/@marekzegarek77777" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://medium.com/@marekzegarek77777</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	GameJolt:<span> </span><a href="https://gamejolt.com/@Adeptus77" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://gamejolt.com/@Adeptus77</a>
</p>

<p style="background-color:#ffffff;color:#2a3c42;font-size:14px;">
	Patreon:<span> </span><a href="https://patreon.com/adeptusrpg?utm_medium=unknown&amp;utm_source=join_link&amp;utm_campaign=creatorshare_creator&amp;utm_content=copyLink" rel="external nofollow" style="color:#0045ac;font-size:1em;">https://patreon.com/adeptusrpg?utm_medium=unknown&amp;utm_source=join_link&amp;utm_campaign=creatorshare_creator&amp;utm_content=copyLink</a>
</p>
]]></description><guid isPermaLink="false">58523</guid><pubDate>Wed, 29 Oct 2025 10:34:18 +0000</pubDate></item><item><title>hrani.eu - Game server with browser games</title><link>https://www.html5gamedevs.com/topic/55843-hranieu-game-server-with-browser-games/</link><description><![CDATA[<p>
	I m looking for PHP or content adder or developer on project <a href="https://hrani.eu" rel="external nofollow">https://hrani.eu</a>. Just beginner, it s simply way written.
</p>

<p>
	Contact e please. In future paid way cooperation.
</p>
]]></description><guid isPermaLink="false">55843</guid><pubDate>Wed, 10 Apr 2024 12:13:40 +0000</pubDate></item><item><title>Looking for beginner game developers to start a new group to share, learn and create games.</title><link>https://www.html5gamedevs.com/topic/28539-looking-for-beginner-game-developers-to-start-a-new-group-to-share-learn-and-create-games/</link><description><![CDATA[
<p>
	Hello, I'm a web programmer with 3 years of experience (currently a senior developer). I've always been a fan of videogames and now I'm starting learning game development just for fun. Like in any type of development , you always face problems and learn of those. Sharing is the strongest tool to learn, you help other people to prevent/fix mistakes and they help you. 
</p>

<p>
	<strong>What am I looking for?: </strong>People like me that is learning to develop games and want to meet other people to make games with them, share experiences, ask&amp;answer questions.
</p>

<p>
	<strong>How will we organize? </strong>I have experience managing large Telegram groups and also creating bots for groups. It is a good starting point since most of the people always carry the phone everywhere and also has a web/desktop application, also Telegram offers us a direct communication without compromising your privacy (you don't need to give real info or phone number to the rest of the group). If we start growing, we can just move to another platform you want (Discord, Slack, whatever is of your preference).
</p>

<p>
	<strong>Do you have any project scheduled? </strong>Yes, I want to build a fun roguelike, here is my current roadmap of the game:
</p>

<p>
	<img alt="bWWa7fW.png" class="ipsImage" height="578" src="http://i.imgur.com/bWWa7fW.png" width="1000" /></p>

<p>
	<b>I am an artist, can I join? </b>Sure! I'm sure you can learn from us and we can learn from you, Keep in mind that sound artists, level designers, programmers.. work together and they need to understand all the other positions to work properly.
</p>

<p>
	 
</p>

<p>
	Of course this is a flexible diagram, I don't do this as my job and I don't have any deadlines, creating a roadmap just helps me with organization so I don't start wrongly (which with end even worse :P). Have in mind that my only goal is just learning, I'm not in a rush to make money or finding a job <img alt=":)" data-emoticon="" height="20" src="https://www.html5gamedevs.com/uploads/emoticons/default_smile.png" srcset="https://www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x" title=":)" width="20" /></p>

<p>
	 
</p>

<p>
	Just feel free to contact me if you want to join or if you doesn't like something of my post.
</p>
]]></description><guid isPermaLink="false">28539</guid><pubDate>Sun, 19 Feb 2017 12:45:14 +0000</pubDate></item><item><title>Mindmapping and interactive education to a new level - A Challenge</title><link>https://www.html5gamedevs.com/topic/9527-mindmapping-and-interactive-education-to-a-new-level-a-challenge/</link><description><![CDATA[
<p>Hello, everyone</p><p> </p><p>I am presenting a project which will be a good contender to immersive navigation environment, but the immediate goal is a mindmapping tool.</p><p>Programmers skilled in 3d, dataminning, integrating big data, and others will be essencial to the development.</p><p> </p><p>A challenge is here for programmers who dwell in visual thinking and make use of mindmaps and would like to improve them.</p><p>A challenge to build a 3d environment for mindmaping, with stunning compartmentalization and interaction, recursiveness, big data integration, and enhanced visualization.</p><p> </p><p>I have a couple of ideas on how to proceed for a good base, and a couple of interconnected mindmaps I would gladly beta test on, and I'm sure if we share to the mindmaping community, new ideas and concepts will emerge to better a product that will be, ultimatelly, a dynamic tool for all sorts of navigation and interaction with data.</p><p> </p><p>V2.0 will include a separate class which retrieves and catalogues your browser favorites, retrieves the tags from each, and draws the relations inspired by what was achieved here <a href="http://www.bestiario.org/research/videosphere/" rel="external nofollow">http://www.bestiario.org/research/videosphere/</a>, then creating an interactive representation.</p><p>But that's for later...</p><p> </p><p>I am a private individual, I don't have commercial interests in this endeavour, and am willing to share the ideas with people interested, and with the ability to do it, so I can see it come true.</p><p> </p><p>I initially posted this before reading the guidelines, for which I apologize.</p>
]]></description><guid isPermaLink="false">9527</guid><pubDate>Mon, 29 Sep 2014 04:15:16 +0000</pubDate></item><item><title>Looking for a level computer game graphic designer</title><link>https://www.html5gamedevs.com/topic/52188-looking-for-a-level-computer-game-graphic-designer/</link><description><![CDATA[<p>
	Good afternoon friend<br />
	I have an idea for a new and realistic computer game and I'm looking for a game graphic designer on a voluntary basis<br />
	I already have a programmer, but we lack a high-level game graphic designer<br />
	You can send me a message on Discord with the following number:<br />
	    yoron#2972<br />
	I'd be happy to talk to you............<br />
	Thanks!...
</p>
]]></description><guid isPermaLink="false">52188</guid><pubDate>Sun, 12 Mar 2023 16:23:24 +0000</pubDate></item><item><title>Sound Designer looks for collab!</title><link>https://www.html5gamedevs.com/topic/52147-sound-designer-looks-for-collab/</link><description><![CDATA[<p>
	Hello everyone, I'm a sound and visual artist, intagram.com/amitabha.art , at the moment I'm looking for a game audio designer (Wwise/Fmod) job in a game dev, now in the stage of creating a portfolio, my telegram is t.me/LSD1943, DM me to collab!!!))<br />
	 
</p>
]]></description><guid isPermaLink="false">52147</guid><pubDate>Wed, 22 Feb 2023 11:25:28 +0000</pubDate></item><item><title>Indie Dev Cross Promotion?</title><link>https://www.html5gamedevs.com/topic/187-indie-dev-cross-promotion/</link><description><![CDATA[
<p>Anybody interested in doing any kind of indie dev cross promotion?  I was thinking maybe character swaps (our character as an unlockable in yours, and vice versa) or anything similar?</p>
]]></description><guid isPermaLink="false">187</guid><pubDate>Sat, 16 Mar 2013 03:04:43 +0000</pubDate></item><item><title>Warning! GoodGame Studios not paying, not answering emails</title><link>https://www.html5gamedevs.com/topic/55821-warning-goodgame-studios-not-paying-not-answering-emails/</link><description><![CDATA[<p>
	I have been publishing their games since 2010. From March 2024 they've suddenly stopped paying. The reports from 1st day of March show zeroes as in attached file. I've sent to them few polite emails and they've just considered to stay silent. It was disappointing but it was not my fault after all. So please be warned. They are not trustworthy anymore.
</p>

<p><a href="https://www.html5gamedevs.com/uploads/monthly_2024_04/ggs_scam.jpg.5b276b9f79c63e7728864f9a4ef34f6d.jpg" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="26482" src="https://www.html5gamedevs.com/uploads/monthly_2024_04/ggs_scam.thumb.jpg.d63070b80c43afa2b998e45b569453d4.jpg" data-ratio="69.2" width="1000" class="ipsImage ipsImage_thumbnailed" alt="ggs_scam.jpg"></a></p>]]></description><guid isPermaLink="false">55821</guid><pubDate>Thu, 04 Apr 2024 15:09:45 +0000</pubDate></item><item><title>Need programmers/3D modelers for 3D RPG (made in PlayCanvas/maybe three.js)</title><link>https://www.html5gamedevs.com/topic/34429-need-programmers3d-modelers-for-3d-rpg-made-in-playcanvasmaybe-threejs/</link><description><![CDATA[
<p>
	I want to make a 3D RPG. I already have the storyline planned out. I also already have a 3rd person camera set up in playcanvas, but since i'm not amazing at programming yet we can use whatever game engine the programmer wants. The RPG will have 4 characters, including the main character. It will have a lot of action elements and I want it to be very atmospheric. I also want the graphics to be low poly. With the programming I can try to help a little, but ill probably wont be of any use.
</p>

<p>
	Thank you and i hope you want to join our team! 
</p>
]]></description><guid isPermaLink="false">34429</guid><pubDate>Thu, 07 Dec 2017 17:47:34 +0000</pubDate></item><item><title>DoDo Studio, A Korean game graphic outsourcing company</title><link>https://www.html5gamedevs.com/topic/45686-dodo-studio-a-korean-game-graphic-outsourcing-company/</link><description><![CDATA[
<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">Hello! </span>
</p>

<p>
	 
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">This is John from DoDo Studio (</span><a href="http://www.dodostudio.net/" rel="external nofollow" style="border:0px;color:#665ed0;font-size:14px;padding:0px;text-align:left;vertical-align:baseline;">www.dodostudio.net</a><span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">).</span>
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">We've been offering qualified game graphic to major gaming developers worldwide. </span>
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">If you know anyone in charge of purchasing game graphic in your company, please let the person know. </span>
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">If any questions, feel free to contact me.</span>
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">(</span><a href="mailto:john@dodostudio.net" style="border:0px;color:#665ed0;font-size:14px;padding:0px;text-align:left;vertical-align:baseline;" rel="">john@dodostudio.net</a><span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">, skype : jungkuks@hanmail.net, Wechat : jjk987102) </span>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">Thanks &amp; Best Regards,</span>
</p>

<p>
	 
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">(82-31-360-0771, 82-10-4781-9693) </span>
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">DoDo Studio Business Manager </span>
</p>

<p>
	<span style="background-color:#f3f6f8;color:rgba(0,0,0,.9);font-size:14px;text-align:left;">John Jeon</span>
</p>

<p>
	 
</p>

<p><a href="https://www.html5gamedevs.com/uploads/monthly_2020_06/3DCharacter_2.jpg.5d752364e5632f51e6896722d2a1d9b7.jpg" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="23545" src="https://www.html5gamedevs.com/uploads/monthly_2020_06/3DCharacter_2.jpg.5d752364e5632f51e6896722d2a1d9b7.jpg" data-ratio="75.89" width="983" class="ipsImage ipsImage_thumbnailed" alt="3DCharacter_2.jpg"></a></p>
<p><a href="https://www.html5gamedevs.com/uploads/monthly_2020_06/3DCharacter_1.jpg.489922540a6b15034faa3504c9cc246c.jpg" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="23546" src="https://www.html5gamedevs.com/uploads/monthly_2020_06/3DCharacter_1.thumb.jpg.9d23ea039a01c58b26905fc138824657.jpg" data-ratio="56.4" width="1000" class="ipsImage ipsImage_thumbnailed" alt="3DCharacter_1.jpg"></a></p>
<p><a href="https://www.html5gamedevs.com/uploads/monthly_2020_06/1962219281_2DCharacter_1.jpg.1c3d2348fe77f3f4c1cbfcc269724eb6.jpg" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="23547" src="https://www.html5gamedevs.com/uploads/monthly_2020_06/1569197403_2DCharacter_1.thumb.jpg.0307c5b0011c225050c2c2ea615dfe74.jpg" data-ratio="73.6" width="1000" class="ipsImage ipsImage_thumbnailed" alt="2D Character_1.jpg"></a></p>
<p><a href="https://www.html5gamedevs.com/uploads/monthly_2020_06/nature.jpg.1254df817c9289e3676522b4924a9c66.jpg" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="23548" src="https://www.html5gamedevs.com/uploads/monthly_2020_06/nature.thumb.jpg.7b7169bf2d1f49082924d245816edcc4.jpg" data-ratio="56.2" width="1000" class="ipsImage ipsImage_thumbnailed" alt="nature.jpg"></a></p>]]></description><guid isPermaLink="false">45686</guid><pubDate>Tue, 23 Jun 2020 02:17:47 +0000</pubDate></item><item><title>Matrix-engine - High Performance glmatrix engine</title><link>https://www.html5gamedevs.com/topic/50023-matrix-engine-high-performance-glmatrix-engine/</link><description><![CDATA[<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	MATRIX-ENGINE STATUS<br /><br />
	- [Integrated PWA addToHomePage/cache/]<span> </span>✔
</h3>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	- [Integrated raycast (hit trigger detect), bvh animation]<span> </span>✔
</h4>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	- [Basic Physics implementation based on cannon.js]<span> </span>✔
</h4>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	- [FirstPersonController/SceneController Drag and navigation scene]<span> </span>✔
</h4>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	- [Basic's Shadows vs lights (GLSL)]<span> </span>✔
</h4>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Description<span> </span>ℹ
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	This is small but inspiring project. The benefits of this project is offering an overview of the entire application logic, easy native implementations (hybrid app), object structural. Thanks to Mr.Keestu i use (gl-program-structure) new version of glmatrix (2.0). Push&amp;Pop matrix just like in opengles 1.1. Also can be downgraded to openGLES 1.1. webGL Lightweight library based on glmatrix engine. For multiplayer used webRTC done with io socket. Physics done with last version of cannon.js. I use free software Blender 2.90.1 for 3d Object mesh works. MatrixEngine is Blender frendly orientend lib. Also mixamo.com is great service used for creating my assets.
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Limitation<span> </span>⚠
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Basic implementation for physics (Cube, Sphere)
	</li>
	<li>
		Raycast not work after walk behind the object in first person mode
	</li>
	<li>
		Only static object cast spot light in right way for now.
	</li>
	<li>
		Need general more improvement on GLSL part.
	</li>
</ul><h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Next Features<span> </span><span class="ipsEmoji">🔜</span>
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		General improvements in Lights section. Shaders must be improved based on work Links -&gt;<span> </span><a href="https://webglfundamentals.org/webgl/lessons/" rel="external nofollow" style="background-color:transparent;">https://webglfundamentals.org/webgl/lessons/</a>
	</li>
</ul><h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	For npm users recommended
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		<p>
			Use starter project:<span> </span><a href="https://github.com/zlatnaspirala/matrix-engine-starter" style="background-color:transparent;" rel="external nofollow">https://github.com/zlatnaspirala/matrix-engine-starter</a>
		</p>

		<p>
			with command:
		</p>

		<div>
			<pre style="font-size:13.6px;padding:16px;"><span>npm</span> <span>i</span>
<span>npm</span> <span>run</span> <span>build</span><span>.</span><span>all</span></pre>
		</div>

		<p>
			Project template in<span> </span><code style="font-size:13.6px;padding:.2em .4em;">matrix-engine-starter</code>
		</p>

		<ul><li>
				Slot Mashine<span> </span><a href="https://maximumroulette.com/apps/matrix-engine-starter/projects/matrix-slot/index.html" rel="external nofollow" style="background-color:transparent;">https://maximumroulette.com/apps/matrix-engine-starter/projects/matrix-slot/index.html</a>
			</li>
		</ul></li>
</ul><h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Live Demos
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		<p>
			<a href="https://maximumroulette.com/apps/matrix-engine/examples-build.html" rel="external nofollow" style="background-color:transparent;">https://maximumroulette.com/apps/matrix-engine/examples-build.html</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://maximumroulette.com/apps/matrix-engine/app-build.html" rel="external nofollow" style="background-color:transparent;">https://maximumroulette.com/apps/matrix-engine/app-build.html</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://fps-matrix-engine.vercel.app/" rel="external nofollow" style="background-color:transparent;">https://fps-matrix-engine.vercel.app</a>
		</p>

		<h4 style="font-size:1em;">
			How to use it from npm services [codepen examples]
		</h4>

		<p>
			[1.7.9] Lights - Who to use matrix-engine on codepen:
		</p>
	</li>
	<li>
		<p>
			<a href="https://codepen.io/zlatnaspirala/full/OJZXMWR" rel="external nofollow" style="background-color:transparent;">https://codepen.io/zlatnaspirala/full/OJZXMWR</a>
		</p>

		<p>
			BHV Pseudo Skeletal animation:
		</p>
	</li>
	<li>
		<p>
			<a href="https://codepen.io/zlatnaspirala/full/OJQdGVM" rel="external nofollow" style="background-color:transparent;">https://codepen.io/zlatnaspirala/full/OJQdGVM</a>
		</p>

		<p>
			Physics (cannon.js)
		</p>
	</li>
	<li>
		<p>
			<a href="https://codepen.io/zlatnaspirala/pen/rNvLGxE?editors=0010" rel="external nofollow" style="background-color:transparent;">https://codepen.io/zlatnaspirala/pen/rNvLGxE?editors=0010</a>
		</p>
	</li>
</ul><h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Install dependencies
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Matrix engine keep minimum dependency.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		uglify-js, minify
	</li>
	<li>
		browserify, watchify
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>npm</span> <span>run</span> <span>install</span><span>.</span><span>dep</span>
  <span>npm</span> <span>i</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	@Note: For windows users maybe you will need to add<span> </span><code style="font-size:13.6px;padding:.2em .4em;">browserify</code><span> </span>to the env PATH if you got errors on commands<span> </span><code style="font-size:13.6px;padding:.2em .4em;">npm run build.*</code>.
</p>

<h2 style="background-color:#0d1117;border-bottom:1px solid;color:#c9d1d9;font-size:1.5em;">
	Help for localhost dev stage
</h2>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Build Application bundle script
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	From [1.8.0] you can use build for develop with watch task:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>npm</span> <span>run</span> <span>examples</span></pre>
</div>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>npm</span> <span>run</span> <span>app</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	@Note: If you use unsecured<span> </span><code style="font-size:13.6px;padding:.2em .4em;">http</code><span> </span>protocol no build needed at all just navigate to the<span> </span><code style="font-size:13.6px;padding:.2em .4em;">html</code><span> </span>file who loade script with type=<code style="font-size:13.6px;padding:.2em .4em;">module</code>. No need for this any more but you can use it.
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	For production/public server you will use npm run build.XXX commands. and then upload project to the usually<span> </span><code style="font-size:13.6px;padding:.2em .4em;">/var/www/html/</code>.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		<p>
			<code style="font-size:13.6px;padding:.2em .4em;">app-build.html</code><span> </span>,<span> </span><code style="font-size:13.6px;padding:.2em .4em;">examples-build.html</code><span> </span>loads compiled javascript type<span> </span><code style="font-size:13.6px;padding:.2em .4em;">text/javascript</code>.
		</p>
	</li>
	<li>
		<p>
			Build entry App.js
		</p>
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>npm</span> <span>run</span> <span>build</span><span>.</span><span>app</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Now navigate to the<span> </span><code style="font-size:13.6px;padding:.2em .4em;">app-build.html</code><span> </span>page.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Build entry App-Examples.js
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>npm</span> <span>run</span> <span>build</span><span>.</span><span>examples</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Now navigate to the<span> </span><code style="font-size:13.6px;padding:.2em .4em;">examples-build.html</code><span> </span>page.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Build just library
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>npm</span> <span>run</span> <span>build</span><span>.</span><span>lib</span></pre>
</div>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Build with uglify
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>build</span><span>.</span><span>app</span><span>.</span><span>ugly</span><span>;</span></pre>
</div>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Build ALL
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>build</span><span>.</span><span>all</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	After all for production is recommended to use compressed script.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Production Final (bash):
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">./compress</pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Switch example with url params
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		<p>
			Usefull also for production for switching whole pages/apps.<span> </span><a href="https://localhost/matrix-engine/query.html?u=adding_color_cube" rel="external nofollow" style="background-color:transparent;">https://localhost/matrix-engine/query.html?u=adding_color_cube</a>
		</p>

		<p>
			<a href="https://localhost/matrix-engine/query-build.html?u=adding_color_cube" rel="external nofollow" style="background-color:transparent;">https://localhost/matrix-engine/query-build.html?u=adding_color_cube</a>
		</p>
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Code access:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>const</span> <span>QueryString</span> <span>=</span> <span>matrixEngine</span><span>.</span><span>utility</span><span>.</span><span>QueryString</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Take a look at query-build.html
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	List of examples:
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Adding color cube
	</li>
	<li>
		Adding color pyramyde
	</li>
	<li>
		Adding color square
	</li>
	<li>
		Adding tex square with raycast
	</li>
	<li>
		Adding color triangle
	</li>
	<li>
		Adding geometry
	</li>
	<li>
		Adding multi (compose) textures
	</li>
	<li>
		Adding square texture
	</li>
	<li>
		Blending
	</li>
	<li>
		Audion manipulation
	</li>
	<li>
		Camera texture (stream texture)
	</li>
	<li>
		Cube
	</li>
	<li>
		Cube Geometry
	</li>
	<li>
		Cube Light &amp; texture
	</li>
	<li>
		Cube light dynamic
	</li>
	<li>
		Custom texture
	</li>
	<li>
		First Person controller
	</li>
	<li>
		Load obj files - UV maps
	</li>
	<li>
		Object animation -morh sequence
	</li>
	<li>
		Object animation mesh indices calculation
	</li>
	<li>
		JS1Kilo examples implementation
	</li>
	<li>
		Porting 2D canvas (Active textures)
	</li>
	<li>
		Sphere geometry
	</li>
	<li>
		Texture uv manipulation
	</li>
	<li>
		Videos textures
	</li>
	<li>
		Physics Cube with force on raycast trigger
	</li>
	<li>
		Physics Sphere
	</li>
	<li>
		BVH loader, animation play
	</li>
	<li>
		Load obj sequences
	</li>
	<li>
		FPShooter example (+Sounds) [WIP]
	</li>
	<li>
		specular_light_basic -&gt; global light position test [WIP]
	</li>
	<li>
		Lens effect shaders for cube [WIP]
	</li>
</ul><h2 style="background-color:#0d1117;border-bottom:1px solid;color:#c9d1d9;font-size:1.5em;">
	Features description
</h2>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Camera config
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	In<span> </span><code style="font-size:13.6px;padding:.2em .4em;">./program/manifest.js</code>. Access is<span> </span><code style="font-size:13.6px;padding:.2em .4em;">App.camera</code>. Note: One of params<span> </span><code style="font-size:13.6px;padding:.2em .4em;">FirstPersonController</code><span> </span>or<span> </span><code style="font-size:13.6px;padding:.2em .4em;">SceneController</code><span> </span>must be<span> </span><code style="font-size:13.6px;padding:.2em .4em;">false</code>.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		<code style="font-size:13.6px;padding:.2em .4em;">FirstPersonController</code><span> </span>is classic first person view with movement WASD and mouse look.
	</li>
	<li>
		<code style="font-size:13.6px;padding:.2em .4em;">SceneController</code><span> </span>use direct input WASD. To make camera angle view change press<span> </span><code style="font-size:13.6px;padding:.2em .4em;">shift</code><span> </span>to enable camera angle. Middle mouse button will enable drag scene to left/right/top/down. Mouse middle wheel change work only when<span> </span><code style="font-size:13.6px;padding:.2em .4em;">shift</code><span> </span>is pressed.
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>camera</span>: <span>{</span>
    <span>viewAngle</span>: <span>45</span><span>,</span>
    <span>nearViewpoint</span>: <span>0.1</span><span>,</span>
    <span>farViewpoint</span>: <span>1000</span><span>,</span>
    <span>edgeMarginValue</span>: <span>100</span><span>,</span>
    <span>FirstPersonController</span>: <span>false</span><span>,</span>
    <span>SceneController</span>: <span>false</span><span>,</span>
    <span>sceneControllerDragAmp</span>: <span>0.1</span><span>,</span>
    <span>sceneControllerDragAmp</span>: <span>0.1</span><span>,</span>
    <span>speedAmp</span>: <span>0.5</span><span>,</span>
    <span>sceneControllerEdgeCameraYawRate</span>: <span>3</span><span>,</span>
    <span>sceneControllerWASDKeysAmp</span>: <span>0.1</span>
  <span>}</span><span>,</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Range of<span> </span><code style="font-size:13.6px;padding:.2em .4em;">matrixEngine.Events.camera.pitch</code><span> </span>in ForstPersonController is (-33 to 33).
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	To get access for camera use<span> </span><code style="font-size:13.6px;padding:.2em .4em;">matrixEngine.Events.camera</code>. Typically looks:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>{</span>
  <span>"roll"</span>: <span>0</span><span>,</span>
  <span>"rollRate"</span>: <span>0</span><span>,</span>
  <span>"rallAmp"</span>: <span>0.05</span><span>,</span>
  <span>"pitch"</span>: <span>0.24500000000000632</span><span>,</span>
  <span>"pitchRate"</span>: <span>0</span><span>,</span>
  <span>"yaw"</span>: <span>-</span><span>6945.400000016527</span><span>,</span>
  <span>"yawRate"</span>: <span>0</span><span>,</span>
  <span>"xPos"</span>: <span>5.1753983300242155</span><span>,</span>
  <span>"yPos"</span>: <span>2</span><span>,</span>
  <span>"zPos"</span>: <span>-</span><span>21.90917813969003</span><span>,</span>
  <span>"speed"</span>: <span>0</span><span>,</span>
  <span>"yawAmp"</span>: <span>0.05</span><span>,</span>
  <span>"pitchAmp"</span>: <span>0.007</span>
<span>}</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Light And Shadows [1.7.6]
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<code style="font-size:13.6px;padding:.2em .4em;">activateShadows</code><span> </span>works only for cube for now.
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>world</span><span>.</span><span>Add</span><span>(</span><span>"cubeLightTex"</span><span>,</span> <span>1</span><span>,</span> <span>"myCube4"</span><span>,</span> <span>textuteImageSamplers</span><span>)</span><span>;</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube4</span><span>.</span><span>activateShadows</span><span>(</span><span>)</span><span>;</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube4</span><span>.</span><span>shadows</span><span>.</span><span>activeUpdate</span><span>(</span><span>)</span><span>;</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube4</span><span>.</span><span>shadows</span><span>.</span><span>animatePositionY</span><span>(</span><span>)</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	If you wanna color vertex but with direction and ambient light then:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>// Simple direction light</span>
<span>world</span><span>.</span><span>Add</span><span>(</span><span>"cubeLightTex"</span><span>,</span> <span>1</span><span>,</span> <span>"myCube7"</span><span>,</span> <span>textuteImageSamplersTest</span><span>)</span><span>;</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube7</span><span>.</span><span>position</span><span>.</span><span>setPosition</span><span>(</span><span>3</span><span>,</span><span>3</span><span>,</span><span>-</span><span>11</span><span>)</span><span>;</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube7</span><span>.</span><span>geometry</span><span>.</span><span>colorData</span><span>.</span><span>SetGreenForAll</span><span>(</span><span>0.5</span><span>)</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube7</span><span>.</span><span>geometry</span><span>.</span><span>colorData</span><span>.</span><span>SetRedForAll</span><span>(</span><span>0.5</span><span>)</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube7</span><span>.</span><span>geometry</span><span>.</span><span>colorData</span><span>.</span><span>SetBlueForAll</span><span>(</span><span>0.5</span><span>)</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube7</span><span>.</span><span>deactivateTex</span><span>(</span><span>)</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Make square pattern
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>// Custom generic textures. Micro Drawing.</span>
  <span>// Example for arg shema square for now only.</span>
  <span>var</span> <span>options</span> <span>=</span> <span>{</span>
    <span>squareShema</span>: <span>[</span><span>4</span><span>,</span><span>4</span><span>]</span><span>,</span>
    <span>pixels</span>: <span>new</span> <span>Uint8Array</span><span>(</span><span>4</span> <span>*</span> <span>4</span> <span>*</span> <span>4</span><span>)</span><span>,</span>
    <span>style</span>: <span>{</span>
      <span>type</span>: <span>'chessboard'</span><span>,</span>
      <span>color1</span>: <span>0</span><span>,</span>
      <span>color2</span>: <span>255</span>
    <span>}</span>
  <span>}</span><span>;</span>

  <span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube9</span><span>.</span><span>textures</span><span>.</span><span>push</span><span>(</span>
    <span>App</span><span>.</span><span>scene</span><span>.</span><span>myCube9</span><span>.</span><span>createPixelsTex</span><span>(</span><span>options</span><span>)</span>
  <span>)</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<a href="https://github.com/zlatnaspirala/matrix-engine/blob/dev/non-project-files/1.7.6.png" rel="external nofollow" style="background-color:transparent;"><img alt="1.7.6.png" style="border-style:none;" src="https://github.com/zlatnaspirala/matrix-engine/raw/dev/non-project-files/1.7.6.png" /></a>
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Physics
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Physics based on cannon.js
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Support list :<span> </span><span class="ipsEmoji">😇</span>
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		cube
	</li>
	<li>
		sphere
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Example with physics and raycast hit detect:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>App</span><span>.</span><span>camera</span><span>.</span><span>SceneController</span> <span>=</span> <span>true</span><span>;</span>

  <span>canvas</span><span>.</span><span>addEventListener</span><span>(</span><span>'mousedown'</span><span>,</span> <span>(</span><span>ev</span><span>)</span> <span>=&gt;</span> <span>{</span>
    <span>matrixEngine</span><span>.</span><span>raycaster</span><span>.</span><span>checkingProcedure</span><span>(</span><span>ev</span><span>)</span><span>;</span>
  <span>}</span><span>)</span><span>;</span>

  <span>window</span><span>.</span><span>addEventListener</span><span>(</span><span>'ray.hit.event'</span><span>,</span> <span>(</span><span>ev</span><span>)</span> <span>=&gt;</span> <span>{</span>
    <span>console</span><span>.</span><span>log</span><span>(</span><span>"You shoot the object! Nice!"</span><span>,</span> <span>ev</span><span>)</span>

    <span>/**</span>
<span>     * Physics force apply</span>
<span>     */</span>
     <span>if</span> <span>(</span><span>ev</span><span>.</span><span>detail</span><span>.</span><span>hitObject</span><span>.</span><span>physics</span><span>.</span><span>enabled</span> <span>==</span> <span>true</span><span>)</span> <span>{</span>
      <span>ev</span><span>.</span><span>detail</span><span>.</span><span>hitObject</span><span>.</span><span>physics</span><span>.</span><span>currentBody</span><span>.</span><span>force</span><span>.</span><span>set</span><span>(</span><span>0</span><span>,</span><span>0</span><span>,</span><span>1000</span><span>)</span>
     <span>}</span>
  <span>}</span><span>)</span><span>;</span>

  <span>var</span> <span>tex</span> <span>=</span> <span>{</span>
    <span>source</span>: <span>[</span><span>"res/images/complex_texture_1/diffuse.png"</span><span>]</span><span>,</span>
    <span>mix_operation</span>: <span>"multiply"</span><span>,</span>
  <span>}</span><span>;</span>

  <span>// Load Physics world!</span>
  <span>let</span> <span>gravityVector</span> <span>=</span> <span>[</span><span>0</span><span>,</span> <span>0</span><span>,</span> <span>-</span><span>9.82</span><span>]</span><span>;</span>
  <span>let</span> <span>physics</span> <span>=</span> <span>world</span><span>.</span><span>loadPhysics</span><span>(</span><span>gravityVector</span><span>)</span><span>;</span>
  <span>// Add ground</span>
  <span>physics</span><span>.</span><span>addGround</span><span>(</span><span>App</span><span>,</span> <span>world</span><span>,</span> <span>tex</span><span>)</span><span>;</span>
  <span>world</span><span>.</span><span>Add</span><span>(</span><span>"cubeLightTex"</span><span>,</span> <span>1</span><span>,</span> <span>"CUBE"</span><span>,</span> <span>tex</span><span>)</span><span>;</span>
  <span>var</span> <span>b</span> <span>=</span> <span>new</span> <span>CANNON</span><span>.</span><span>Body</span><span>(</span><span>{</span>
    <span>mass</span>: <span>5</span><span>,</span>
    <span>position</span>: <span>new</span> <span>CANNON</span><span>.</span><span>Vec3</span><span>(</span><span>0</span><span>,</span> <span>-</span><span>15</span><span>,</span> <span>2</span><span>)</span><span>,</span>
    <span>shape</span>: <span>new</span> <span>CANNON</span><span>.</span><span>Box</span><span>(</span><span>new</span> <span>CANNON</span><span>.</span><span>Vec3</span><span>(</span><span>1</span><span>,</span> <span>1</span><span>,</span> <span>1</span><span>)</span><span>)</span>
  <span>}</span><span>)</span><span>;</span>
  <span>physics</span><span>.</span><span>world</span><span>.</span><span>addBody</span><span>(</span><span>b</span><span>)</span><span>;</span>
  <span>// Physics</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>CUBE</span><span>.</span><span>physics</span><span>.</span><span>currentBody</span> <span>=</span> <span>b</span><span>;</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>CUBE</span><span>.</span><span>physics</span><span>.</span><span>enabled</span> <span>=</span> <span>true</span><span>;</span>

  <span>const</span> <span>objGenerator</span> <span>=</span> <span>(</span><span>n</span><span>)</span> <span>=&gt;</span> <span>{</span>
    <span>for</span><span>(</span><span>var</span> <span>j</span> <span>=</span> <span>0</span><span>;</span><span>j</span> <span>&lt;</span> <span>n</span><span>;</span><span>j</span><span>++</span><span>)</span> <span>{</span>

      <span>setTimeout</span><span>(</span><span>(</span><span>)</span> <span>=&gt;</span> <span>{</span>
        <span>world</span><span>.</span><span>Add</span><span>(</span><span>"cubeLightTex"</span><span>,</span> <span>1</span><span>,</span> <span>"CUBE"</span> <span>+</span> <span>j</span><span>,</span> <span>tex</span><span>)</span><span>;</span>
        <span>var</span> <span>b2</span> <span>=</span> <span>new</span> <span>CANNON</span><span>.</span><span>Body</span><span>(</span><span>{</span>
          <span>mass</span>: <span>1</span><span>,</span>
          <span>linearDamping</span>: <span>0.01</span><span>,</span>
          <span>position</span>: <span>new</span> <span>CANNON</span><span>.</span><span>Vec3</span><span>(</span><span>1</span><span>,</span> <span>-</span><span>14.5</span><span>,</span> <span>15</span><span>)</span><span>,</span>
          <span>shape</span>: <span>new</span> <span>CANNON</span><span>.</span><span>Box</span><span>(</span><span>new</span> <span>CANNON</span><span>.</span><span>Vec3</span><span>(</span><span>1</span><span>,</span> <span>1</span><span>,</span> <span>1</span><span>)</span><span>)</span>
        <span>}</span><span>)</span><span>;</span>

        <span>physics</span><span>.</span><span>world</span><span>.</span><span>addBody</span><span>(</span><span>b2</span><span>)</span><span>;</span>
        <span>App</span><span>.</span><span>scene</span><span>[</span><span>'CUBE'</span> <span>+</span> <span>j</span><span>]</span><span>.</span><span>physics</span><span>.</span><span>currentBody</span> <span>=</span> <span>b2</span><span>;</span>
        <span>App</span><span>.</span><span>scene</span><span>[</span><span>'CUBE'</span> <span>+</span> <span>j</span><span>]</span><span>.</span><span>physics</span><span>.</span><span>enabled</span> <span>=</span> <span>true</span><span>;</span>
      <span>}</span><span>,</span> <span>1000</span> <span>*</span> <span>j</span><span>)</span>
    <span>}</span>
  <span>}</span>

  <span>objGenerator</span><span>(</span><span>100</span><span>)</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Networking [1.8.0]
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Networking based on webRTC. If you wanna use<span> </span><code style="font-size:13.6px;padding:.2em .4em;">multiplayer mode</code><span> </span>you need to run intro folder<span> </span><code style="font-size:13.6px;padding:.2em .4em;">networking/</code><span> </span>next commands:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"> <span>npm</span> <span>i</span>
 <span>node</span> <span>matrix</span><span>-</span><span>server</span><span>.</span><span>js</span></pre>
</div>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Networking Support Methods list:<span> </span><span class="ipsEmoji">✅</span><span class="ipsEmoji">😇</span>
</h4>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		<p>
			Any scene object:<span> </span>➡<span> </span>position SetX() SetY() SetZ()<span> </span>➡<span> </span>rotation.rotateX() rotateY() rotateZ()
		</p>
	</li>
	<li>
		<p>
			Cube, Sphere, Square<span> </span>➡<span> </span>geometry.setScale()<span> </span>➡<span> </span>geometry.setScaleByY()<span> </span>➡<span> </span>geometry.setScaleByZ()<span> </span>➡<span> </span>geometry.setScaleByZ()<span> </span>➡<span> </span>geometry.setTexCoordScaleFactor()
		</p>
	</li>
	<li>
		<p>
			Pyramid<span> </span>➡<span> </span>geometry.setScale()<span> </span>➡<span> </span>geometry.setSpitz()
		</p>
	</li>
</ul><h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Networking minimal example
</h4>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>export</span> <span>var</span> <span>runThis</span> <span>=</span> <span>world</span> <span>=&gt;</span> <span>{</span>

  <span>world</span><span>.</span><span>Add</span><span>(</span><span>"pyramid"</span><span>,</span> <span>1</span><span>,</span> <span>"MyCubeTex"</span><span>)</span><span>;</span>
  <span>world</span><span>.</span><span>Add</span><span>(</span><span>"square"</span><span>,</span> <span>1</span><span>,</span> <span>"MyColoredSquare1"</span><span>)</span><span>;</span>

  <span>// Must be activate</span>
  <span>matrixEngine</span><span>.</span><span>Engine</span><span>.</span><span>activateNet</span><span>(</span><span>)</span><span>;</span>

  <span>// Must be activate for scene objects also.</span>
  <span>// This is only to force avoid unnecessary networking emit!</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>MyCubeTex</span><span>.</span><span>net</span><span>.</span><span>enable</span> <span>=</span> <span>true</span><span>;</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>MyCubeTex</span><span>.</span><span>net</span><span>.</span><span>activate</span><span>(</span><span>)</span><span>;</span>

  <span>App</span><span>.</span><span>scene</span><span>.</span><span>MyColoredSquare1</span><span>.</span><span>net</span><span>.</span><span>enable</span> <span>=</span> <span>true</span><span>;</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>MyColoredSquare1</span><span>.</span><span>net</span><span>.</span><span>activate</span><span>(</span><span>)</span><span>;</span>

  <span>// Just call it normally</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>MyCubeTex</span><span>.</span><span>position</span><span>.</span><span>SetZ</span><span>(</span><span>-</span><span>8</span><span>)</span><span>;</span>
  <span>App</span><span>.</span><span>scene</span><span>.</span><span>MyColoredSquare1</span><span>.</span><span>position</span><span>.</span><span>SetZ</span><span>(</span><span>-</span><span>8</span><span>)</span><span>;</span>

<span>}</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	It is perfect solution webGL vs webRTC. Origin code used<span> </span><code style="font-size:13.6px;padding:.2em .4em;">broadcaster class</code><span> </span>from visual-ts game engine project.
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Custom textures
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	We just override function for texture executing code. Next level is full custom opportunity, geometry, collision, networking etc.
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>App</span><span>.</span><span>scene</span><span>.</span><span>MySquareTexure1</span><span>.</span><span>custom</span><span>.</span><span>gl_texture</span> <span>=</span> <span>function</span> <span>(</span><span>object</span><span>,</span> <span>t</span><span>)</span> <span>{</span>
  <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>bindTexture</span><span>(</span><span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_2D</span><span>,</span> <span>object</span><span>.</span><span>textures</span><span>[</span><span>t</span><span>]</span><span>)</span><span>;</span>
  <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>texParameteri</span><span>(</span><span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_2D</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_MAG_FILTER</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>LINEAR</span><span>)</span><span>;</span>
  <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>texParameteri</span><span>(</span><span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_2D</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_MIN_FILTER</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>LINEAR</span><span>)</span><span>;</span>
  <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>texParameteri</span><span>(</span><span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_2D</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_WRAP_S</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>CLAMP_TO_EDGE</span><span>)</span><span>;</span>
  <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>texParameteri</span><span>(</span><span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_2D</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_WRAP_T</span><span>,</span> <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>CLAMP_TO_EDGE</span><span>)</span><span>;</span>

  <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>texImage2D</span><span>(</span>
    <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_2D</span><span>,</span>
    <span>0</span><span>,</span>                         <span>// Level of details</span>
    <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>RGBA</span><span>,</span>          <span>// Format</span>
    <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>RGBA</span><span>,</span>
    <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>UNSIGNED_BYTE</span><span>,</span> <span>// Size of each channel</span>
    <span>object</span><span>.</span><span>textures</span><span>[</span><span>t</span><span>]</span><span>.</span><span>image</span>
  <span>)</span><span>;</span>

  <span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>generateMipmap</span><span>(</span><span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>.</span><span>TEXTURE_2D</span><span>)</span><span>;</span>
<span>}</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Opengles native<span> </span><code style="font-size:inherit;padding:0px .2em;">cubeMap</code><span> </span>[1.8.5]
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		If you wanna custom canvasd2d draws for aech cube side New tag<span> </span><code style="font-size:13.6px;padding:.2em .4em;">cubeMap</code><span> </span>takes texture.source empty array.
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Canvas2d Example:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>/**</span>
<span>   * <span>@description</span></span>
<span>   * What ever you want!</span>
<span>   * It is 2dCanvas context draw func.</span>
<span>   */</span>
  <span>function</span> <span>myFace</span><span>(</span><span>args</span><span>)</span> <span>{</span>
    <span>const</span> <span>{</span>width<span>,</span> height<span>}</span> <span>=</span> <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>canvas</span><span>;</span>
    <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>fillStyle</span> <span>=</span> <span>args</span><span>[</span><span>0</span><span>]</span><span>;</span>
    <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>fillRect</span><span>(</span><span>0</span><span>,</span> <span>0</span><span>,</span> <span>width</span><span>,</span> <span>height</span><span>)</span><span>;</span>
    <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>font</span> <span>=</span> <span>`<span><span>${</span><span>width</span> <span>*</span> <span>args</span><span>[</span><span>2</span><span>]</span><span>}</span></span>px sans-serif`</span><span>;</span>
    <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>textAlign</span> <span>=</span> <span>'center'</span><span>;</span>
    <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>textBaseline</span> <span>=</span> <span>'middle'</span><span>;</span>
    <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>fillStyle</span> <span>=</span> <span>args</span><span>[</span><span>1</span><span>]</span><span>;</span>
    <span>this</span><span>.</span><span>cubeMap2dCtx</span><span>.</span><span>fillText</span><span>(</span><span>args</span><span>[</span><span>3</span><span>]</span><span>,</span> <span>width</span> <span>/</span> <span>2</span><span>,</span> <span>height</span> <span>/</span> <span>2</span><span>)</span><span>;</span>
  <span>}</span>

  <span>var</span> <span>tex</span> <span>=</span> <span>{</span>
    <span>source</span>: <span>[</span><span>]</span><span>,</span>
    <span>mix_operation</span>: <span>"multiply"</span><span>,</span>
    <span>cubeMap</span>: <span>{</span>
      <span>type</span>: <span>'2dcanvas'</span><span>,</span>
      <span>drawFunc</span>: <span>myFace</span><span>,</span>
      <span>sides</span>: <span>[</span>
        <span>// This is custom access you can edit but only must have</span>
        <span>// nice relation with your draw function !</span>
        <span>// This is example for render 2d text in middle-center manir.</span>
        <span>// Nice for 3d button object!</span>
        <span>{</span><span>faceColor</span>: <span>'#F00'</span><span>,</span> <span>textColor</span>: <span>'#28F'</span><span>,</span> <span>txtSizeCoeficient</span>: <span>0.8</span><span>,</span> <span>text</span>: <span>'m'</span><span>}</span><span>,</span>
        <span>{</span><span>faceColor</span>: <span>'#FF0'</span><span>,</span> <span>textColor</span>: <span>'#82F'</span><span>,</span> <span>txtSizeCoeficient</span>: <span>0.5</span><span>,</span> <span>text</span>: <span>'a'</span><span>}</span><span>,</span>
        <span>{</span><span>faceColor</span>: <span>'#0F0'</span><span>,</span> <span>textColor</span>: <span>'#82F'</span><span>,</span> <span>txtSizeCoeficient</span>: <span>0.5</span><span>,</span> <span>text</span>: <span>'t'</span><span>}</span><span>,</span>
        <span>{</span><span>faceColor</span>: <span>'#0FF'</span><span>,</span> <span>textColor</span>: <span>'#802'</span><span>,</span> <span>txtSizeCoeficient</span>: <span>0.5</span><span>,</span> <span>text</span>: <span>'r'</span><span>}</span><span>,</span>
        <span>{</span><span>faceColor</span>: <span>'#00F'</span><span>,</span> <span>textColor</span>: <span>'#8F2'</span><span>,</span> <span>txtSizeCoeficient</span>: <span>0.5</span><span>,</span> <span>text</span>: <span>'i'</span><span>}</span><span>,</span>
        <span>{</span><span>faceColor</span>: <span>'#F0F'</span><span>,</span> <span>textColor</span>: <span>'#2F8'</span><span>,</span> <span>txtSizeCoeficient</span>: <span>0.5</span><span>,</span> <span>text</span>: <span>'x'</span><span>}</span>
      <span>]</span>
    <span>}</span>
  <span>}</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Classic images:
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		If you wanna load images, see example:
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>world</span><span>.</span><span>cubeMapTextures</span><span>(</span><span>[</span>
  <span>'res/images/cube/1.png'</span><span>,</span>
  <span>'res/images/cube/2.png'</span><span>,</span>
  <span>'res/images/cube/3.png'</span><span>,</span>
  <span>'res/images/cube/4.png'</span><span>,</span>
  <span>'res/images/cube/5.png'</span><span>,</span>
  <span>'res/images/cube/6.png'</span><span>,</span>
<span>]</span><span>,</span> <span>(</span><span>imgs</span><span>)</span> <span>=&gt;</span> <span>{</span>
  <span>var</span> <span>tex</span> <span>=</span> <span>{</span>
    <span>source</span>: <span>[</span>...<span>imgs</span><span>]</span><span>,</span>
    <span>mix_operation</span>: <span>"multiply"</span><span>,</span>
    <span>cubeMap</span>: <span>{</span>
      <span>type</span>: <span>'images'</span><span>,</span>
    <span>}</span>
  <span>}</span><span>;</span>
  <span>world</span><span>.</span><span>Add</span><span>(</span><span>"cubeMap"</span><span>,</span> <span>1</span><span>,</span> <span>"myCubeMapObj"</span><span>,</span> <span>tex</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	BVH Matrix Skeletal [1.5.0]
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		New deps pack<span> </span><code style="font-size:13.6px;padding:.2em .4em;">bvh-loader</code>. It is bvh parser created for matrix-engine but can be used for any other graphics language.
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>const</span> <span>options</span> <span>=</span> <span>{</span>
    <span>world</span>: <span>world</span><span>,</span>
    <span>autoPlay</span>: <span>true</span><span>,</span>
    <span>myFrameRate</span>: <span>10</span><span>,</span>
    <span>showOnLoad</span>: <span>false</span><span>,</span> <span>// if autoPLay is true then showOnLoad is inactive.</span>
    <span>type</span>: <span>'ANIMATION'</span><span>,</span> <span>// "TPOSE' | 'ANIMATION'</span>
    <span>loop</span>: <span>'playInverse'</span><span>,</span> <span>// true | 'stopOnEnd' | 'playInverse' | 'stopAndReset'</span>
    <span>globalOffset</span>: <span>[</span><span>-</span><span>30</span><span>,</span> <span>-</span><span>180</span><span>,</span> <span>-</span><span>155</span><span>]</span><span>,</span>
    <span>skeletalBoneScale</span>: <span>6</span><span>,</span>
    <span>boneNameBasePrefix</span>: <span>'backWalk'</span><span>,</span>
    <span>skeletalBlend</span>: <span>{</span> <span>paramDest</span>: <span>7</span><span>,</span> <span>paramSrc</span>: <span>6</span> <span>}</span><span>,</span> <span>// remove arg for no blend</span>
    <span>boneTex</span>: <span>{</span>
      <span>source</span>: <span>[</span>
        <span>"res/icons/512.png"</span>
      <span>]</span><span>,</span>
      <span>mix_operation</span>: <span>"multiply"</span><span>,</span>
    <span>}</span><span>,</span>
    <span>// pyramid | triangle | cube | square | squareTex | cubeLightTex | sphereLightTex'</span>
    <span>drawTypeBone</span>: <span>'squareTex'</span> 
  <span>}</span><span>;</span>

  <span>const</span> <span>filePath</span> <span>=</span> <span>'https://raw.githubusercontent.com/zlatnaspirala/bvh-loader/main/javascript-bvh/example.bvh'</span><span>;</span>

  <span>var</span> <span>myFirstBvhAnimation</span> <span>=</span> <span>new</span> <span>matrixEngine</span><span>.</span><span>MEBvhAnimation</span><span>(</span><span>filePath</span><span>,</span> <span>options</span><span>)</span><span>;</span></pre>
</div>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Live demo<span> </span><a href="https://codepen.io/zlatnaspirala/pen/OJQdGVM" rel="external nofollow" style="background-color:transparent;">https://codepen.io/zlatnaspirala/pen/OJQdGVM</a>
</h4>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Raycast
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		cube , square, triangle, obj (ObjLoader) [1.8.4] From 1.8.4 raycast hit trigger works for obj's.
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Raycast works fine also in firstPersonCamera operation. Raycast work perfect after local single rotation x, y, or z. Combination rotx and roty works , roty and rotz only with rotx = 180 for now. Bug if walk behind object then turn arround and try raycast but no work for now.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Usage:
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>canvas</span><span>.</span><span>addEventListener</span><span>(</span><span>'mousedown'</span><span>,</span> <span>(</span><span>ev</span><span>)</span> <span>=&gt;</span> <span>{</span>
    <span>matrixEngine</span><span>.</span><span>raycaster</span><span>.</span><span>checkingProcedure</span><span>(</span><span>ev</span><span>)</span><span>;</span>
  <span>}</span><span>)</span><span>;</span>

  <span>canvas</span><span>.</span><span>addEventListener</span><span>(</span><span>'ray.hit.event'</span><span>,</span> <span>(</span><span>ev</span><span>)</span> <span>=&gt;</span> <span>{</span>
    <span>alert</span><span>(</span><span>"You shoot the object! Nice"</span><span>)</span>
  <span>}</span><span>)</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	First person controller:
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	If you activate this flag you get fly/free camera controller by default.
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>// In one line activate also deactivate.</span>
  <span>App</span><span>.</span><span>camera</span><span>.</span><span>FirstPersonController</span> <span>=</span> <span>true</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Animated female droid (morph targets):
</h3>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>// Obj Loader</span>
<span>function</span> <span>onLoadObj</span><span>(</span><span>meshes</span><span>)</span> <span>{</span>

  <span>// No need from [1.8.2]</span>
  <span>// App.meshes = meshes;</span>
  <span>for</span> <span>(</span><span>const</span> <span>key</span> <span>in</span> <span>App</span><span>.</span><span>meshes</span><span>)</span> <span>{</span>
    <span>matrixEngine</span><span>.</span><span>objLoader</span><span>.</span><span>initMeshBuffers</span><span>(</span><span>world</span><span>.</span><span>GL</span><span>.</span><span>gl</span><span>,</span> <span>App</span><span>.</span><span>meshes</span><span>[</span><span>key</span><span>]</span><span>)</span><span>;</span>
  <span>}</span>

  <span>textuteImageSamplers2</span> <span>=</span> <span>{</span>
    <span>source</span>: <span>[</span><span>'res/images/RustPaint.jpg'</span><span>]</span><span>,</span>
    <span>mix_operation</span>: <span>'multiply'</span>
  <span>}</span><span>;</span>

  <span>setTimeout</span><span>(</span><span>function</span> <span>(</span><span>)</span> <span>{</span>
    <span>var</span> <span>animation_construct</span> <span>=</span> <span>{</span>
      <span>id</span>: <span>'female'</span><span>,</span>
      <span>meshList</span>: <span>meshes</span><span>,</span> <span>// from [1.8.2]</span>
      <span>sumOfAniFrames</span>: <span>18</span><span>,</span>
      <span>currentAni</span>: <span>0</span><span>,</span>
      <span>speed</span>: <span>3</span>
    <span>}</span><span>;</span>

    <span>world</span><span>.</span><span>Add</span><span>(</span><span>'obj'</span><span>,</span> <span>1</span><span>,</span> <span>'female'</span><span>,</span> <span>textuteImageSamplers2</span><span>,</span> <span>App</span><span>.</span><span>meshes</span><span>.</span><span>female</span><span>,</span> <span>animation_construct</span><span>)</span><span>;</span>

    <span>App</span><span>.</span><span>scene</span><span>.</span><span>female</span><span>.</span><span>position</span><span>.</span><span>y</span> <span>=</span> <span>-</span><span>3</span><span>;</span>
    <span>App</span><span>.</span><span>scene</span><span>.</span><span>female</span><span>.</span><span>rotation</span><span>.</span><span>rotationSpeed</span><span>.</span><span>z</span> <span>=</span> <span>20</span><span>;</span>
    <span>App</span><span>.</span><span>scene</span><span>.</span><span>female</span><span>.</span><span>position</span><span>.</span><span>z</span> <span>=</span> <span>-</span><span>13</span><span>;</span>
    <span>// App.scene.armor.mesh.setScale(5)</span>
  <span>}</span><span>,</span> <span>100</span><span>)</span><span>;</span>
<span>}</span>

<span>// Custom list 1, 3, 5, 9</span>
<span>matrixEngine</span><span>.</span><span>objLoader</span><span>.</span><span>downloadMeshes</span><span>(</span>
  <span>{</span>
    <span>female</span>: <span>'res/3d-objects/female/female_000001.obj'</span><span>,</span>
    <span>female1</span>: <span>'res/3d-objects/female/female_000003.obj'</span><span>,</span>
    <span>female2</span>: <span>'res/3d-objects/female/female_000005.obj'</span><span>,</span>
    <span>female3</span>: <span>'res/3d-objects/female/female_000009.obj'</span><span>,</span>
    ...
  <span>}</span><span>,</span>
  <span>onLoadObj</span>
<span>)</span><span>;</span>

<span>// From [1.8.2] you can use `makeObjSeqArg`</span>
<span>matrixEngine</span><span>.</span><span>objLoader</span><span>.</span><span>downloadMeshes</span><span>(</span>
  <span>matrixEngine</span><span>.</span><span>objLoader</span><span>.</span><span>makeObjSeqArg</span><span>(</span>
    <span>{</span> <span>id</span>: <span>objName</span><span>,</span>
      <span>path</span>: <span>"res/bvh-skeletal-base/swat-guy/seq-walk/low/swat"</span><span>,</span>
      <span>from</span> : <span>1</span><span>,</span> <span>to</span>: <span>34</span> <span>}</span><span>)</span><span>,</span>
  <span>onLoadObj</span>
<span>)</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Blending:
</h3>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>// Use it</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>female</span><span>.</span><span>glBlend</span><span>.</span><span>blendEnabled</span> <span>=</span> <span>true</span><span>;</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>female</span><span>.</span><span>glBlend</span><span>.</span><span>blendParamSrc</span> <span>=</span> <span>ENUMERATORS</span><span>.</span><span>glBlend</span><span>.</span><span>param</span><span>[</span><span>4</span><span>]</span><span>;</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>female</span><span>.</span><span>glBlend</span><span>.</span><span>blendParamDest</span> <span>=</span> <span>ENUMERATORS</span><span>.</span><span>glBlend</span><span>.</span><span>param</span><span>[</span><span>4</span><span>]</span><span>;</span></pre>
</div>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Load Obj with UV map (Blender export tested):
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	For more details dee this example script:<span> </span><code style="font-size:13.6px;padding:.2em .4em;">load_obj_file.js</code>
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Video texture:
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	New way: There is no prefix for path any more. Fixed autoplay on<span> </span><code style="font-size:13.6px;padding:.2em .4em;">AFTRE FIRST CLICK</code>. Multi textures loading. Video texture corespond with direction &amp; ambient light. Important it is direct pass from video to webgl textures. No canvad2d context. NOT WORKING with shadows for now.
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>App</span><span>.</span><span>scene</span><span>.</span><span>outsideBox</span><span>.</span><span>streamTextures</span> <span>=</span> <span>new</span> <span>VT</span><span>(</span>
    <span>"res/video-texture/lava1.mkv"</span>
  <span>)</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	TODO: Add arg { mixWithCanvas2d }
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Old way [still present]:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>world</span><span>.</span><span>Add</span><span>(</span><span>'cubeLightTex'</span><span>,</span> <span>1</span><span>,</span> <span>'TV'</span><span>,</span> <span>textuteImageSamplers</span><span>,</span> <span>App</span><span>.</span><span>meshes</span><span>.</span><span>TV</span><span>)</span><span>;</span>
<span>App</span><span>.</span><span>scene</span><span>.</span><span>TV</span><span>.</span><span>streamTextures</span> <span>=</span> <span>new</span> <span>VIDEO_TEXTURE</span><span>(</span><span>'Galactic Expansion Fractal Morph [Official Video]'</span><span>)</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Camera texture:
</h3>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>App</span><span>.</span><span>scene</span><span>.</span><span>TV</span><span>.</span><span>streamTextures</span> <span>=</span> <span>new</span> <span>ACCESS_CAMERA</span><span>(</span><span>'webcam_beta'</span><span>)</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	MatrixBVHCharacter (MEBvhAnimation)
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	MatrixBVHCharacter feature use class<span> </span><code style="font-size:13.6px;padding:.2em .4em;">matrixEngine.MEBvhAnimation</code>. Its load primitives for bvh skeletal. MatrixBVHCharacter is proccess where we load pre defined skelatal obj parts(head, neck, legs...) .
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	@Note Human character failed for now but func works.
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Nice for primitive obj mesh bur rig must have nice description of position/rotation. In maximo skeletal bones simple not fit. If you pripare bones you can get nice bvh obj adaptation for animations. mocap set of assets looks better for this operation.
</p>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Example Code:
</h4>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>const</span> <span>options</span> <span>=</span> <span>{</span>
    <span>world</span>: <span>world</span><span>,</span>                    <span>// [Required]</span>
    <span>autoPlay</span>: <span>true</span><span>,</span>                  <span>// [Optimal]</span>
    <span>showOnLoad</span>: <span>false</span><span>,</span>               <span>// [Optimal] if autoPLay is true then showOnLoad is inactive.</span>
    <span>type</span>: <span>'ANIMATION'</span><span>,</span>               <span>// [Optimal] 'ANIMATION' | "TPOSE'</span>
    <span>loop</span>: <span>'playInverse'</span><span>,</span>             <span>// [Optimal] true | 'stopOnEnd' | 'playInverse' | 'stopAndReset'</span>
    <span>globalOffset</span>: <span>[</span><span>-</span><span>30</span><span>,</span> <span>-</span><span>180</span><span>,</span> <span>-</span><span>155</span><span>]</span><span>,</span> <span>// [Optimal]  for 1.5 diff from obj seq anim</span>
    <span>skeletalBoneScale</span>: <span>2</span><span>,</span>            <span>// [Optimal]</span>
    <span>/*skeletalBlend: {               // [Optimal] remove arg for no blend</span>
<span>      paramDest: 4,</span>
<span>      paramSrc: 4</span>
<span>    },*/</span>
    <span>boneTex</span>: <span>{</span>
      <span>source</span>: <span>[</span>
        <span>"res/images/default/default-pink.png"</span><span>,</span>
      <span>]</span><span>,</span>
      <span>mix_operation</span>: <span>"multiply"</span><span>,</span>
    <span>}</span><span>,</span>
    <span>drawTypeBone</span>: <span>"matrixSkeletal"</span><span>,</span>
    <span>matrixSkeletal</span>: <span>"res/bvh-skeletal-base/y-bot/matrix-skeletal/"</span><span>,</span>
    <span>objList</span>: <span>[</span><span>'spine'</span><span>,</span> <span>'hips'</span><span>,</span> <span>'head'</span><span>]</span> <span>,</span>

    <span>matrixSkeletalObjScale</span>: <span>80</span><span>,</span>       <span>// [Optimal]</span>

    <span>// Can be predefined `MatrixSkeletal` prepared skeletal obj parts/bones.</span>
    <span>// Can be primitives:</span>
    <span>// pyramid | triangle | cube | square | squareTex | cubeLightTex | sphereLightTex</span>

    <span>// New optimal arg</span>
    <span>// Sometime we need more optimisation</span>
    <span>ignoreList</span>: <span>[</span><span>'spine1'</span><span>]</span><span>,</span>
    <span>ifNotExistDrawType</span>: <span>'triangle'</span>
  <span>}</span><span>;</span>

  <span>const</span> <span>filePath</span> <span>=</span> <span>"res/bvh/Female1_B04_StandToWalkBack.bvh"</span><span>;</span>
  <span>var</span> <span>myFirstBvhAnimation</span> <span>=</span> <span>new</span> <span>matrixEngine</span><span>.</span><span>MEBvhAnimation</span><span>(</span><span>filePath</span><span>,</span> <span>options</span><span>)</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	This is folder for obj parts (head arm legs ...) Filenames are simplefield like head.obj , arm.obj without any prefix from constructor...
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	matrixSkeletal: "res/bvh-skeletal-base/y-bot/matrix-skeletal/",
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Take a look example:<span> </span><code style="font-size:13.6px;padding:.2em .4em;">matrix_skeletal.js</code>.
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Character (ObjLoader/morph targets)
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	This good in runtime bad for loading procedure.
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	How to update character animation? Maximo -&gt; download dea or fbx -&gt; import intro blender Import multi or one animation. -&gt; blender export -&gt; obj (animation)
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<a href="https://github.com/zlatnaspirala/matrix-engine/blob/develop/non-project-files/character1.png" rel="external nofollow" style="background-color:transparent;"><img data-ratio="92.65" height="528" style="border-style:none;" width="528" alt="character1.png" src="https://github.com/zlatnaspirala/matrix-engine/raw/develop/non-project-files/character1.png" /></a>
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	This is new feature from [1.8.2]. Take a look at : load_obj_sequence.js
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	For now engine use objLoader to load all morphs.
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">    <span>matrixEngine</span><span>.</span><span>objLoader</span><span>.</span><span>downloadMeshes</span><span>(</span>
      <span>matrixEngine</span><span>.</span><span>objLoader</span><span>.</span><span>makeObjSeqArg</span><span>(</span>
        <span>{</span>
          <span>id</span>: <span>objName</span><span>,</span>
          <span>path</span>: <span>"res/bvh-skeletal-base/swat-guy/anims/swat-multi"</span><span>,</span>
          <span>from</span>: <span>1</span><span>,</span>
          <span>to</span>: <span>61</span>
        <span>}</span><span>)</span><span>,</span>
      <span>onLoadObj</span>
    <span>)</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	In<span> </span><code style="font-size:13.6px;padding:.2em .4em;">onLoadObj</code><span> </span>callback function:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>var</span> <span>animArg</span> <span>=</span> <span>{</span>
    <span>id</span>: <span>objName</span><span>,</span>
    <span>meshList</span>: <span>meshes</span><span>,</span>
    <span>// sumOfAniFrames: 61, No need if `animations` exist!</span>
    <span>currentAni</span>: <span>0</span><span>,</span>
    <span>// speed: 3, No need if `animations` exist!</span>
    <span>// upgrade - optimal</span>
    <span>animations</span>: <span>{</span>
      <span>active</span>: <span>'walk'</span><span>,</span>
      <span>walk</span>: <span>{</span>
        <span>from</span>: <span>0</span><span>,</span>
        <span>to</span>: <span>35</span><span>,</span>
        <span>speed</span>: <span>3</span>
      <span>}</span><span>,</span>
      <span>walkPistol</span>: <span>{</span>
        <span>from</span>: <span>36</span><span>,</span>
        <span>to</span>: <span>60</span><span>,</span>
        <span>speed</span>: <span>3</span>
      <span>}</span>
    <span>}</span>
  <span>}</span><span>;</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	FirstPersonShooter examples [WIP]
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Just like in eu4 shooter we dont need whole character mesh for FPSHooter view. I cut off no hands vertices in blender to make optimised flow.
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Feature [1.8.12] App.events Access. Take a look at the<span> </span><code style="font-size:13.6px;padding:.2em .4em;">apps\fps_player_controller.js</code><span> </span>example.
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>App</span><span>.</span><span>events</span><span>.</span><span>CALCULATE_TOUCH_DOWN_OR_MOUSE_DOWN</span> <span>=</span> <span>(</span><span>ev</span><span>,</span> <span>mouse</span><span>)</span> <span>=&gt;</span> <span>{</span>
    <span>// From [1.8.12]</span>
    <span>// checkingProcedure gets secound optimal argument</span>
    <span>// for custom ray origin target.</span>
    <span>// mouse</span>
    <span>console</span><span>.</span><span>log</span><span>(</span><span>mouse</span><span>.</span><span>BUTTON</span><span>)</span>
    <span>if</span><span>(</span><span>mouse</span><span>.</span><span>BUTTON_PRESSED</span> <span>==</span> <span>'RIGHT'</span><span>)</span> <span>{</span>
      <span>// Zoom</span>
    <span>}</span> <span>else</span> <span>{</span>
      <span>// This call represent `SHOOT` Action.</span>
      <span>// And it is center of screen</span>
      <span>matrixEngine</span><span>.</span><span>raycaster</span><span>.</span><span>checkingProcedure</span><span>(</span><span>ev</span><span>,</span> <span>{</span>
        <span>clientX</span>: <span>ev</span><span>.</span><span>target</span><span>.</span><span>width</span> <span>/</span> <span>2</span><span>,</span>
        <span>clientY</span>: <span>ev</span><span>.</span><span>target</span><span>.</span><span>height</span> <span>/</span> <span>2</span>
      <span>}</span><span>)</span><span>;</span>
    <span>}</span>
  <span>}</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	WIP calculating for fixing FPS camera view.
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	[1.8.11] New 3dObject property<span> </span><code style="font-size:13.6px;padding:.2em .4em;">isHUD</code>. If you setup this to the<span> </span><code style="font-size:13.6px;padding:.2em .4em;">true</code><span> </span>value object will escape world rotation/translation. Only local translation is active. This is good for HUD Menu in 3d space.
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Texture editor (runtime):
</h3>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Using Vjs3 with Editor use:
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;">  <span>App</span><span>.</span><span>scene</span><span>.</span><span>outsideBox</span><span>.</span><span>streamTextures</span> <span>=</span> <span>new</span> <span>Vjs3</span><span>(</span>
  <span>"./2DTextureEditor/actual.html"</span><span>,</span>
  <span>"actualTexture"</span>
<span>)</span><span>;</span></pre>
</div>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Running Editor Tool
	</li>
</ul><div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>npm</span> <span>run</span> <span>run</span><span>.</span><span>tex</span><span>.</span><span>editor</span>
<span>// or </span>
<span>npm</span> <span>run</span> <span>te</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	After creating 2d texture direct on page at the end run:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>npm</span> <span>run</span> <span>build</span><span>.</span><span>tex</span><span>.</span><span>editor</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	to make build final pack.
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Imports note we can use any canvas 2d app [anyCanvas] .
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	In examples:
</p>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		porting2d.js [Old VJS] Example of<span> </span><code style="font-size:13.6px;padding:.2em .4em;">anyCanvas</code>
	</li>
	<li>
		porting_text.js [Vjs3]
	</li>
	<li>
		porting2d_particle.js [Vjs3]
	</li>
</ul><p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	It is very powerfull tool!
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Research Vjs3 source examples at:<span> </span><a href="https://github.com/zlatnaspirala/visualjs" style="background-color:transparent;" rel="external nofollow">https://github.com/zlatnaspirala/visualjs</a>
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	On NPM Service<span> </span><code style="font-size:13.6px;padding:.2em .4em;">npm i visual-js</code><span> </span>, matrix engine already have<span> </span><code style="font-size:13.6px;padding:.2em .4em;">visual-js</code><span> </span>,<span> </span><code style="font-size:13.6px;padding:.2em .4em;">visual-js-server</code><span> </span>editor backend part.
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	To show/hide iframe use: App.scene.outsideBox - is any object who have streamTextures LOADED with 2DCANVAS.
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>App</span><span>.</span><span>scene</span><span>.</span><span>outsideBox</span><span>.</span><span>streamTextures</span><span>.</span><span>showTextureEditor</span><span>(</span><span>)</span><span>;</span>
<span>E</span><span>(</span><span>'HOLDER_STREAMS'</span><span>)</span><span>.</span><span>style</span><span>.</span><span>display</span> <span>=</span> <span>'none'</span><span>;</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Access to the [any] canvas2d program:<span> </span><code style="font-size:13.6px;padding:.2em .4em;">anyCanvas(path-of-html,name-of-canvas)</code>
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"> <span>App</span><span>.</span><span>scene</span><span>.</span><span>outsideBox</span><span>.</span><span>streamTextures</span> <span>=</span> <span>new</span> <span>anyCanvas</span><span>(</span>
      <span>"./apps/funny-slot/"</span><span>,</span>
      <span>"HELLO_WORLD"</span><span>)</span></pre>
</div>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Live editor [actual.js predefined]
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<a href="https://github.com/zlatnaspirala/webgl2-glmatrix2-engine/blob/master/non-project-files/matrix-engine-tex-editor.png" rel="external nofollow" style="background-color:transparent;"><img alt="Texture-Editor" data-ratio="75.08" style="border-style:none;" width="999" src="https://github.com/zlatnaspirala/webgl2-glmatrix2-engine/raw/master/non-project-files/matrix-engine-tex-editor.png" /></a>
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Old VJS loading with anyCanvas()
</h3>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<a href="https://github.com/zlatnaspirala/webgl2-glmatrix2-engine/blob/master/non-project-files/matrix-engine.png" rel="external nofollow" style="background-color:transparent;"><img alt="Texture-Editor" data-ratio="75.08" style="border-style:none;" width="999" src="https://github.com/zlatnaspirala/webgl2-glmatrix2-engine/raw/master/non-project-files/matrix-engine.png" /></a>
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Old Live demo: Video and webcam works at:<span> </span><a href="https://maximumroulette.com/webgl2/examples.html" rel="external nofollow" style="background-color:transparent;">https://maximumroulette.com/webgl2/examples.html</a>
</p>

<h3 style="background-color:#0d1117;color:#c9d1d9;font-size:1.25em;">
	Changes:
</h3>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	From [1.8.14] Html's Every static file / resource moved to the new folder ./public
</h4>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Improved FPShooter example , added collision box for player.
	</li>
</ul><h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	From [1.8.13] MatrixSounds
</h4>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Access object<span> </span><code style="font-size:13.6px;padding:.2em .4em;">App.sounds</code>.
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Usage:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>// Play source audio [single instance].</span>
<span>App</span><span>.</span><span>sounds</span><span>.</span><span>createAudio</span><span>(</span><span>'music'</span><span>,</span> <span>'res/music/background-music.mp3'</span><span>)</span><span>;</span>
<span>// Play simultanius same source audio.</span>
<span>App</span><span>.</span><span>sounds</span><span>.</span><span>createAudio</span><span>(</span><span>'shoot'</span><span>,</span> <span>'res/music/single-gunshot.mp3'</span><span>,</span> <span>5</span><span>)</span><span>;</span></pre>
</div>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	From [1.8.12]
</h4>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Draw scene list swap items options must be done!
</p>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	From [1.8.0]
</h4>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Added watchify. We have support for real time connections based on webRTC. You must work on https protocol even in localhost. Change in program/manifest<span> </span><code style="font-size:13.6px;padding:.2em .4em;">net = false</code><span> </span>if you dont wanna use networking.
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Node.js Multiplayer Server based on webRTC. Take a look at the folder<span> </span><code style="font-size:13.6px;padding:.2em .4em;">./netwotking</code>.
</p>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Run it:
</p>

<div style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	<pre style="font-size:13.6px;padding:16px;"><span>cd</span> <span>networking</span>
<span>node</span> <span>matrix</span><span>.</span><span>server</span><span>.</span><span>js</span></pre>
</div>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	If you wanna in terminal popup then run (bash/work on win also if you have bash)<span> </span><code style="font-size:13.6px;padding:.2em .4em;">dedicated.sh./</code><span> </span>or<span> </span><code style="font-size:13.6px;padding:.2em .4em;">dedicated.bat</code>.
</p>

<h4 style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	From [1.7.11]
</h4>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	No need for:<span> </span><code style="font-size:13.6px;padding:.2em .4em;">// matrixEngine.Engine.load_shaders('shaders/shaders.html');</code><span> </span>Initial Shaders now loads from code (inside engine). No need any action.
</p>

<h2 style="background-color:#0d1117;border-bottom:1px solid;color:#c9d1d9;font-size:1.5em;">
	PWA Fully runned
</h2>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	Integrated<span> </span><code style="font-size:13.6px;padding:.2em .4em;">Add to Home page</code><span> </span>and<span> </span><code style="font-size:13.6px;padding:.2em .4em;">regular html5 page</code><span> </span>options. In same time fixed all<span> </span><code style="font-size:13.6px;padding:.2em .4em;">autoplay</code><span> </span>audio and video context construction. It is good to consult pwa test on page. Best way is to keep it on 100% pass.<span> </span><a href="https://github.com/zlatnaspirala/webgl2-glmatrix2-engine/blob/master/non-project-files/pwa__test.png" rel="external nofollow" style="background-color:transparent;"><img alt="pwa-powered" data-ratio="75.08" style="border-style:none;" width="999" src="https://github.com/zlatnaspirala/webgl2-glmatrix2-engine/raw/master/non-project-files/pwa__test.png" /></a>
</p>

<h2 style="background-color:#0d1117;border-bottom:1px solid;color:#c9d1d9;font-size:1.5em;">
	Secured<span> </span>🛡
</h2>

<p style="background-color:#0d1117;color:#c9d1d9;font-size:16px;">
	No Dependabot alerts opened.
</p>

<h2 style="background-color:#0d1117;border-bottom:1px solid;color:#c9d1d9;font-size:1.5em;">
	Credits &amp;&amp; Licence:
</h2>

<ul style="background-color:#0d1117;color:#c9d1d9;font-size:16px;"><li>
		Video material used from :From youtube.com : Electric sheep - a facinating animated flame fractal TheMrNgaard Creative Commons Attribution licence (reuse allowed)
	</li>
	<li>
		Project Base Structure inspired by Copyright (C) 2014 Tappali Ekanathan Keestu (<a href="mailto:keestu@gmail.com" style="background-color:transparent;" rel="">keestu@gmail.com</a>) GNU General Public License
	</li>
	<li>
		Textures download from<span> </span><a href="http://textures.com/" rel="external nofollow" style="background-color:transparent;">http://textures.com</a>
	</li>
	<li>
		Dinamic texture<span> </span><code style="font-size:13.6px;padding:.2em .4em;">bitcoin</code><span> </span>used from: Author:Ioannis Cherouvim GitHub:cherouvim Reddit:/r/cherouvim Website:cherouvim.com Compo:canvas Demo link:<a href="https://js1k.com/2017-magic/demo/2853" rel="external nofollow" style="background-color:transparent;">https://js1k.com/2017-magic/demo/2853</a><span> </span>Shortlink:<a href="https://js1k.com/2853" rel="external nofollow" style="background-color:transparent;">https://js1k.com/2853</a>
	</li>
	<li>
		Female 3d Object<span> </span><a href="http://www.blendswap.com/blends/view/26225" rel="external nofollow" style="background-color:transparent;">http://www.blendswap.com/blends/view/26225</a><span> </span>Creative Commons Attribution 3.0<span> </span><a href="http://www.blendswap.com/users/view/AndresCuccaro" rel="external nofollow" style="background-color:transparent;">http://www.blendswap.com/users/view/AndresCuccaro</a>
	</li>
	<li>
		<a href="https://freestocktextures.com/texture/bark-wood-plant,122.html" rel="external nofollow" style="background-color:transparent;">https://freestocktextures.com/texture/bark-wood-plant,122.html</a>
	</li>
	<li>
		<a href="https://github.com/Necolo/raycaster" style="background-color:transparent;" rel="external nofollow">https://github.com/Necolo/raycaster</a>
	</li>
	<li>
		Great<span> </span><a href="https://www.mixamo.com/" rel="external nofollow" style="background-color:transparent;">https://www.mixamo.com/</a>
	</li>
	<li>
		OBJECT LOADER<span> </span><a href="http://math.hws.edu/graphicsbook/source/webgl/cube-camera.html" rel="external nofollow" style="background-color:transparent;">http://math.hws.edu/graphicsbook/source/webgl/cube-camera.html</a>
	</li>
	<li>
		Player character<span> </span><a href="https://www.mixamo.com/#/?page=1&amp;query=walk&amp;type=Motion%2CMotionPack" rel="external nofollow" style="background-color:transparent;">https://www.mixamo.com/#/?page=1&amp;query=walk&amp;type=Motion%2CMotionPack</a>
	</li>
	<li>
		BVH collections from: Special thanks to the CMU Graphics Lab Motion Capture Database which provided the data<span> </span><a href="http://mocap.cs.cmu.edu/%60" rel="external nofollow" style="background-color:transparent;">http://mocap.cs.cmu.edu/`</a>
	</li>
	<li>
		Used in examples: BLACK FLY by Audionautix |<span> </span><a href="http://audionautix.com/" rel="external nofollow" style="background-color:transparent;">http://audionautix.com</a><span> </span>Music promoted by<span> </span><a href="https://www.free-stock-music.com/" rel="external nofollow" style="background-color:transparent;">https://www.free-stock-music.com</a><span> </span>Creative Commons Attribution-ShareAlike 3.0 Unported<span> </span><a href="https://creativecommons.org/licenses/by-sa/3.0/deed.en_US" rel="external nofollow" style="background-color:transparent;">https://creativecommons.org/licenses/by-sa/3.0/deed.en_US</a>
	</li>
	<li>
		Networking based on<span> </span><a href="https://github.com/muaz-khan/RTCMultiConnection" style="background-color:transparent;" rel="external nofollow">https://github.com/muaz-khan/RTCMultiConnection</a>
	</li>
	<li>
		<a href="https://unsplash.com/photos/8UDJ4sflous" rel="external nofollow" style="background-color:transparent;">https://unsplash.com/photos/8UDJ4sflous</a>
	</li>
	<li>
		<a href="https://webgl-shaders.com/shaders/frag-lens.glsl" rel="external nofollow" style="background-color:transparent;">https://webgl-shaders.com/shaders/frag-lens.glsl</a>
	</li>
	<li>
		<a href="https://www.fesliyanstudios.com/royalty-free-sound-effects-download/gun-shooting-300" rel="external nofollow" style="background-color:transparent;">https://www.fesliyanstudios.com/royalty-free-sound-effects-download/gun-shooting-300</a>
	</li>
</ul>]]></description><guid isPermaLink="false">50023</guid><pubDate>Mon, 21 Nov 2022 19:09:08 +0000</pubDate></item><item><title>Awesome JavaScript Games and resources in Collaboration</title><link>https://www.html5gamedevs.com/topic/45636-awesome-javascript-games-and-resources-in-collaboration/</link><description><![CDATA[
<p>
	Hello folks,
</p>

<p>
	 
</p>

<p>
	I'm creating a list of awesome JavaScript games and resources <a href="https://github.com/proyecto26/awesome-jsgames" rel="external nofollow">https://github.com/proyecto26/awesome-jsgames</a>
</p>

<p>
	It would be awesome if you can suggest me more resources to add!
</p>

<p>
	Pull requests are always welcome! <span class="ipsEmoji">❤️</span>
</p>

<p>
	 
</p>

<p>
	Group on Facebook: <a href="https://www.facebook.com/groups/javascriptgames/" rel="external nofollow">https://www.facebook.com/groups/javascriptgames</a>
</p>

<p>
	Regards,
</p>

<p>
	JD
</p>
]]></description><guid isPermaLink="false">45636</guid><pubDate>Fri, 12 Jun 2020 21:51:04 +0000</pubDate></item><item><title>Make Fun Educational Games with Growing EdTech Company!</title><link>https://www.html5gamedevs.com/topic/48970-make-fun-educational-games-with-growing-edtech-company/</link><description><![CDATA[<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Hey everyone!<br />
	My name is Adrian and I represent<span> </span><strong>Legends of Learning</strong><span> </span>- a platform for game based learning in schools, and a marketplace for game developers to earn revenue creating educational games. While Legends of Learning is an educational game company, we operate on the assumption that current educational games are not very good nor fun... and sometimes not even educational! Through an innovative marketplace of educational games,<span> </span><strong>Legends of Learning</strong><span> </span>teaches math and science to nearly 10 million students in over 30,000 schools (and growing fast). We are looking to work with passionate game developers interested in revenue share to build FUN games that also happen to teach.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<br />
	Games on our platform usually consist of<span> </span><strong>10-15 minutes of gameplay</strong><span> </span>to teach a specific academic topic, and developers have complete creative freedom (really!) in how that topic is taught (e.g. you can create a tower defense game to teach “Heat as Energy Transfer” or a match-3 style game to teach “Chemical Reactions in Cellular Respiration”). The median new game will earn $8-13k in 2022 (annually), with this number rising each successive year ($15k+ in 2023, $20k+ in 2024, etc.). The longer your game stays on the platform, the more you will earn, and some devs have multiple games on the platform so their total earnings can be much higher. You also retain game IP and can reuse existing assets from your previously made games provided that it makes sense in the context of an educational game for kids.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<br />
	Whether you are an independent developer or part of a 100-person studio, we want to work with you. Unlike other platforms that only make a lucky few studios wealthy in a "winner take all" marketplace, Legend's innovative model provides<span> </span><strong>significant and growing payouts</strong><span> </span>to the MEDIAN developer, with great payouts for top developers. Does building games that matter sound interesting to you? Visit<span> </span><a href="https://www.legendsoflearning.com/interested-game-developer/" rel="external nofollow" style="background-color:transparent;color:#3d6594;">https://www.legendsoflearning.com/interested-game-developer/</a><span> </span>and sign up at the bottom of the page or send me a message!
</p>
]]></description><guid isPermaLink="false">48970</guid><pubDate>Tue, 04 Oct 2022 20:36:51 +0000</pubDate></item><item><title>ANY PHASER 3 DEVELOPER IN 2021?</title><link>https://www.html5gamedevs.com/topic/47541-any-phaser-3-developer-in-2021/</link><description><![CDATA[<p>
	Is anyone still making games with Phaser 3 in 2021?
</p>]]></description><guid isPermaLink="false">47541</guid><pubDate>Thu, 22 Jul 2021 08:17:54 +0000</pubDate></item><item><title>Looking to recruit members to a team.</title><link>https://www.html5gamedevs.com/topic/48105-looking-to-recruit-members-to-a-team/</link><description><![CDATA[
<p>
	Hello we are looking to recruit members to a team for a game built with JS client and C#. The game is basically a virtual world where you can dress up your characters and explore the game to meet new friends from around the world. You will be able to decorator your own homes so you can invite other in games players over to chat &amp; chill. The game will be called MyLife it will be easy to understand and to even play. More details about the game built can be asked privately if you're interested.
</p>
]]></description><guid isPermaLink="false">48105</guid><pubDate>Mon, 07 Feb 2022 03:16:10 +0000</pubDate></item><item><title>Collaboration with Atheios - the gaming blockchain</title><link>https://www.html5gamedevs.com/topic/43515-collaboration-with-atheios-the-gaming-blockchain/</link><description><![CDATA[
<h1 style="border:none;">
	<span style="color:#000000;font-size:20pt;">Atheios - the blockchain geared for gaming</span>
</h1>

<p style="border:none;">
	<span style="color:#000000;font-size:11pt;">You probably have heard about blockchain before. Bitcoin is one of its most well known cryptocoin and today considered a store of value with the current price of above 10k USD. All blockchains, when being distributed, are considered as an immutable ledger where information can be stored or contracts can be executed. This is where we think gaming as a use case is an interesting opportunity.</span>
</p>

<h2 style="border:none;">
	<span style="color:#000000;font-size:17pt;">Who are we?</span>
</h2>

<p style="border:none;">
	<span style="color:#000000;font-size:11pt;">We are not a company, we are a community driven blockchain. This is good for You as we do not drive o</span><span style="color:#000000;font-size:11pt;">ur own agenda or economical goals. This means all code is open and</span><span style="color:#000000;font-size:11pt;"> on github (athofficial) and we will be developing the blockchain along with Your goals. We are Ethereum based, so You can develop contracts using solidity. We plan to develop the blockchain further as we believe we need to scale for gaming differently as Ethereum does.</span>
</p>

<h2 style="border:none;">
	<span style="color:#000000;font-size:17pt;">What do we offer?</span>
</h2>

<p style="border:none;">
	<span style="color:#000000;font-size:11pt;">We have a working blockchain and have a support team to help You integrate our blockchain into Your game. As an example You could use Atheios to make game play </span><span style="color:#000000;font-size:11pt;">more interesting. Take a look at bloxxchain.atheios.org as an example of Atheios integration. We will work with several game developers and will make Your game visible in our social media and website as we want to build an ecosystem around Atheios.</span>
</p>

<h2 style="border:none;">
	<span style="color:#000000;font-size:17pt;">What do You get?</span>
</h2>

<p style="border:none;">
	<span style="color:#000000;font-size:11pt;">So beside potential exposure You will get an account (a blockchain address) with 1000 ATH to work and integrate with. This will allow You to get </span><span style="color:#000000;font-size:11pt;">goi</span><span style="color:#000000;font-size:11pt;">ng. We have a thriving community of people to bounce questions and to get help. On the completion of the integration You will get an additional 9000 ATH as this will potentially enable You to make some events with special prices and create some attraction.</span>
</p>

<h2 style="border:none;">
	<span style="color:#000000;font-size:17pt;">What can we promise?</span>
</h2>

<p style="border:none;">
	<span style="color:#000000;font-size:11pt;">To be honest, this is a lot of new territories. But if we will succeed You will succeed and v</span><span style="color:#000000;font-size:11pt;">ice versa. This is why it is a collaboration. We will not promise You the moon, but if this idea gets traction You will be glad You have participated. And who knows, if the 10k ATH will be worth one day 10c each, maybe this has been a great starting offer.</span>
</p>

<h2 style="border:none;">
	<span style="color:#000000;font-size:17pt;">Interested?</span>
</h2>

<p style="border:none;">
	<span style="color:#000000;font-size:11pt;">The easiest is to join the Atheios discord </span><span style="color:#000000;font-size:11pt;"><a href="https://discord.gg/6m9pewq" rel="external nofollow">https://discord.gg/6m9pewq</a> </span><span style="color:#000000;font-size:11pt;">and make Yourself known in the working groups under game-dev section, or just leave some comments here.</span><span style="color:#000000;font-size:11pt;"> So bring Your game idea, Your coding skills and let’s create something different.</span>
</p>

<h2 style="border:none;">
	<span style="color:#000000;font-size:17pt;">About Atheios</span>
</h2>

<p style="border:none;">
	<span style="color:#000000;font-size:11pt;">Atheios is a blockchain publicly traded on stocks exchange and on safe trade. Our crypto symbol is ATH. You can check out our website at <a href="https://www.atheios.org" rel="external nofollow">https://www.atheios.org</a> and follow us on Twitter.</span>
</p>

<p style="border:none;">
	 
</p>

<p style="border:none;">
	 
</p>
]]></description><guid isPermaLink="false">43515</guid><pubDate>Sat, 10 Aug 2019 18:50:53 +0000</pubDate></item><item><title>We have marketing, you have a game</title><link>https://www.html5gamedevs.com/topic/42700-we-have-marketing-you-have-a-game/</link><description><![CDATA[
<p>
	Hello, im looking for game owner to work with. <br /><br />
	We have proven skills in making games popular. We have built a network of advertising channels that are - social media, discord, twitch. In total we can reach over 1mil gamers. On a basic day we reach about 30-50k gamers. We can even target these gamers per niche for example - csgo, fortnite ext. 
</p>

<p>
	We are looking for a game like agar.io that has potential to earn in the hundert thousand range. <br />
	As long as your game is interesting with clear monetization we are willing to do all the marketing work on it. 
</p>

<p>
	 
</p>

<p>
	If you have such project we are willing to start ASAP. 
</p>
]]></description><guid isPermaLink="false">42700</guid><pubDate>Thu, 25 Apr 2019 08:57:44 +0000</pubDate></item><item><title>A programmer is looking for a 2D artist</title><link>https://www.html5gamedevs.com/topic/47758-a-programmer-is-looking-for-a-2d-artist/</link><description><![CDATA[
<p>
	Hi everyone! I'm a programmer with over the nine years of experience in IT. I want to try myself in a gamedev.
</p>

<p>
	At the moment I explore processes and "touch" game engines. I decided to start with a simple game. I've already written a <a href="https://alexlumper.notion.site/Advanced-Tutorial-Vision-Doc-en-c71b5837e317420cbe592c7be5061a91" rel="external nofollow">vision doc</a> (you can find a playable demo there). I also started writing a design document, which contains lore descriptions, perks, level features etc., but it's format is not ready for the public release yet. I don't expect much income from this project (it's f2p btw), so the main goal is to "feel" the pipeline and to lead the project to a public release.
</p>

<p>
	I'd like to start with the technology I already know: javascript and friends. We don't usually see games in steam made with JS (but we actually can develop this) and I know that this sector is mostly for hyper-casual-social games for facebook-like sites. But I think the development process itself with JS is mostly the same as with gamedev-oriented tools (except that I don't have a nice all-in-one environment, like Unity and others have). So as the starting point a plan to finish my first game in JS, then I want to continue with Godot or Unity.
</p>

<p>
	I'm looking for a 2D artist (characters, surroundings) with the similar motivation and at least some experience for collaboration. As a growing professional you can hone your skills on preparing art for a games in different formats.
</p>

<p>
	The post is relevant while the vision doc is available by the url.
</p>

<p>
	PM me here or send me an email at <a href="mailto:alexlumperdev@gmail.com" rel="">alexlumperdev@gmail.com</a>. It would be cool if you attach some of your works.
</p>
]]></description><guid isPermaLink="false">47758</guid><pubDate>Sat, 18 Sep 2021 19:29:25 +0000</pubDate></item><item><title>Decompile a 90mb swf</title><link>https://www.html5gamedevs.com/topic/47682-decompile-a-90mb-swf/</link><description><![CDATA[
<p>
	I have tried a lot to decompile this <a href="https://www.icloud.com/iclouddrive/0YW5ym9BUSzHGwiohiloKH-zA#GachaLife" rel="external nofollow">swf</a>
</p>

<p>
	but no solution works
</p>

<p>
	i request for the community to decompile this for me
</p>
]]></description><guid isPermaLink="false">47682</guid><pubDate>Thu, 26 Aug 2021 23:04:40 +0000</pubDate></item><item><title>Embed Your Games On My High Traffic Site Free</title><link>https://www.html5gamedevs.com/topic/44961-embed-your-games-on-my-high-traffic-site-free/</link><description><![CDATA[
<p>
	Hello, my name is Alan and I run a entertainment website with large amounts of traffic each day. I have a games section of my website that gets a lot of gameplay. I am looking for developers and game owners who want to get their games more plays and attention. In return Id get you to post your games on my site. You are welcome to have ads on your games. Would anyone be interested in posting new games frequently? <a href="http://mralanc.blog" rel="external nofollow">This is my site</a>, let me know and  I can create you a developer account so you can post your games in our game sections and create your own website pages. We do very well on Google. <a href="https://mralanc.blog/mralancs-arcade/" rel="external nofollow">This is our games section</a>.
</p>

<p>
	Thank you for your time.
</p>
]]></description><guid isPermaLink="false">44961</guid><pubDate>Mon, 23 Mar 2020 12:14:22 +0000</pubDate></item><item><title>Simple pixel editor - Javascript Programmer</title><link>https://www.html5gamedevs.com/topic/47159-simple-pixel-editor-javascript-programmer/</link><description><![CDATA[
<p>
	Hi all, my name is Leo and I'm an indie developer. I want to make a little game where you can edit a pixel and leave a little text on it. The total will be 1000 by 1000 pixels (a million pixels) It's kind of like the r/place that was created by reddit. I'm looking for someone to help me make<br />
	A scalable canvas for such a game. Specifically:<br />
	1) zoomable and pan canvas (work on mobile device too)<br />
	2) select pixel (and get pixel coord)
</p>

<p>
	3) select color in the window and paint over the pixel (optional)<br />
	4) three buttons (one to zoom in, one to zoom out, and one to go into paint mode) 
</p>

<p>
	I'm familiar with C++ and I wrote a couple of projects with it, but I'm not familiar with javascript (and frankly speaking, it's hard for me to write with it):
</p>

<p>
	<a href="https://codepen.io/ivaosi/pen/ExNZXeV" rel="external nofollow">codeopen</a>
</p>

<p>
	From this code you can see that I want the canvas to occupy the whole page, with fixed size (1000 by 1000 pixels strictly fixed)
</p>

<p>
	As you may have noticed I have implemented the view class which I use for scaling. As far as I understand it, it is possible to implement a viewport class or something like that for the camera that looks at the canvas (I attached a picture for better understanding)
</p>

<p>
	I don't want to use frameworks because I want to have full control over the code and what is written in it. 
</p>

<p>
	<br />
	Maybe someone could help me make such a thing for free
</p>

<p>
	Very thx for you!
</p>

<p><a href="https://www.html5gamedevs.com/uploads/monthly_2021_04/4434432.png.e315305097c7ddb8bbfa46233d0633c6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="24595" src="https://www.html5gamedevs.com/uploads/monthly_2021_04/4434432.png.e315305097c7ddb8bbfa46233d0633c6.png" data-ratio="56.9" width="986" class="ipsImage ipsImage_thumbnailed" alt="4434432.png"></a></p>]]></description><guid isPermaLink="false">47159</guid><pubDate>Tue, 13 Apr 2021 18:13:08 +0000</pubDate></item><item><title>Partnership for an upcoming 5G ready Mobile Games Kickstarter campaign</title><link>https://www.html5gamedevs.com/topic/46900-partnership-for-an-upcoming-5g-ready-mobile-games-kickstarter-campaign/</link><description><![CDATA[
<p>
	</p>

<p style="color:#353c41;font-size:14px;">
	Hey folks!
</p>

<p style="color:#353c41;font-size:14px;">
	We can see Instant Games in Facebook Gaming, Paytm, Snapchat and WeChat, and we've decided to check out if it'll be interesting to see how so-called Early Adopters from the crowdfunding world will react.<br />
	So far, there was only one serious funding about this, of course in California. This means, quite some smart people did believe in it.<span> </span><a href="https://venturebeat.com/2019/08/29/knock-knock-raises-4-million-to-make-social-instant-games/" rel="external nofollow" style="background-color:transparent;color:#3d6594;">Knock Knock has raised $4M</a>, but we can't compare ourselves working after hours to the ecosystem Silicon Valley has. At least, for now<span> </span><img alt=":)" data-emoticon="" data-ratio="100.00" height="20" src="https://www.html5gamedevs.com/uploads/emoticons/default_smile.png" srcset="https://www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x" style="border-style:none;vertical-align:middle;" title=":)" width="20" /></p>

<p style="color:#353c41;font-size:14px;">
	All the signs on the sky show that 5G will accelerate the development of Instant Games, aka. Games without Installation - that's how we named it. In the future, it might be the long-awaited competitive gaming channel for Apple &amp; Google App Stores. With the campaign, we can ourselves familiar with the ecosystem, and when the technology will be mature we'll play more and more advanced games in such a way.
</p>

<p style="color:#353c41;font-size:14px;">
	For our upcoming Kickstarter campaign (late draft: <a href="https://www.kickstarter.com/projects/danieldanielecki/286175433?ref=d8ka5q&amp;token=4c209538" rel="external nofollow" style="background-color:transparent;color:#3d6594;">https://www.kickstarter.com/projects/danieldanielecki/286175433?ref=d8ka5q&amp;token=4c209538</a>) we're looking for partnership within this HTML5 community, incl. on non-obligatory basis. It can be anything, don't hesitate to shout out with your offer, even if that's something really small.
</p>

<p style="color:#353c41;font-size:14px;">
	We're using for our games<span> </span><a href="http://phaser.io" rel="external nofollow" style="background-color:transparent;color:#3d6594;">Phaser</a><span> </span>as well as we'd love to advertise the<span> </span><a href="https://www.html5gamedevs.com" rel="" style="background-color:transparent;color:#3d6594;">HTML5 Game Devs Forum</a>, where our remote team met (cc: <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.html5gamedevs.com/profile/1-rich/?do=hovercard" data-mentionid="1" href="https://www.html5gamedevs.com/profile/1-rich/" rel="" style="background-color:#3d6594;color:#ffffff;font-size:12.600000381469727px;padding:0px 5px;">@rich</a>). In case you're working on some kind of games/platform, let us know. Your business might be featured on our campaign as one of our Partners. We've been accepted to the<span> </span><a href="https://aws.amazon.com/activate/" rel="external nofollow" style="background-color:transparent;color:#3d6594;">AWS Activate program</a>, and we can help you too with the possibility to gain up to $100k in AWS credits (we got $12k).
</p>

<p style="color:#353c41;font-size:14px;">
	Don't hesitate reach out to us via<span>:</span>
</p>

<ul style="color:#353c41;font-size:14px;"><li>
		<a href="https://doyban.com/contact/" rel="external nofollow" style="background-color:transparent;color:#3d6594;">Contact form on our website</a>
	</li>
	<li>
		Our Founder's <a href="https://www.facebook.com/daniel.danielecki/" rel="external nofollow" style="background-color:transparent;color:#3d6594;">Facebook</a>, <a href="https://www.linkedin.com/in/danieldanielecki/" rel="external nofollow" style="background-color:transparent;color:#3d6594;">LinkedIn</a> or<span> </span><a href="https://twitter.com/ddanielecki" rel="external nofollow" style="background-color:transparent;color:#3d6594;">Twitter</a>
	</li>
	<li>
		contact[at]doyban.com
	</li>
	<li>
		DM here, or<span> </span><a href="https://twitter.com/doybangames" rel="external nofollow" style="background-color:transparent;color:#3d6594;">Twitter</a>
	</li>
</ul>]]></description><guid isPermaLink="false">46900</guid><pubDate>Fri, 05 Feb 2021 16:00:22 +0000</pubDate></item></channel></rss>
