Developing Multitile Creatures in Roguelikes
Describing technical and design issues associated with having creatures that occupy multiple cells in the grid-based world of a roguelike, with solutions.
Describing technical and design issues associated with having creatures that occupy multiple cells in the grid-based world of a roguelike, with solutions.
Clojure REPLs are used for a broad spectrum of purposes, from learning the language to data exploration to live music performance. This chapter will provide some guiding principles for applying Clojure REPLs to the more common use case of pragmatic software development.
One of the challenges of application engineering within an established company like Dropbox is to break out of the cycle of incremental improvements and look at a problem fresh. Our colleagues who do user research help by regularly reminding us of the customer’s perspective, but so can our friends and family when they…
Last week, I reached an exciting milestone in my career as a programmer. For the first time in my life, I ran code directly on hardware , with no Operating System sitting between the bare metal and my code.
Note: this post was written for Lean 3; the latest version, Lean 4, is a very different language. Turn back the clock to 2009: a confused physics major newly infatuated with math and computer science, I enrolled in MATH 273: Numbers and Proofs at the University of Calgary. This wasn’t my first encounter with…
The Progress Report has come and with it some major changes and decisions. However, before we get into new things, we need to go over an ongoing change as we've seen some users struggling. In the last progress report, we updated our project solutions to Microsoft Visual Studio C++ 2019. We thought there would be no…
This post explains how to implement heap allocators from scratch. It presents and discusses different allocator designs, including bump allocation, li…
Researching and restoring differences in game’s post-processing and lighting - with bug fixes.
Customize Shell Environment and Appearance
In Linux, system calls (syscalls) are at the heart of everything. They are the primary interface through which an application interacts with the kernel.
Z80 Explorer is a Z80 netlist-level simulator capable of running Z80 machine code and also an educational tool with features that help reverse engineer and understand this chip better.
In expressive languages, developers generally need to use fewer temporary variables.This means that in a typical piece of code there are fewer names defined,...
The web is amazing and amazingly complex
Slack uses PHP for most of its server-side application logic, which is an unusual choice these days. Why did we choose to build a new project in this language? Should you? Most programmers who have only casually used PHP know two things about it: that it is a bad language, which they would never use if…
Modern applications don’t crash; they hang. One of the main reasons for it is the assumption that the network is reliable. It isn’t. When you make a network call without setting a timeout, you are telling your code that you are 100% confident that the call is going to succeed. Would you really take that bet? If you…
This expression: (1 2) represents the list containing the integers 1 and 2 in that order. If you want an empty list, that’s just () . And the list of the first five letters of the alphabet is just (\a \b \c \d \e) .
The homepage of Reese Williams: essays, travel, and general skullduggery.
As one of F#'s killer features; type providers have the ability to make rooms full of developers gasp when shown for the first time. Support has recently been added to the FSharp.Data library [https://www.nuget.org/packages/FSharp.Data] for .Net Standard 2.0, allowing us to
AndreGarzia.com website