<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Article on Canoi Gomes</title>
    <link>https://notes.canoigomes.com.br/tags/article/</link>
    <description>Recent content in Article 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/article/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>Por que todo ser racional deve agir como se fosse sempre um legislador do reino dos fins?</title>
      <link>https://notes.canoigomes.com.br/posts/2024-09-02-etica-kantiana/</link>
      <pubDate>Mon, 02 Sep 2024 19:00:00 -0300</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/2024-09-02-etica-kantiana/</guid>
      
      <description>&lt;p&gt;Texto que escrevi para a disciplina de Ética do curso de Filosofia da UFRN, é baseado nas seções 1 e 2 do livro &lt;em&gt;Fundamentação da Metafísica dos Costumes&lt;/em&gt; escrito por Kant, onde tento refazer o pensamento do autor para explicar por que &lt;code&gt;Todo ser racional tem de agir como se fosse sempre, através de suas máximas, um membro legislador no reino universal dos fins&lt;/code&gt;.&lt;/p&gt;
&lt;br/&gt;
&lt;embed src=&#39;https://notes.canoigomes.com.br/media/etica_kantiana.pdf&#39; style=&#39;width: 100%; height: 640px; border: none;&#39; /&gt;
&lt;!-- &lt;pdf-viewer path=&#39;/media/toda_acao_mira_um_bem.pdf&#39;&gt;&lt;/pdf-viewer&gt; --&gt;</description>
      
    </item>
    
    <item>
      <title>Formatos Binários #1 - Arquivos Binários</title>
      <link>https://notes.canoigomes.com.br/posts/arquivos_binarios/2024-06-23-arquivos-binarios/</link>
      <pubDate>Sun, 23 Jun 2024 19:00:00 -0300</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/arquivos_binarios/2024-06-23-arquivos-binarios/</guid>
      
      <description>&lt;p&gt;Você sabe como funciona um arquivo binário? Aqueles arquivos que ao
tentarmos abrir num editor de textos qualquer, aparece um monte de
símbolos que mal dá para entender do que se trata. Bem, e se eu te
disser que tem uma lógica por trás deles? E isso é mais ou menos o que
quero abordar nessas linhas.&lt;/p&gt;
&lt;h2 id=&#34;o-que-é-um-arquivo-binário&#34;&gt;O que é um arquivo binário?&lt;/h2&gt;
&lt;p&gt;Simplificando bastante, um arquivo binário nada mais é que um arquivo de
texto, porém formatado de uma maneira bem específica onde o programa que
for fazer uso daquele arquivo deve saber como é a sua estrutura interna.
Quando digo que não se difere muito do arquivos de texto, é porque temos
isso com eles também, se criamos um arquivo JSON ou XML, também temos
uma estrutura que se for bagunçada é o suficiente para corromper o
arquivo. Da mesma forma ambos são usados para guardar algum tipo de
informação. A principal diferença é que arquivos de texto estão
preocupados com os caracteres do arquivo, já um arquivo binário se
preocupa com como os bytes estão posicionados, e até mesmo cada bit.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Por que toda ação mira um bem?</title>
      <link>https://notes.canoigomes.com.br/posts/2024-04-24-toda-acao-mira-um-bem/</link>
      <pubDate>Wed, 24 Apr 2024 19:00:00 -0300</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/2024-04-24-toda-acao-mira-um-bem/</guid>
      
      <description>&lt;p&gt;Pequeno texto que escrevi para a disciplina de Ética do curso de Filosofia da UFRN, baseado no livro 1 do Ética a Nicômaco escrito por Aristóteles, onde tento refazer o pensamento do autor para explicar &lt;code&gt;Por que toda ação mira um bem?&lt;/code&gt;.&lt;/p&gt;
&lt;br/&gt;
&lt;embed src=&#39;https://notes.canoigomes.com.br/media/toda_acao_mira_um_bem.pdf&#39; style=&#39;width: 100%; height: 640px; border: none;&#39; /&gt;
&lt;!-- &lt;pdf-viewer path=&#39;/media/toda_acao_mira_um_bem.pdf&#39;&gt;&lt;/pdf-viewer&gt; --&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>bitEngine - criando janelas multiplataforma</title>
      <link>https://notes.canoigomes.com.br/posts/2023-04-24-bite-multiplatform-engine/</link>
      <pubDate>Sun, 23 Apr 2023 10:02:00 +0000</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/2023-04-24-bite-multiplatform-engine/</guid>
      
      <description>&lt;p&gt;Tirando um pouco da poeira daqui.&lt;/p&gt;
&lt;p&gt;Dessa vez decidir começar um projeto sobre uma parte que venho querendo aprender a um tempo, que seria como criar o contexto básico pra um jogo (janela, input, gráficos e áudios) utilizando somente bibliotecas do próprio sistema, em resumo, eu queria entender mais como bibliotecas como &lt;a href=&#34;https://libsdl.org&#34;&gt;SDL2&lt;/a&gt; e &lt;a href=&#34;https://libglfw.org&#34;&gt;GLFW&lt;/a&gt; funcionam por baixo dos panos.&lt;/p&gt;
&lt;p&gt;Nisso (como sempre faço na minha vida) decidi criar um projeto pra focar nos estudos dessa parada, &lt;a href=&#34;https://github.com/canoi12/bite&#34;&gt;bite&lt;/a&gt;, a ideia é:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Reescrevendo a Tea</title>
      <link>https://notes.canoigomes.com.br/posts/2021-08-05-reescrevendo-tea/</link>
      <pubDate>Thu, 05 Aug 2021 10:35:00 +0000</pubDate>
      <author>canoigomes@proton.me (Canoi Gomes)</author>
      <guid>https://notes.canoigomes.com.br/posts/2021-08-05-reescrevendo-tea/</guid>
      
      <description>&lt;p&gt;Bom, e mais uma vez, to reescrevendo uma biblioteca. Primeiramente queria explicar um pouco o motivo por trás, e isso vem da filosofia que pretendo seguir com o projeto &lt;a href=&#34;https://github.com/cafe-engine&#34;&gt;Cafe&lt;/a&gt;, onde eu quero que ela seja construída utilizando libs simples e com finalidades bem específicas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tea: parte gráfica&lt;/li&gt;
&lt;li&gt;Latte: sistema de arquivos&lt;/li&gt;
&lt;li&gt;Mocha: áudio&lt;/li&gt;
&lt;li&gt;Coffee: linguagem de script&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bom, como citado aí, o objetivo inicial da &lt;code&gt;Tea&lt;/code&gt; era lidar com tudo que fosse relacionado a gráficos na engine. No projeto que eu estava focando anteriormente, o &lt;a href=&#34;https://github.com/canoi12/tinycoffee&#34;&gt;tiny coffee&lt;/a&gt;, utilizava GLFW para lidar com input e gerenciamento de janelas e OpenGL 3.2 para a renderização, a grande vantagem de se utilizar GLFW era a facilidade de se compilar estaticamente no projeto, porém tem a questão de o render precisar ser todo escrito do zero e com uma API gráfica (OpenGL, Vulkan, ..). Decidir então tentar novamente a &lt;a href=&#34;https://www.libsdl.org&#34;&gt;SDL2&lt;/a&gt;, que já tem um render próprio (além de também dar a possibilidade de criar um context OpenGL e Vulkan) e é extremamente portável.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
