The movie Who Framed Roger Rabbit is based on a deeply weird novel by Gary K. Wolf in which Roger Rabbit actually is a murderer (there are several) and is killed halfway through the book—which doesn’t stop him, he is a toon after all. Reading What Killed Perl? kind of reminds me of that. There are a bunch of stories people believe are true, but looking into what actually happened, those stories…
So I’ve been prepping for my class on Game Development and one of the things I want to introduce to people is the concept of an ECS (Entity Component System). I mentioned last time about how I needed to build a new set of bindings for a graphics library, and as part of that I wanted to port a little script I’d done implementing the boids algorithm. Let’s walk through the code and see how it works.…
Where the world ends is where you must begin. I’ve had a class accepted at the Perl and Raku Conference in Las Vegas this year. I’m going to be talking about how to build video games in Perl with a focus on Roguelikes and RPGs. While preparing for this class I started looking into the previous libraries for Game Development in Perl. SDL hasn’t been touched in years, and the SDL2 bindings wouldn’t…
Introduction This post is part of a series of blog posts following the roguelike tutorial to demonstrate the new class feature in Perl 5.38.0. In this post we’re gonna start where we left off in part 5 . If you don’t remember what the code looked like you can refresh yourself with the listing here . Refactoring When we ended last time we noted that we probably would need to refactor the action.…
Introduction This post is part of a series of blog posts following the roguelike tutorial to demonstrate the new class feature in Perl 5.38.0. In this post we’re gonna start where we left off in part 4 . If you don’t remember what the code looked like you can refresh yourself with the listing here . We have a darkened dungeon you can explore and while that can be exciting, it lacks a certain…
Introduction This post is part of a series of blog posts following the roguelike tutorial to demonstrate the new class feature in Perl 5.38.0. In this post we’re gonna start where we left off in part-3 . If you don’t remember what the code looked like go back and refresh yourself. We have a dungeon that we can walk around in but it’s not really exploring if we can just see everything from the get…
Introduction This post is part of a series of blog posts following the roguelike tutorial to demonstrate the new class feature in Perl 5.38.0. In this post we’re gonna start where we left off in part-2 . If you don’t remember what the code looked like, go back and refresh yourself. When last we left our intrepid characters, they were in a nearly empty room with a tiny wall in the middle. This is…
Introduction This post is part of a series of blog posts following the roguelike tutorial to demonstrate the new class feature in Perl 5.38.0. In this post we’re gonna start where we left off in Part 1 . If you don’t remember what the code looked like, go back and refresh yourself. From now on the listing is gonna get a little large for us to copy it every time. We’re going to making our game…
Introduction This post is part of a series of blog posts following the roguelike tutorial to demonstrate the new class feature in Perl 5.38.0. In this post we’re gonna start where we left off in Part 0 . If you remember, the Engine class looked like this: class Engine { field $height :param; field $width :param; field $app = Games::ROT->new( screen_width => $width, screen_height => $height, );…
Introductions Perl 5.38.0 just dropped, and with it comes (in my opinion) one of the most exciting experiments in Perl, a new built-in object system. If Moose was the postmodern object system for Perl then feature 'class' is post-postmodern, it’s a meta-modern object system. The last couple of years I’ve not been paid to write Perl, so I’ve had to learn a few other languages. I’ve discovered the…