• gridbugs
  • About
  • Tags
  • External Links
  • Daily Posts
  • Roguelike Tutorial 2020
  • Itch
  • Github
  • first
  • prev
  • next
  • last
  • Make sure your terminal emulator runs in the expected environment

    2020-11-04 in unix

    This is a follow-up to Why you need a .bashrc and .profile

    Unix processes run in an environment consisting of string values assigned to named environment variables. Some processes such as a shell or window manager are responsible for launching additional processes. By convention, new processes inherit the environment variables of the process that created them.

    Read more...
  • Why you need a .bashrc and .profile

    2020-11-02 in unix

    I’ve been doing this wrong my whole life.

    For as long as I can remember I’ve included some version of the following line in my .bashrc:

    export PATH="$HOME/bin:$HOME/.bin:$HOME/.local/bin:$HOME/.local/sbin:$PATH"
    
    Read more...
  • Simple Wolfenstein-3D-esque renderer

    2020-10-28

    Just for fun I implemented a simple 3D renderer using the technique employed in Wolfenstein 3D. The world is procedurally generated using the technique described here. The renderer works by finding the depth of walls for each row of pixels on the screen, and drawing a vertically-centered vertical wall-coloured strip whose length is inversely proportional to the wall depth at that point. Wall colour has brightness inversely proportional to the square of the straight-line distance from the eye to the wall in the direction of the pixel row.

    screenshot

    Read more...
  • Boss fights in traditional roguelikes

    2020-10-24 in roguelikes

    Today I completed my first successful run of Jupiter Hell - a traditional roguelike which is the spiritual successor to DOOM the Roguelike. As a traditional roguelike, gameplay is turn-based, and levels are abstracted as 2D square grids of tiles.

    Another property that tends to be true of roguelikes is that most turns are uninteresting - walking down a corridor, or attacking a single standard enemy. There are meaningful strategic decisions to be made from time to time, such as choosing whether to discard an item from your inventory to make room for a new item or deciding on a skill to upgrade. Meaningful tactical decisions come about when a situation rapidly becomes dire (Do you stand your ground or flee when surprised by a difficult enemy?) or the combination of enemies and terrain presents an opportunity (Which enemy do you attack first? Is there time to run to cover? Should you use a rare/expensive grenade? Should you trigger an explosive barrel?).

    Jupiter Hell culminates with a boss fight fairly typical of DOOM-inspired games. You fight a large enemy that periodically spawns normal enemies and then teleports away. After a few such iterations my dual-pistol toting marine made short work of it. As with the boss fight at the end of Doom the Roguelike, I found it to be an anti-climactic conclusion to an otherwise solid game.

    Upon further reflection, I’m not convinced that the roguelike genre supports boss fights at all.

    Read more...
  • first
  • prev
  • next
  • last
© 2024 gridbugs.org