<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Devlog on Canoi Gomes</title>
    <link>https://notes.canoigomes.com.br/tags/devlog/</link>
    <description>Recent content in Devlog on Canoi Gomes</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>pt-br</language>
    <managingEditor>canoigomes@proton.me (Canoi Gomes)</managingEditor>
    <webMaster>canoigomes@proton.me (Canoi Gomes)</webMaster>
    <lastBuildDate>Tue, 31 Dec 2024 19:00:00 -0300</lastBuildDate><atom:link href="https://notes.canoigomes.com.br/tags/devlog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Minha Jornada Pessoal no Desenvolvimento de Game Engines</title>
      <link>https://notes.canoigomes.com.br/posts/2024-12-31-minha-jornada-pessoal-no-desenvolvimento-de-game-engines/</link>
      <pubDate>Tue, 31 Dec 2024 19:00:00 -0300</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/2024-12-31-minha-jornada-pessoal-no-desenvolvimento-de-game-engines/</guid>
      
      <description>&lt;p&gt;Recentemente lancei um projeto que vinha trabalhando desde o ano passado, a &lt;a href=&#34;https://github.com/canoi12/selene&#34;&gt;selene&lt;/a&gt;, mas parando pra fazer uma análise do que desenvolvi até agora e das ideias que ainda tenho para a mesma, vi que muitos dos conceitos apareciam nos meus primeiros projetos de engine, nem que seja em forma de protótipo ou ideia. Por mais que um projeto seu nunca veja a luz do dia, ou não venha a ser finalizado, só de colocar um esforço de aprendizado ali já serve de muita coisa. E fazendo essa análise dos projetos em que já trabalhei, acabei achando uns paralelos bem interessantes de como meu passo seguinte acaba meio que sendo influenciado pela minha dificuldade no momento. Aqui vou tentar filtrar mais sobre game engines, frameworks e projetos do tipo, mas até mesmo meu tempo usando diversas engines como GameMaker, Construct 2, Godot, etc, foram valiosos e moldaram de certa forma meus interesses.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Reestruturando a Selene Framework</title>
      <link>https://notes.canoigomes.com.br/posts/2024-07-16-reestruturando-a-selene-framework/</link>
      <pubDate>Tue, 16 Jul 2024 19:00:00 -0300</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/2024-07-16-reestruturando-a-selene-framework/</guid>
      
      <description>&lt;p&gt;Já tem um tempo que sigo nessa empreitada de achar um formato interessante para essa lib. Como já comentei em uma &lt;a href=&#34;https://notes.canoigomes.com.br/post/2023-10-19-selene-engine-pt-br&#34;&gt;postagem anterior&lt;/a&gt;, essa lib nasceu com uma proposta bem parecida com um LÖVE da vida, com um core todo escrito em C (como render e sistema de áudio) e um frontend em Lua que faz uso dessas estruturas.&lt;/p&gt;
&lt;p&gt;Porém recentemente decidi abandonar essa ideia do core em C, e fazer a framework em Lua, ou seja, todo o renderer e seus tipos como Imagens, Canvas, Batch, entre outros, serão escritos em Lua. E o core em C seria apenas um wrapper para algumas libs, como &lt;code&gt;SDL2&lt;/code&gt;, &lt;code&gt;OpenGL&lt;/code&gt;. Também uso para expor algumas funções de filesystem também como, &lt;code&gt;mkdir&lt;/code&gt;, ou listar arquivos em um diretório, coisas que Lua não tem por padrão. Com isso eu acabo deixando o funcionamento do meu executável bem simples, já que é um executável que permite a execução de scripts Lua e possui algumas libs uteis. Embutido também há um pequeno script em Lua que vai ser responsável por fazer o &amp;ldquo;boot&amp;rdquo; da framework.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Selene Engine</title>
      <link>https://notes.canoigomes.com.br/posts/selene/2023-10-19-selene-engine/</link>
      <pubDate>Thu, 19 Oct 2023 21:07:00 +0000</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/selene/2023-10-19-selene-engine/</guid>
      
      <description>&lt;p&gt;In the last weeks i was focusing on restructure one of my projects, this project is basically a game framework/engine that uses Lua as script language, it initially was called &lt;a href=&#34;https://github.com/canoi12/poti&#34;&gt;poti&lt;/a&gt;, but i had another project called &lt;a href=&#34;https://github.com/canoi12/selene&#34;&gt;selene&lt;/a&gt; that was one of the main first tries on computer graphics stuff (using SDL2 and OpenGL), and i was trying to find another use case, so i decided to switch both projects because &lt;code&gt;selene&lt;/code&gt; fits well as a Lua project (lua means moon in portuguese, and selene is the Greek goddess of the moon), and &lt;code&gt;poti&lt;/code&gt; will become my C lib, but don&amp;rsquo;t started to work on it yet.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Selene Engine [PT-BR]</title>
      <link>https://notes.canoigomes.com.br/posts/selene/2023-10-19-selene-engine-pt-br/</link>
      <pubDate>Thu, 19 Oct 2023 12:37:00 +0000</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/selene/2023-10-19-selene-engine-pt-br/</guid>
      
      <description>&lt;p&gt;Nas ultimas semanas estava focado em reestruturar um dos meus projetos que é basicamente uma game framework/engine que utilize Lua como linguagem de script, o projeto inicialmente nasceu como &lt;a href=&#34;https://github.com/canoi12/poti&#34;&gt;poti&lt;/a&gt;, mas há algum tempo estava tentando ressignificar outro dos meus projetos, a &lt;a href=&#34;https://github.com/canoi12/selene&#34;&gt;selene&lt;/a&gt;, e por achar que o nome casa mais com o projeto em questão, decidi fazer essa troca.&lt;/p&gt;
&lt;p&gt;Inicialmente eu estava focado em fazer a framework base em C e operar ela utilizando Lua, então a ideia seria ter um renderizador básico em C, uma engine de áudio básica também, etc. Maaas, decidi seguir por um caminho diferente, e até explorar mais a ideia inicial do projeto que é a de ter um core simples e o projeto ser o mais modular possível via Lua, então ao invés de construir essas estruturas em C usando as libs (SDL2, OpenGL, &amp;hellip;), achei melhor expor as funções das lib pra Lua e construir a framework lá.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>(Re)Implementing Wren in tiny coffee</title>
      <link>https://notes.canoigomes.com.br/posts/2020-07-07-tico-wren-module/</link>
      <pubDate>Tue, 07 Jul 2020 11:25:00 -0300</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/2020-07-07-tico-wren-module/</guid>
      
      <description>&lt;p&gt;I&amp;rsquo;m working on re-implement Wren in tiny coffee, i started with Wren support first, but as i&amp;rsquo;m more familiar with Lua, and had more material on internet, i decided to focus on it. But as things seems getting fine with the Lua wrap, i decided to work again in the Wren wrap.&lt;/p&gt;
&lt;p&gt;In the beginning i was thinking in have two exe options, with Lua or Wren, but since i want to make the game editor and tools with Lua, i decided to make it mandatory. And with Lua being mandatory, i decided to distribute the exe with Wren too. But how to determine how language to use? I thought in many solutions (detect for &lt;code&gt;main.lua&lt;/code&gt; or &lt;code&gt;main.wren&lt;/code&gt;, make Lua default and load Wren from Lua script), but decided to go with the easier one, just let user choose it :v. By default it always load Lua first, and you need to specify Wren in the &lt;code&gt;config.json&lt;/code&gt;:&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
