This is a smaller update than last time. I just had some time to add some basic inventory management.
In this gif you can see the hero open their inventory and loot the dumpster, which adds items to the inventory. It’s simple, but it’s a step closer in solidifying my context-sensitive menu which involves passing functions around through the class tree.
At the moment I’m looking into switching languages. I’m realizing how big this game could possibly be and I’d like to take advantage of threading. I’d like to be able to publish a web demo, but I’d rather not use Unity since it limits what I can do with C#. I’m looking into OpenTK with C# right now, by next week I’ll have some results.
It’s been about a week since my last post. That seems like a good amount of time to space these out, so let’s make this a weekly thing. In the current build of my cyberpunk roguelike, I’ve added player movement and a basic looting action.
Here you see the player (@) looting a dumpster object which has a bag and a piece of food in it. Enabling this action required quite a few subsystems to be created. Objects are the basic entity in this game, but now they can have traits. In this case, both the player and the dumpster have an inventory trait. Traits have actions associated with them, and inventory has the “loot” and “stash” actions which exchange items from the player and the object’s inventory.
All of these interactions occur through a generic list of actions represented in the UI as a list to the left. This list is dynamically populated by the actions in a sort of complicated navigation between the relationships of the actions, traits, and objects involved.
So far I’ve been enjoying the challenge of keeping my architecture ‘generic.’ I feel like this is a challenge of any traditional rogue-like where the designer would ideally like to have as much variety as possible without making it too difficult to add unique and interesting items and objects. I’m planning on not only having a variety of objects in the game world, but a variety of interactions. This is why I’m going with a generic, context-sensitive list of actions to choose from, rather than mapping a set amount to the keyboard like Rogue and Nethack do.
To summarize, here are the changes since the last post:
Basic UI structures
Trait and Action classes
And here’s what’s coming up
Player inventory actions
Item information on interaction
A better looking dumpster, and hopefully some other items as well.
Lately I’ve been cooking up a little weather and lighting engine in HTML5 using the PIXI renderer. I’ve been going for a cyperpunk city-scape feel. Here’s what my test scene looks like now:
Some people call this ASCII art but I’m cheating a bit, using some characters not even in Unicode. It’s more about evoking the style than the accuracy.
I’m planning on using this engine for a rogue-like game set in a cyberpunk mega-city. I’m still working the design out in my head so right now I’m just trying to make something pretty. I’ll be updating this blog as I work on it and end each post with the new features. Here’s what I have so far:
A 3D world of blocks a la Minecraft rendered in 2D ASCII-like art
Colored lights that are easy to add to scenes
Factory class for basic buildings, sidewalks, and neon signs that are also easy to add to scenes
Rain effect (clips through buildings at the moment)
Room structure for interior/exterior separation.
And here’s what’s coming up next:
Line of sight (In the works. Turns out this is difficult)
About a week ago I started exploring options for making a web game. In this post I’m going to go over what my criteria was, the various options I explored, and why and how my current environment works. At the end of this article, I go in detail on how to set up my workflow, which could be helpful if you’d be interested in doing something similar.
This was my criteria:
1. The environment can publish to web
Recently I’ve been building an adventure game engine that works as a mix between the SNES’ Clock Tower game and Phoenix Wright. In my last game, Canvasser, all the dialogue was hard-coded in the game, and it became kind of nightmarish to work with at times. In this adventure game, which will have more dialogue and other writers working on it, I knew I had to make a scenario editor to make all our lives easier.
Saving/Loading is a bit wonky, because in JS you can only download files, not save them (as far as I know). I’m considering using a library that embeds a flash file into the page to allow for traditional file saving.
Overall I’d strongly recommend this approach for proprietary scenario editors. It gets the job done, and is flexible enough without giving you too many options.
A little over a month ago, I published a blog post detailing my plans to make Canvasser 2033, a futuristic canvassing game with robots, and sequel to Canvasser. I made a playable prototype that I threw online (which took about two weeks to make in my free time), and planned to continually update it with user feedback.
After posting it and seeing the response I got from friends and other indie devs, I realized that the enthusiasm wasn’t there. At that point I decided it wouldn’t be worth it to continue working on it. From the outside, this can look like a failure, but I feel like this was a fantastic use of two weeks of work. Not only did I get to practice ‘selling’ a new game idea, but I was able to implement a basic conditional AI system for the first time.
Basically, I got to try a bunch of new things, as well as come to terms with the fact that a Canvasser sequel just isn’t in demand right now.
The next installment of the Canvasser series has entered development! Canvasser was a game about asking people on the street for money to support an important cause, and 2033 takes that concept 20 years into the future, with robots!
In Canvasser 2033, you will be controlling robot canvassers who bombard civilians with their smiles and clipboards, doing anything they can to get money for your cause. You will be able to program their AI with a flexible system reminiscent of Final Fantasy XII. You will be able to upgrade your robots over time and change their appearances. And you will be a part of a compelling story that tackles the ethical issues of the future.
I am about two weeks into development, so we’re in the early stages right now. However, you can play the current alpha version of the game here. I would like to get people involved immediately to help make this game the best it can be, and I encourage you to give me honest feedback on your experience.