Edgardo Carreras Blog

Bevy Game Jam: Lessons Learned from Solo Game Development.

April 11, 2023

Join me as I share my experience participating in a game jam, the challenges I faced, the tools and techniques I used, and the lessons I learned. Whether you're a beginner or experienced game developer, you'll find valuable insights and inspiration to help you create your own games. From defining a game loop to designing graphics and sound effects, I'll take you through the process step by step. Discover how I tackled multiple features and built a top-down adventure game with Bevy, the Rust game engine. Read on for valuable tips and tricks that will help you create your next game!

Test-Driven Development in Rust Game Development with Bevy

March 03, 2023

In this article, we will explore test-driven development (TDD) in the context of developing a game in Rust using the Bevy engine…

The Importance of Professionalism in the Software Industry: Lessons Learned from a Decade in the Field

February 03, 2023

Are you a software developer looking to improve your professionalism? Learn about the attitudes and actions you should avoid to become a more professional developer with these tips.

The Software Stack for the Web 3.0 Developer.

January 14, 2022

If you are a web developer looking to build decentralized applications and want to learn the tools, frameworks, and languages that will…

My Usual Code Review Rant.

January 04, 2022

Please take this with a grain of salt. Everything has its tradeoff and what I'm about to say are values generally shared by legendary…

Clean Coders Apprenticeship - Lessons Learned.

November 28, 2021

Throughout my apprenticeship, I've been tasked with planning a software project and practicing code katas to design and implement systems…

Tic-tac-toe Leaderboards - Datomic Implementation

November 02, 2021

Lets implement a Leaderboard feature to our tic-tac-toe game using our datomic persistence.

Tic-tac-toe Leaderboards Interface Implementation!

November 01, 2021

Lets implement a Leaderboard feature to our tic-tac-toe game using our file persistence.

Tic-tac-toe Leaderboards!

October 29, 2021

Lets implement a Leaderboard feature to our tic-tac-toe game.

Datomic Persistence Implementation - Queries!

October 27, 2021

Lets implement our datomic persistence queries four our polymorphic interface.

Polymorphic Interface Datomic Persistence Implementation

October 26, 2021

Lets implement our datomic persistence using our polymorphic interface.

Datomic Setup

October 25, 2021

I had a lot of issues setting up datomic for leiningen, so here I show what I've learned.

Polymorphic Interface File Persistence Implementation

October 22, 2021

Lets implement our file persistence using our polymorphic interface.

Persistence Refactoring - Polymorphic Interface

October 21, 2021

Lets look into applying some Dependency Inversion Principle to our persistence feature in tic-tac-toe.

Clean Software Architecture

October 20, 2021

Writing a software program that works does not require much knowledge or skill. On the other hand, getting software right is hard. When software is written clean, you no longer need many programmers to keep it working or have a massive list of bugs whenever the software adds new features.

Persisting Tic-Tac-Toe State on Server Restarts

October 19, 2021

So far we've been keeping state of the server tic-tac-toe game application in memory but no more, here we will implement saving the state in a file.

Polymorphic Components

October 18, 2021

Making the most out of our ui components using polymorphism at runtime with hiccup.

Tic-Tac-Toe Server State Management in Clojure

October 14, 2021

Managing our state of our tic-tac-toe clojure server implementation.

Tic-Tac-Toe Server TDD

October 13, 2021

Developing our server side render application with TDD.

Overriding Java Classes in Clojure

October 12, 2021

How can we extend Java classes in the clojure namespace?

Hiccup and Reagent Code Reuse.

October 11, 2021

Refactoring our menu options in our reagent code to be able to change behaviour of interactive elements.

HTML Server Generation in Clojure

October 07, 2021

Generating HTML on the server using clojure JVM.

Clean Socket Server in Clojure

October 06, 2021

Making our Socket Server more generic for clojure use

JARs and Clojure

October 05, 2021

👋 Hello again!! Today and in the next couple of week we will be looking into crating our java socet server into a library in the form of a…

Clean HTTP Socket - What I've Learned

October 04, 2021

👋 Well hello there!! Today we are going to go over our Java Https socket server implementation. We are also going to look a few things that…

Clean Socket Server HTTP HTML Response

September 27, 2021

👋 Hey there!! Today we have a simple goal. Let's make a socket server that on visiting /hello on the browser it responds with a html…

Clean Socket Server

September 23, 2021

👋 Hey there!! Since my early days working in development agencies I have always been chasing network problems to solve. As a teenager…

Tic-Tac-Toe - Player vs Player Network Messages

September 22, 2021

👋!! Alright now lets get to the good stuff, lets make both peers interface with our game through our pubsub. This is the message protocol I…

Tic-Tac-Toe - Player vs Player Routing

September 21, 2021

👋!! Picking up from yesterday, we where adding test to our player vs player UI expereince. I've notice we wanted to add the feature to…

Tic-Tac-Toe - Player vs Player UX/UI Part Deux

September 20, 2021

👋!! Picking up from last week, today we'll start by implementing the missing specifications for our Player vs Player user experience…

Tic-Tac-Toe - Player vs Player UX/UI

September 17, 2021

👋!! Last time we looked at the implementation requirements in order to have a bi-directional communication between players interested in…

Tic-Tac-Toe - LibP2P Peer to Peer Utils

September 16, 2021

👋!! Today we'll be looking into LibP2P helper libraries from our IPFS library we mention yesterday. So today's main goal is to explore the…

Tic-Tac-Toe - Creating a Pub Sub Room

September 15, 2021

👋!! Last time we were exploring the IPFS library in order to implement our player vs player feature for our Tic Tac Toe Game. After a lot…

Tic-Tac-Toe - Peer 2 Peer with IPFS

September 14, 2021

👋!! Last time we worked on making sure we had all features on both our cli and web UIs. We removed a lot of duplicate added more test on…

Tic-Tac-Toe Web - Game Factory

September 10, 2021

👋!! Today I want to remove duplication of the code I have in both our web and cli versions where possible. It seems both of them have a say…

Tic-Tac-Toe - Supporting CLI and Web!

September 09, 2021

Up to this point we've been keeping iterating on our web version, our tic-tac-toe core by optimizing and adding new features. In doing so we…

Tic-Tac-Toe Clojure Project Code Organization

September 08, 2021

Today I want realized that working with two different repositories for our tic tac toe game is becoming painful to mantain. We made some…

Tic-Tac-Toe Web - Play against the AI!

September 03, 2021

👋!! Let's pick up where we left of yesterday. We worked on getting a play menu, asking the player if they want to play agains another…

Tic-Tac-Toe Web - UI/UX, Menus and Red green refactor!

September 02, 2021

👋 Today we are going to improve the styling of our tic-tac-toe, we've been focusing on behaviour and functionality up until now. This is…

Reagent - Behaviour Driven Development Part II

September 01, 2021

Yesterday we worked on our tic tac toe web ui project to use reagent with behaviour driven development tools. We left some failing test for…

Reagent - Behaviour Driven Development

August 30, 2021

Today I'm going to share what I've learned in getting a Reagent project setup for Behaviour Driven Development. These are the tools I've…

Tic Tac Toe in Clojure - Part 6 Web UI with Reagent

August 29, 2021

Today we showcased the CLI version of the tic tac toe to our 'client', everything went well. Now we will work toward this story: Create…

Tic Tac Toe in Clojure - Part 5 Performance Optimization

August 27, 2021

Yesterday we looked at applying the minimax algorithm to our unbeatable tic tac toe in clojure. We hit a performance issue where our AI…

Tic Tac Toe in Clojure - Part 4 MiniMax Algorithm

August 26, 2021

Yesterday we started looking into implementing the Minimax Algorithm. We started with the scoring algorithm But our scoring algorithm should…

Tic Tac Toe in Clojure - Part 3 AI

August 25, 2021

Let's build an unbeatable AI for the game tic-tac-toe! Let's use the minimax algorithm commonly used in AI applications for zero-sum games…

Tic Tac Toe in Clojure (Part 2)

August 24, 2021

Greetings 🖖! Yesterday we talked about some pain points we encountered developing our Tic tac toe cli ui in Clojure. Today we are going to…

Preemptive Postmortem

August 23, 2021

Last week we met with our 'client' to plan the deliverables for the upcoming sprint (1 week). We created a few stories. As a player I want…

Tic Tac Toe in Clojure (Part 1)

August 18, 2021

Today we are tackling the tic tac toe game in clojure! Previously I did this game in javascript you can play against my unbeatable ai here…

Coin Changer Kata

August 17, 2021

Coin Changer Kata

Project Euler Part 4

August 16, 2021

Welcome back! We skipped over the 9th Euler Project so lets tackle that one next. Fun fact Euler and I share the same birthday :D! 9th…

Project Euler Part 3

August 15, 2021

Welcome back! Lets continuing our journey through the Euler Project. 8th problem: By listing the first six prime numbers: 2, 3, 5, 7, 1…

Project Euler Part 2

August 13, 2021

Welcome back! Today we are continuing our journey through the Euler Project. 4th problem: A palindromic number reads the same both ways. The…

Project Euler Part I

August 12, 2021

Project Euler is a website dedicated to a series of computational problems intended to be solved with computer programs. The project…

Red Green Refactor Bowling Kata

August 10, 2021

Bowling Scoring in Clojure using Red-Green Refactor

Bowling Kata

August 09, 2021

Bowling Scoring in Clojure

Prime Factors Kata

August 03, 2021

I did my first kata yesterday and recorded it, the prime factors kata in Clojure. The idea behind a kata is to practice your programming…

Tail Recursions

August 02, 2021

Today I learned about loop and recursion in Clojure. This works fine with small numbers but, once you get big integers the stack fills up…

Path to Enlightenment (Clojure koems)

August 01, 2021

Today I'm focusing on Clojure Koems. Koems are like TDD, but the test are written out for you, so you only have to make them pass. This…

My Ikigai

July 31, 2021

Join me as I start my clean coders apprenticeship program learning Clojure.

© 2023, Edgardo Carreras