Showing posts with label Project 16. Show all posts
Showing posts with label Project 16. Show all posts

Tuesday, April 14, 2020

Project Updates: April 2020

It’s pretty usual for me to get to April and realize that I’ve lost track of all the things I was excited about. I’m still working on balancing my teaching so that I can be creative and productive and a good responsible teacher as well. It’s less usual to have that April realization fall in the middle of a global pandemic where suddenly everything has gone weird and suddenly I’m stuck at home, as opposed to being a little out of work for the spring and stuck at home.

Anyway, once I finish marking I want to do … something, so I’m going to “circumwork1” and see where my projects on this blog are at.


Projects I am "actually working on"


One of the problems with maintaining the blog is that I have a list of things I “should” be working on even if they’re not actually the things I want to be working on. I try to avoid that by keeping my timelies short and achievable (yes, I know I’m bad at that) and by keeping the number of projects I’m working on at once (yes, I’m not great at that either).

Currently I have on my list:
  • The Blog (as Project)
    • I’m not 100% sure where I’m at with the blog, I’m enjoying tracking games and books. I don’t know that it’s a really productive thing to be doing, but I’m enjoying it. I also find that I don’t really want to put that much out there in terms of thoughts, because I’d rather put my time towards making something.
  • Covert Action in Space
    • I got a little held up because it turns out that randomly generating meaningful floor plans is a little harder than I’d figured. I still love the idea, but this isn’t at the top of my list.
  • Game Tracker
    • I’ve been teaching first year Java again and I wanted to get things rolling here again. I also taught a senior programming course in the fall which involved using online services and mobile interfaces, both of which my project needs. I opened it up a few weeks ago and couldn’t quite figure out where I left off, but managed to get it mostly on the path again.
  • Pong
    • I wanted to be way further ahead on this and have my AtariST version done ahead of my students, I managed to work along side them, but then completely lost the thread when the “transition to on-line” teaching happened. Hopefully I’ll have cause to get back to it.
  • Code Click
    • I already spend quite a bit of time thinking about how to share that moment of joy I get out of coding, and while I haven’t got that much done, I still think about code click a bunch. Transitioning to on-line has also pushed me to think a lot more about how I want to teach and the resources I want available when I’m teaching.



Projects I have “on hiatus”


There are a bunch of things I started out and then put aside, some of them are things I want to be working on so I think it's worth listing them all out too.

  • SNES Coasters
    • I’d like more and bigger coasters and maybe to spend a bit more time working on perler stuff.
  • Space Station Game
    • I keep thinking about this one. I’m still not ready to really set down and work on it, partly because I’d like to build up my skill working on some other projects first. I've been playing quite a bit of EU4 which has definitely provided some feeling for how the game should work when I actually get to it.
  • Action RPG
    • This is another one I’m not ready to work on yet, but I have a lot of ideas and I’ve been developing my drawing skills.
  • Sci-Fi Novel
    • The problem with having sat with a story in your head for 20 / 25 years is that when you think about writing it, it feels pretty trite. There’s a lot of things kicking around in my head from as far back as when I was a teenager. I don’t really know where to go with it, but it still might be fun to tackle at some point.
  • The Roofs (Fantasy Novel)
    • This is the story that sits further in the front of my mind. I’m not sure it makes sense, and it might be missing a reasonable antagonist, but I guess I won’t know until I write it.
  • Chrono Trigger Sprites
    • I have the first two sitting in the window over my desk and I love them. It’s time I got the rest finished.
  • Bubble Puzzler
    • I think with Pong out of the way this is the place I want to focus building games. It’s a good learning opportunity and I think it’s a great place to get started.

Projects I actually want to work on now


So I’m not sure where I want to put myself for all of the time between now and September. Obviously working on code click is a good idea for professional growth, but the Game Tracker and the Bubble Puzzler also make sense.

I also want to work on more artistic things. A lot of that I don’t think I want to make projects for, but I think that both the SNES Coasters and the Chrono Trigger Sprites. I also really want to get the Roofs written.

In an effort to keep my goals small and my projects limited, these are my near, term projects:

  • SNES Coasters
    • I want to finish a set of 4 large coasters, get them fused and backed and then I’ll see what’s next. I think I can get that all done by April 30.
  • Game Tracker
    • I’d like to get this working with outside data, either my original plan of google sheets, or with something else (possibly firebase). Either way I don’t want to spend too much time thinking about it, so I’m going to try to have some version of that working by April 30 too.
  • The Roofs
    • I don’t know how long it is, or how I’ll feel actually trying to write, but I’m going to give it a shot and try to have a first draft finished by August 31. (And yes, I think I did just put write a novel on a list of “short achievable near term goals” no, I’m not great at planning things)

(and we’ll leave the blog rolling along as it is, since that’s fun).

1 Circumwork: To do things that feel like work without actually being related to any task that needs to be done.

Wednesday, August 01, 2018

Project 1: Project Octoseason Blog*

Happy Blog End and Start Day!

via GIPHY

Yes, it’s time for that annual celebration where I remember that I started the Blog on August 1 (a long time ago) and should probably figure out what I’m doing with it. It’s also your annual reminder that not all things last forever, but this blog still might for another year.

Ahem, first, as tradition dictates, I’d like to remind you that the “Blog” here comes in two parts, the Blog as Project Report, and the Blog as Blog (which is itself a project). Effectively, my intention here has always been to get excited and make things - even if that’s not always as evident as I’d like it - and one of those things I’m excited to make, is a Blog where I talk about - well mostly the media I’ve consumed, but you get the idea.

Tradition further suggests that now is the time that I tell you I’m not done my PhD, but I’m close - and folks I’m getting ever closer to actually finishing the damn thing - and given that, that I haven’t done quite as much work on my own creations as I’d hoped last August. Still, here we are, I’m not going to beat myself up, I’m just going to celebrate what I have done.

In terms of projects in the last year, I’ve worked on four and I’m generally, pretty happy with how they came out. I started messing around generating floor plans for a game I’d like to make at some point. That only managed two posts, but I still had fun - and I’m still thinking about it, the Flurpins will be back “soon”. I pushed myself to read more, and set myself the goal of reading 12 books in 21 weeks. That was a nice project, in that it had a set end date, and ended at the end for 2017. I actually made it all the way to 18 books - what a stunner. I started on a program to help me with game tracking, and also to just get some general programming practice in. Finally I tackled #NaFYoFuThMo an effort to get me pushed across that finish line of that ever looming PhD.

A Flurpin ... an odd side effect of generating floor plans.


As far as the Blog as Blog goes, in the last year I’ve kept up with tracking my video game playing, which I continue to find interesting, even if it probably seems a bit repetitive. I dropped a little behind in the monthly posts, partly because I was fairly overwhelmed in the Winter managing teaching and the PhD. I’ve mostly caught up now, and you can expect to see the June and July posts in the next few days. 

Following on from the success I had in boosting my reading in 2017, I’ve tracked all of the books I’ve read so far in 2018. I think It’s been worthwhile, and I’ve boosted my goal for the year on Good Reads from 32 to 40 (but that’s mostly to accommodate the fact that I can read a volume of Saga in a morning, and I hadn’t planned to read Saga at such a rate).

I only wrote one “thoughts on” post this year. That was Legend of Zelda: Breath of the Wild, last August. I haven’t really finished another game this year that I’ve had that many thoughts about - while I loved Into The Breach, I found I didn’t have a lot to say other than, It’s really good. I suspect that in the next little while I may write a “thoughts on” piece for Paper Mario: Colour Splash - where you can enjoy my chants of “The WiiU is not a 3D system!” - and I may write a follow up to Breath of the Wild, another hundred hours on.

It's ok, you just have to trust the game not to smack you in the face with a hammer ... which you can't.


For the first time I wrote a New Years Resolution post. I think it was good for me to write down what I wanted to do better, or differently, this year. Generally, I’ve been more successful than not: I’m *slightly* better at monotasking and much better if I don’t let stress build up. I think I’ve done an okay job of holding fewer opinions, although that also varies with stress. I do think it’s helped while teaching introductory computer science, where many people hold a number of *very* strong opinions which may not matter very much. I think I’ve also been better at acting and getting stuff done just by standing up and doing it - it’s easier than I think it is.

I’m going to finish my thesis, sooner rather than later. I think in a small way I’ve been better on Twitter and happier with how I’ve been on Twitter. I’ve definitely read more and enjoyed a lot of what I’ve read - and then there’s Eats, Shoots and Leaves. I’m not sure I’ve made more stuff, but I’ve done a lot of stuff around the house that feels similar. I’ve seen more things, but I’d like to see more and keep pushing past the boundaries of inertia. 

More or less, I’m happy with the Blog as Blog in its seventh season. It has mostly been bits of media I’ve consumed. I didn’t really mean for it to work out that way, but at the moment I’m feeling fairly happy with that. My favourite YouTube videos have fallen off, but I think given the state of that platform generally, I'm okay with that. I may bring them back in a different form in the future.

I’m going to do an Eighth Season of the Blog - surprise! I suspect it will look very similar to the seventh. Tracking media keeps me interested, and if I find I have something I want to write about in relation to that, then I’ll have a good space to do that. I am hoping that as I finally finish the PhD, I’ll be able to add in a few more projects - I have several in mind, which should be fun.

Thanks to all of you who read, I hope the fun I have here is at least a little fun for you as well.


*Yes, yes I did make a stupid reference to Octopath Traveller in the title, what of it?

Friday, October 06, 2017

Project 16: Covert Action in Space: Update 2

I've been working on my Covert Action in Space project and reached the point where I wanted to be able to see a graph of the spaces I'm generating. Particularly, when I was working on my first system, it was difficult to get a feeling for how the spaces work (or if they worked). At first I had been thinking that I’d look and find a simple algorithm to draw a graph and then implement that in something simple like Processing. Fortunately, poor google-fu prevented me from finding a good algorithm and instead I found GraphViz.


I'm not sure I want to work here, but I'd look for their industrial secrets.



Despite that tweet, I managed to keep my wits about me and realize that I don’t need to create my own graphing system, I just want to see a graph of the space layout. So instead of spending time learning a graphing algorithm and dealing with all of the problems that’s likely to create, now I just need to output a simple text file and let the magic happen.


GraphViz is great. It’s capable of doing a lot of stuff of which I only need it to do a little bit. To output, I need to make a list of all room connections and put it in GraphViz’s dot format. Internally I’m keeping this information in a map so that each entry has all of the rooms that a room connects to. This produces duplicates in the list, but using the strict keyword GraphViz automatically ignores those.
The code to generate the dot file works out to be quite simple.

And the dot file for the graph up top. Again I'm not particularly stressing GraphViz.



As I said, this makes it really easy to look at how spaces are connected and how those spaces work. I’m really glad I was able to get this working without needing to spend too much time on it.

The next job from here is to start laying out an actual floor plan based on the given space. I have a rough plan, basically starting with a default shape for each room and then expanding them to fit together. I can probably come up with something more complex, but as with the space generation, I’d like to start simple.

Saturday, September 30, 2017

Project 16: Covert Action in Space: Update 1

I spent quite a bit of time working on my first approach to procedurally generating spaces. I based a lot of what I did on [this paper] and ended up with a system that worked, but that ended up pretty complicated. It had a system for creating an arbitrary hierarchy of spaces, as well as an arbitrary rules engine, which provided systems for determining how rooms were connected to the outside and each other.

I had already finished that work when I first posted about the project and I thought I'd keep working with that system. I realized, though, that solution was overbuilt and over complicated. So I ended up spending a quick evening rewriting it. The arbitrary hierarchy was very difficult to maintain and creating rules that abstractly described space was frustrating, so I dropped all of that and went back to figure out what I needed to make a minimal viable product.

If my goal is to play with guard AI, then I need space for the guards to guard, furniture to play hide and seek in, graphics to see what's going on and some AI. Plus possibly an interface to play.

The new system was a little messy, but thanks to a timely beer with a friend who had just been reading Uncle Bob, I came out with a nice clean system. I now have:

  • A model which describes how to make a space:
    • Model rooms which include a room name and a probability that the room should be on the space. 
  • A space that includes:
    • A list of rooms and a map 
    • A constructor that builds a space based on a given model 

The first question I had was would it still be interesting. And I think (at least for limited test situations) it is. Using a basic model of a Hall (with probability 1.0), Office (0.75), Storage Room (0.6), Lounge (0.5) and Bathroom (0.25), it has provided an interesting set of rooms and connections that, I think, could each provide an interesting encounter in a game.


At this point, I’m just producing the text outputs of the system, but I think the above sampling produces something “interesting”. My evaluation for “interesting” right now is: Can I imagine how an interaction between my spy and a bad guy would go down in that space. For the samples above I think I can, and I think with more models, I can expand the interest of the space.

My system has a known bug right now in that it isn’t guaranteed to produce a fully connected graph of rooms. I think that’s a quick thing that I should fix in the near future. Other than that my next step is to put together a quick graph viewer to show how the rooms connect. Once that’s finished then it’s on to expanding the graphs to physical space.

Sunday, September 03, 2017

Project 16: Covert Action in Space

Sid Meyer has a rule, the Covert Action Rule. The Covert Action Rule basically says don’t make Covert Action.




So the next big thing I want to make is basically a recreation of Covert Action. Covert Action in Space.

In covert action you play a super spy (or super agent … or super counter-agent … or something). Each month you’re given a mission and some basic clues. Then you have to stop the bad guys from doing whatever they’re doing. If you succeed you get a clue about the current mastermind plotting the crimes. Once you’ve figured out who and where the mastermind is you can grab them and wrap up that crime spree. Then some other mastermind starts up again the next month.




Now, I’m trying to finish a PhD, so it’s a really stupid time to take up making a game, but that’s where the Covert Action Rule comes in. Basically the point behind the Covert Action Rule is that it’s hard for the player to remember what they’re doing when they have to keep switching between generally unrelated minigames, so make sure that your player always knows what they’re supposed to be doing (XCOM also falls into this territory).



My thought is that given limited time and attention, making a collection of interesting minigames, seems like a good idea. I can work on one minigame when I have time and I don’t have to worry too much about making the whole thing hang together. It should be good practice getting a game made without worrying too much about making the game good.

As for the “in Space” part. I have a sci-fi world sitting around in my head, with a few stories I’d been meaning to write (and a few I’ve managed to put up here). It seemed like a good way to modernize a game that had fallen into abandonware and give it an interesting spin. Rather than having to fight 1990s terrorist across Europe, you could fight space terrorist across the Terran Empire.

The original game had four main minigames; one where you infiltrate people’s offices, stealing their information and possibly arresting them, one where you drive through the city either trying to capture someone or avoiding your own capture, one where you have to swap chips out to trace a car or bug a landline, and one where you have to decrypt messages doing a simple substitution cypher.

I think there are a lot of fun things that could be done after to stretch the game and make it a little more playable than the original. Before that however I want build the original four minigames and get a skeleton basically. Of the four, I’d like to start with the infiltration minigame, and especially with a little bit of fun procedurally generating offices (possibly to do different things) and building up a guard AI.

Due to a mishearing, I accidentally created the mascot for this project. The Flurpin.

I’ve started a bit over the last few months and I have a rough system together that takes requirements for buildings and is able to generate a procedural room graph, that connects all the rooms, but doesn’t actually build a floor plan yet. My next short term goal is to finish creating the floorplans from the graphs. Given that I still have a PhD to finish and this is mostly a “watching TV with the laptop out” activity, I’m hoping to wrap up this the floor plan generation by October 15, 2017.

The Books I Read - November 2024

November was a bit weird. The Hands of the Emperor is long, but excedingly good. I'm continuing to find Anna Lee Huber a very engagin...