Buffalo Game Space is hosting a series of events in what they're calling "Maker's March". The idea is participants should pick a milestone they'd like to complete in a month, then work at it for said month. Along the way there's a series of in-person and virtual working sessions where folks can work on stuff, chat with one another, and provide a source of encouragement and motivation.
I love this idea. Like I said before, I find it hard to keep to self-set deadlines, so having others working on stuff too and setting public expectations on what I hope to achieve is a big motivator for me.
The Milestone
So what's my goal? I want to get a playtest build of my Picross VR project done and in players hands immediately following the end of the four-week period. So far there's only been a very small number of close friends and family that have played earlier prototypes of this game concept, and calling it a playtest is generous. Previously there was a room with a couple puzzles and a (arguably quite cool) virtual tablet that showed your time and puzzle selection options. Not really what I envisioned in total, and definitely not something that worked as a way to introduce people to the game concepts. It required a
lot
of explanation before I put the headset on someone.
So for this playtest, I want to create something that I can hand to a player and let them just figure it out. Something that teaches the player the mechanics organically, and requires next to no explanation from me on what it is they should be doing. Teaching the player how the puzzles work in particular is an interesting design problem, so that's what I'm taking a stab at first.
Latest Progress
As of this writing, I've participated in the kickoff and the first in-person working session. My first priority was to come up with task list and break it down into sub-deadlines. This let me get everything I think I need to do written down, and by breaking it into sub-deadlines I was able to come up with very rough estimates on how long each task will take. It also helped me narrow scope, which is always key.
I set my tasking up in a
Feather Wiki
, which I'm a big fan of. It lets me document the project quickly, and the lightweight nature of Feather Wiki allows for including the wiki in the project repo. I created a new page for Maker's March and filled it with a checklist of tasks, broken down into due dates. So far I'm already skipping around, but hey, it's all got to get done and when one task flows into another who am I to say "no, gotta stick to the list".
The main focus of today's work was sketching out concepts for the Gallery and tutorial worlds. The Gallery is my planned hub world for the game, where the player can navigate from world to world. Each world will have a set of puzzles based on a theme. But before getting to that, I started grayboxing the Welcome Center, a portion of the Gallery that will serve as the tutorial area.
After looking up a number of photos inside different galleries and museums, followed by doing a couple thumbnail sketches, I started grayboxing the Welcome Center in
Trenchbroom
. Trenchbroom, in conjunction with
FuncGodot
, allows me to quickly prototype 3D environments for my game projects. I'm still pretty green when it comes to Trenchbroom, but I already enjoy it a lot for quickly spinning up something I can walk around in. I can make edits, build the map in Godot, jump into VR and walk around, then jump back to Trenchbroom to make edits super fast. I highly recommend it if you're interested in that sort of thing.
I've called it at a point today where the initial layout of the Welcome Center feels pretty good, building out the bones of the structure from the spawn point all the way to the first room in which the player will get to interact with a puzzle for the first time. Next items to wrap up before this Thursday are adding haptic feedback to the controller interactions, selecting puzzles for the tutorial, and likely some more grayboxing of the tutorial area.
Picross VR Devlog: Intro
Wednesday, March 25, 2026
For the last few months I've been getting back into a game project I initially started some two years(!) or so ago. It's a puzzle game in which you solve picross-like puzzles in 3D space. If you're unfamiliar, a
nonogram
is traditionally a 2D puzzle in which you create an image from clues on the edges of a grid. These historically have been in both print and video games (Nintendo has a number of Picross titles beginning on the Game Boy), but (almost) always presented in a 2D manner.
I can't pinpoint when I got the idea, but I'm sure it was inspired in part by the puzzle elements in Half-Life Alyx. I really enjoyed the minigames in which you're using the multitool to solve some sort of spatial puzzle to open a locker or upgrade station. It's the sort of gameplay that I feel only works in VR. I wanted to pursue that and see what I could come up with. One idea was this puzzle game, which I've decided to run with for the time being.
As I write this, I'm also getting ready for Buffalo Game Space's first "Maker's March", a month-long event encouraging community members to complete a milestone defined at the start of the event. It's a level of accountability that I find exciting as I am notoriously bad at meeting my own deadlines, so I will be participating for sure. So rather than blindly just post about it out of context I wanted to get a blurb up first to set the stage (and also kick off devlogs on here in general).
And for a quick visual, the video below shows the state the project is (mostly) in. This shows the puzzle editor, where I show off saving, loading, and editing of puzzle data. Given the focus on puzzles, I'm going to need to make a lot of them. Building in-game is much easier than manually entering voxel data.
Excited to share more with folks. I plan on posting the actual milestone here once I actually have something semi-solid in place, so expect that probably tomorrow or Friday.
Printing Planners
Tuesday, February 28, 2023
Earlier this month I had a lot of little todos piling up and a bunch of deadlines approaching. Historically I haven't been the most organized when it comes to personal tasking, and I could see this problem rearing it's ugly head again with the oncoming deluge of
things-to-doTM
.
I've always kept a notebook lying around so I started trying to list everything I knew I needed to tackle in it so I would be less likely to forget them all. While it worked, I found my notes went from an assortment of doodles and random thoughts to nothing but bulleted lists. While it was good I was getting shit done, I kinda wanted my notebook to be a bit more flexible in it's use. So, I decided to look into picking up a planner. I wanted something with the following:
A calendar
A timeline of things happening in the day-to-day
Space for all my TODOs for the day
Extra space for random notes/journaling/etc.
While I'm sure there's plenty of existing planners that offer all that, I ended up giving up searching for an existing solution and designed one myself as an exercise.
It's been a while since I made anything zine-like, so this was a fun excuse to boot Scribus back up and put a little thing together. I made sure to design it so that I can print one on demand and use it for any month of any year (assuming the modern calendar doesn't change in size anytime soon). Leaving fields blank for year, month, dates, allows me to print as many pages as I might need for a month, fill out the fields by hand, and be good to go for the month.
After using one for most of February, I found it to be fairly helpful. As with any new routine, you only get as much out of it as you put into it. When I was regularly blocking out my days it proved (for the most part) incredibly helpful in keeping me on track and accomplishing my goals. When I didn't take the time to fill it out, though, I definitely decreased in productivity/focus. Still, I think it was worthwhile enough for me to print one off for March. I even tried to saddle stich it, since the staples in my February planner didn't quite hold out. It's an ugly first attempt, but if it works out better I'll be doing that every month going forward.
If you're interested in printing your own, you can find the cover and insert PDFs below. I print the cover single-sided on card stock, then print all but the outermost insert page on both sides to ensure each day has room for blocked-out time elements on the left and todos/notes on the right for each day.
After a lengthy hiatus in terms of site updates, I'm back with a site update. I stopped work on Deluxe some time ago, and got a bit burned out with day job stuff. I also wasn't the happiest with how the static site generator's been working. So, to hopefully improve things here on the site and make my life easier, I did a bit of learning and 'Flask'-ified my site. I picked up a bunch of new skills working with Docker, Flask, and Nginx to get a nice new backend running my site, which should let me effectively drag-and-drop new posts.
(If you're seeing this post, that means it's working!)
Keeping this one short for now, just to tell my website I'm alive. Planning on having some news up on my current VR project (a puzzler prototype with promise) in the near future.
BGSjam XVIII Post-mortem
Thursday, June 09, 2022
Last weekend I took a break from working on
Deluxe
(which was more of a break from playing Riven, since day job stuff has me avoiding my office in the evenings/weekends) to hang out at Buffalo Game Space for BGSjam XVIII. My intent was to be around to assist with any projects that needed code or Blender assistance, but once that wasn't really much of a thing needed I made a little game.
Inspiration
The theme of the jam was "Passageways". There was some really great brainstorming at the start, and a lot of excellent ideas got tossed around by folks. I couldn't stay late as I had double-booked myself, but the idea of a hallway kept coming back to me. Eventually this morphed into the great base-raiding sequence
Contra
, and I thought it'd be fun to take a stab at remaking that in Godot.
The Result
While it's unpolished, I did end up succeeding at remaking that general concept into a game by the end of the weekend.
Passageway
(very original title) is a small arcade shooter in which you progress down hallway segments by destroying a big red orb at the end of the hall, all while killing/evading enemies.
The Process
The project began as all good jam games do - with a player controller. Quickly hobbling together some basic input mappings and attaching them to a KinematicBody got me most of the way there, but almost immediately afterward I decided the smart thing to do is recreate the Creature class/scene I'm (roughly) using for
Deluxe
. A root KinematicBody with a base collider, a Hitbox area, and a custom Health node with some signals for when it's damaged/killed got me the base scene for the player, enemies, and even the Hallway Switch. Inheriting and adding a new script that contains input parsing drives the player character, some very simple movement logic drives the enemies that move.
The biggest issue I ran into, which I'm still not sure why it was happening, was that the inherited scripts did not fire off the parent functions when the child function is called by a signal connected on the base scene. I had to use the
.parent_func()
approach to get them to fire, which I'm fairly certain I don't have to do in the
Deluxe
project.
Once the creatures were in I started adding some basic weapons, which in turn shoot bullets that are also creatures. Super easy.
Next came the hallways themselves, and this was the first "new" thing I did. The game uses a base Hallway scene that has a Position3D that indicates where the next hallway should be connected, and a script with a signal alerting a Hallway manager when it's been "completed". This was meant to be fired off in various ways (kill all the enemies in a room, defeat a boss, etc), but for the jam it ended up only being "Switch" objects - Creature scenes that, when destroyed, tell the Hallway that it's done.
When the Hallway determines that it's finished, it alerts the Hallway Manager, which in turn selects the next Hallway at random from a pool of Hallway scenes, instances it, and attaches it to the current Hallway. Then some more events fire off, triggering a door opening animation on the current Hallway, changing the current Hallway to the "completed" Hallway and the "next" Hallway to the current Hallway. I also manage animating the transition between Hallways here, and enable/disable the creature logic so the player can't move during the transition and the enemies can't move/shoot. This was a stylistic choice more than anything, as
Contra
does basically the same thing.
With these elements in place, I blocked out five-ish Hallways and threw them into the Hallway Manager. The end result is the game you can download now on itch.
Wrapup
I'm pretty happy with how this turned out. It was the first game jam I've actually participated in in a while, and it was a lot of fun. Not only that, but I think that this little project could turn into a much larger one at some point. I'd like to make it co-op multiplayer and functional on the BGS arcade cabinet. Maybe add some aiming similar to
Sin & Punishment
, and obviously give it some real art and music/sfx. So we'll see.
PS
As mentioned at the start, I've fallen a bit behind on
Deluxe
progress. This whole month I'm dealing with a big release for my day job and I've got a bunch of non-game-dev fun things on my calendar because hell yes it's Summer and I wanna get outside.
BUT
, I do suspect that in the next week or so I'll start working on it again and will have another update to share following that next sprint.