November 23, 2020

'Play or Pause Tab' Firefox Extension

Background Play or Pause Tab is a Firefox extension I created to help manage the “play” or “pause” states of tabs streaming media content. The user can right-click the tab and select the “Play/Pause” option to control this. Currently, the implementation is pretty straightforward. This post is to document some of the main things I learned about creating “Play or Pause Tab” in a step-by-step way. Some of the resources I used to help me build this extension was starting with Mozilla Developer Network’s Your First WebExtension guide, and then later referencing their menu-remove-element example for communicating between the extension’s background and content scripts via a context menu item. Read more

October 3, 2020

Collaborating on Amethyst showcase project: space_shooter_rs

Introduction Back in August, I delivered my first technical talk virtually at RustConf 2020. The experience was a good step towards my desire to become confident about my public speaking skills as well as being able to deliver my knowledge about software development and Rust to a public audience. My talk gave an explanation about the Entity-Component-System architecture and how it was used in the Amethyst game engine. I was excited to share what I learned with others at RustConf and was happy to see that people found it helpful for their own learning. Read more

August 19, 2020

Camera Follow System

A system for moving the player’s sprite based on user input was implemented in the Running Animation post. Here we will implement a system that has the game camera follow the moving sprite around. The Amethyst project actually has a sprite_camera_follow example. The main part of this implementation is attaching a Parent component to an entity that also has a Camera component attached. This entity will be referred to as the “camera entity” throughout this writing. Read more

August 12, 2020

Running Animation

The content covered here builds on the code explored in Creating a Simple Spritesheet Animation with Amethyst. This part will be extending the previous implementation for an “idle” sprite animation by adding a “running” animation in response to user input. In the previous post, we implemented an AnimationSystem responsible for telling the game what sprite image to draw to the screen during each iteration of the game loop. Now we will be introducing another system called MovePlayerSystem, which will implement the logic for moving our sprite image on the screen based on user input. Read more

March 19, 2020

Creating a Simple Spritesheet Animation with Amethyst

I’ve been doing a lot of reading on the Amethyst game engine recently, mostly to satiate my curiosity on the game development space for the Rust programming language, but also to find an interesting open-sourced project to (hopefully!) get involved with. I worked through the first three chapters of the Amethyst documentation and then a pong tutorial to get a better feel of how to use it. By the end of it, I’m slightly more confident with the concepts used by Amethyst, though I still feel I need to create my own small example to solidify the bit of knowledge I have. Read more

© Micah Tigley 2020

Powered by Hugo & Kiss.