<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Game Development on fotino.me</title>
    <link>https://fotino.me/tags/game-development/</link>
    <description>Recent content in Game Development on fotino.me</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 08 Jun 2016 03:28:16 +0000</lastBuildDate>
    <atom:link href="https://fotino.me/tags/game-development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Consolite, a Tiny Game Console on an FPGA</title>
      <link>https://fotino.me/consolite-fpga/</link>
      <pubDate>Wed, 08 Jun 2016 03:28:16 +0000</pubDate>
      <guid>https://fotino.me/consolite-fpga/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;If you wish to make a game from scratch, you must first invent the universe.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/rfotino/consolite-hardware&#34;&gt;Hardware source&lt;/a&gt; | &lt;a href=&#34;https://github.com/rfotino/consolite-compiler/blob/master/examples/tron.c&#34;&gt;Tron source&lt;/a&gt; | &lt;a href=&#34;https://github.com/rfotino/consolite-compiler/blob/master/examples/circles.c&#34;&gt;Circles source&lt;/a&gt; | &lt;a href=&#34;https://github.com/rfotino/consolite-emulator&#34;&gt;Emulator source&lt;/a&gt; | &lt;a href=&#34;https://github.com/rfotino/consolite-assembler&#34;&gt;Assembler source&lt;/a&gt; | &lt;a href=&#34;https://github.com/rfotino/consolite-compiler&#34;&gt;Compiler source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For my latest project, I am diving back into &lt;a href=&#34;https://en.wikipedia.org/wiki/Verilog&#34;&gt;Verilog&lt;/a&gt; to create the hardware side of Consolite. For those who don&amp;rsquo;t know, &lt;strong&gt;Consolite&lt;/strong&gt; is the name I&amp;rsquo;ve given to my design of a tiny hobbyist game console and associated software toolchain. In my previous posts, I demoed &lt;a href=&#34;https://fotino.me/the-consolite-compiler/&#34;&gt;a compiler&lt;/a&gt; that translates from a flavor of C to Consolite Assembly, &lt;a href=&#34;https://fotino.me/breakout-in-assembly/&#34;&gt;an assembler&lt;/a&gt; that translates from Consolite Assembly to binary files, and &lt;a href=&#34;https://github.com/rfotino/consolite-emulator&#34;&gt;an emulator&lt;/a&gt; that runs the resulting binaries.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spaceship.codes - A Game for Programmers</title>
      <link>https://fotino.me/intro-to-space-ai/</link>
      <pubDate>Sat, 02 Apr 2016 22:01:26 +0000</pubDate>
      <guid>https://fotino.me/intro-to-space-ai/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;//github.com/rfotino/space-ai&#34;&gt;Source code (MIT License)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After a few months of development, I&amp;rsquo;m proud to announce the first release of &lt;a href=&#34;//fotino.me/static/spaceship.codes&#34;&gt;spaceship.codes&lt;/a&gt;! Spaceship.codes is a browser game for programmers, with a built in code editor that the player uses to write JavaScript to control their spaceship. I will illustrate this with a simple example; it might be helpful to open spaceship.codes in a new tab so that you can follow along.&lt;/p&gt;
&lt;p&gt;First we need to load a level. We can do this by clicking the &amp;ldquo;Select Level&amp;rdquo; button, then clicking the first level (named &amp;ldquo;Thrust&amp;rdquo;), and finally clicking the &amp;ldquo;Load&amp;rdquo; button. After the level is loaded, you should see something like the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Breakout in Assembly</title>
      <link>https://fotino.me/breakout-in-assembly/</link>
      <pubDate>Sun, 30 Aug 2015 23:40:37 +0000</pubDate>
      <guid>https://fotino.me/breakout-in-assembly/</guid>
      <description>&lt;p&gt;Technical details follow, and while I&amp;rsquo;ve tried my best to make it interesting and accessible I know that some of you just want to play the game. &lt;a href=&#34;#play&#34;&gt;Here is a link&lt;/a&gt; to do just that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Consolite&lt;/strong&gt; (coming from &amp;ldquo;console lite&amp;rdquo;) is the name I&amp;rsquo;ve given to my recent project of making a tiny hobbyist game console and associated toolchain. My end goal is to write a custom microprocessor and video controller that I can put on my &lt;a href=&#34;//numato.com/mimas-v2-spartan-6-fpga-development-board-with-ddr-sdram.html&#34;&gt;Mimas V2 FPGA board&lt;/a&gt;. For prototyping purposes, I have first written an assembler and an emulator so that I can test out how writing games will work while easily making tweaks to &lt;a href=&#34;//github.com/rfotino/consolite-assembler/blob/master/docs/assembly.md#instructions&#34;&gt;the instruction set&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tetris in Hardware</title>
      <link>https://fotino.me/tetris-in-hardware/</link>
      <pubDate>Fri, 10 Jul 2015 00:41:38 +0000</pubDate>
      <guid>https://fotino.me/tetris-in-hardware/</guid>
      <description>&lt;p&gt;&lt;em&gt;Using the &lt;a href=&#34;https://www.digilentinc.com/nexys3/&#34;&gt;Nexys 3&lt;/a&gt; board with &lt;a href=&#34;http://www.xilinx.com/products/silicon-devices/fpga/spartan-6.html&#34;&gt;Spartan 6&lt;/a&gt; FPGA to output Tetris to a VGA display.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/rfotino/verilog-tetris&#34;&gt;Source Code&lt;/a&gt; | &lt;a href=&#34;https://fotino.me/static/pdf/tetris-report.pdf&#34;&gt;Full Technical Report&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a computer science student at UCLA, and one of my most recent classes was a &amp;ldquo;Digital Design Lab&amp;rdquo; where we got to play around with programming FPGAs. For our final project we were allowed to choose what we wanted to create, and my partner and I decided to go with a clone of the popular video game &lt;a href=&#34;https://en.wikipedia.org/wiki/Tetris&#34;&gt;Tetris&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Planetary - Circular Platformer Concept</title>
      <link>https://fotino.me/circular-platformer-concept/</link>
      <pubDate>Wed, 08 Jul 2015 23:18:35 +0000</pubDate>
      <guid>https://fotino.me/circular-platformer-concept/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;#demo&#34;&gt;Skip to playing the game!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://fotino.me/snake-in-javascript&#34;&gt;my last post&lt;/a&gt;, I dipped my toes in the water with the &lt;a href=&#34;https://phaser.io&#34;&gt;Phaser game engine&lt;/a&gt; by making a simple game of Snake. I enjoyed using Phaser and decided to further test its capabilities by making something more complex. I&amp;rsquo;ve always wanted to make a side-scrolling shooter, but developing the storyline, levels, and graphics to do it right isn&amp;rsquo;t something I have time for right now. So I thought, what if I cut corners and just made the level a loop, so you can play infinitely? That gave me the idea for a circular platformer, where you run around the surface of a planet and have to defend against waves of enemies. I&amp;rsquo;m sure it has been done before, but it seemed interesting enough to start working on. You can see the project &lt;a href=&#34;https://github.com/rfotino/planetary&#34;&gt;on Github&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snake in JavaScript with the Phaser Game Engine</title>
      <link>https://fotino.me/snake-in-javascript/</link>
      <pubDate>Sat, 27 Jun 2015 23:36:00 +0000</pubDate>
      <guid>https://fotino.me/snake-in-javascript/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been wanting to get back into game programming recently, so I decided to build the classic video game &lt;a href=&#34;https://en.wikipedia.org/wiki/Snake_(video_game)&#34;&gt;Snake&lt;/a&gt;. I chose Snake because it has simple mechanics and I had never programmed it before. As a web developer I know the browser can be a great platform to get up and running quickly, so I decided to make it in JavaScript. I hadn&amp;rsquo;t built a browser game since before the &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; tag became widely supported, but luckily GitHub has a handy list of &lt;a href=&#34;https://github.com/showcases/javascript-game-engines&#34;&gt;JavaScript game engines&lt;/a&gt;. I chose &lt;a href=&#34;https://phaser.io&#34;&gt;Phaser&lt;/a&gt; because it&amp;rsquo;s at the top of the list, and after looking through the documentation it looked like it would suit my purposes. You can &lt;a href=&#34;#play&#34;&gt;play the finished product here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
