Back in 2012 I made a 7DRL by stripping down X@COM to create the original Cogmind prototype. Now, six years later, I’ve ripped Cogmind apart and put it back together as something else for yet another 7DRL :)
I’ve always wanted to build more roguelikes, and the annual 7DRL challenge is a great opportunity to do just that, but in the years after 2012 the torturous hours I put myself through that week to make Cogmind a reality were still too fresh in mind. While that feeling faded as the years went by and I became eager to participate again, then I got way too busy with work and had to repeatedly pass, despite several false starts that died in the design doc phase. This year the stars aligned and it was about time to finally revisit the event that drove me to create a game which has since become my full-time job and taken over my life :P
Today, following a week of blood, sweat, and ASCII, I present POLYBOT-7!
POLYBOT-7 is purely about scrapping together a robot on the fly to take on other robots. And while that sounds sorta like Cogmind, this 7DRL is instead hyperfocused on tactical combat in a coffee break package. To create it, Cogmind’s hacking, intel, allies, factions, ecosystems, NPCs, events, lore, expansive world and much more, are all gone, as are the many UI elements required to support them. There is only
Destroy. Rebuild. Adapt. The world is your inventory.
All the core combat mechanics are inherited from Cogmind (as of the latest version, Beta 5+), but the surrounding systems, and therefore much of the gameplay, have changed significantly…
- You now automatically attract nearby parts and attach them when you have empty slots
- Builds are even more free-form, since there are no type restrictions on slots!
- Redesigned movement mechanics mean you can now combine multiple forms of propulsion, though flight was removed as part of the purge of non-combat options
- Part management is greatly simplified, since there is no inventory at all and you not only don’t have to but can’t remove individual parts
- All salvage (and other free items once you’ve neared them) destroy themselves after a period of time
- You start more powerful, with 11 slots
- The world is smaller, only 5 floors (although maps are still quite large, and if you win there is New Game+!)
- There is no slot evolution between floors--you can skip to the next floor whenever you find an exit, but you can only gain extra slots by finding items on the current floor, so skipping ahead will leave you weaker later!
- You also find permanent upgrades by destroying Dispatchers, machines that are activated and spit out robots as you near them
- All robots are hostile--if it moves, you probably want to either shoot it, reposition, or run
- There are fewer robot and item types than found in Cogmind (though also many new ones)
- Weapon ranges, sight ranges, speeds, etc. were all reduced to fit the new UI dimensions, making it possible to still see everything that’s going on, though maps might feel a bit more “cramped” as a result
As you can tell in screenshots, the UI is also fairly different, condensed into a much smaller grid to allow for double-sized fonts. The visual style is also different overall, because it’s nice to make clear that POLYBOT-7 is a distinct game and to experiment with other looks! Walls are now line-based (even in the tiles version), and I used Cogmind’s new and improved render filter system to create the low-contrast aesthetic.
Design
Although probably not entirely necessary after a rundown like that, I want to emphasize that POLYBOT-7 is definitely not a true Cogmind demo. It does, however, showcase a lot of the same particle effects and SFX, as well as UI features and general style.
Features that were inherited from Cogmind:
- Combat mechanics
- Numerous items and their effects
- Soundscape/SFX
- Map generation (same algorithms with different parameters)
- Some convenient UI features, wherever I could keep or redesign them since they add significant QoL
- Many of the same customization options are still available, but because I removed the options menu (no time for that!) you have to make changes direct to the config files. Certainly not all of them are applicable anymore, but a lot are.
Still, for a long while Cogmind has been on rails with such a long semi-predetermined TODO list that just executing it is only half the fun of development, whereas hacking away at a 7DRL was a really refreshing opportunity to work with new concepts and a much cleaner slate. Naturally I got really excited at this chance to experiment with mechanics and create a new experience in an otherwise seemingly familiar world--in that way it’s kinda like one of the Cogmind Challenge Modes on steroids. In fact, the idea that ultimately won out as The Core Mechanic for POLYBOT-7 came precisely from a planned Challenge Mode, the idea of attracting parts which automatically attach to you and cannot be removed as normal.
Everything else was designed around that.
Early on it became apparent that simply shooting stuff and attaching nearby parts automatically, maybe while toggling them to optimize the build as necessary, wasn’t quite enough of a fun challenge. There were too few player choices involved, so to keep it interesting I added a heavy emphasis on a redesigned version of Cogmind’s “go naked” command, the one that strips you of all your parts in a single action. (It became so important that its hotkey went from Shift-Alt-p to just ‘p’ :)) But in the case of POLYBOT-7, a so-called “Purge” destroys only half your parts, scattering the other half on the ground around you. This means it’s kind of like a randomized “shuffle” for your build, allowing you to regain some parts while making room for others you’ve come across, or simply trying to rid yourself of too many broken parts or a highly imbalanced build to start fresh.
The Purge system requires 100 turns to charge before it can be used again, however, making it vital to do this at only the best opportunities, while also preventing players from gaming the system to repeatedly purge and quickly destroy specific parts.
In terms of balance, while the player will have easy access to spare parts by strolling through the remains of any given battle, these parts are often garbage and not that suited to fighting hordes of enemy robots. On the other hand, there are caches of nice parts to be found… When and where to Purge will be key to survival!
Of course there are plenty of other features that didn’t survive the chopping block, but such are 7DRLs! Maybe one day? :)
Interlude
Earlier I said blood, sweat, and ASCII, but while there is definitely a full-ASCII mode, POLYBOT-7 defaults to tiles created by the wonderful Kacper Woźniak. He really knows how to maximize the potential of those few pixels I give him :P. So while I was coding up a storm, Kacper was pixeling our new robots and items (when not at work fretting for lack of time :P). Thanks for the help, man!
Impetus
I would’ve preferred doing something completely different for what is only my second 7DRL (POLYBOT-7 is pretty radical, though not as radical as say something built from scratch :P), but there are a lot of reasons I ended up choosing this particular game:
- First and foremost, this is something I can point people to when they like the theme or basic idea of Cogmind but don’t have a large enough display to enjoy it on. For them I wanted to test how much of the main UI I could cram into only half the space, while also adjusting the content to suit a smaller map area. In fact, the original code name I used in my first design docs was “Bigmind” :P. In the earliest design iterations it was going to be just a stripped-down version of Cogmind, but I felt that wasn’t worthy of a 7DRL--it really needed to be something even more unique, so as those changes made their way into the design I later decided the name shouldn’t be that close to its progenitor, either.
- That first reason also made it easier to justify taking the required time out of my work on Cogmind (technically my job now!) to join 7DRL. I know POLYBOT-7 is something that existing Cogmind fans can enjoy as well, win-win!
- POLYBOT-7 allowed me to explore a bit of what Cogmind would be like if I had gone the other route back in 2012: no slot types. Design-wise I’ve been very glad I did go the type-restricted route, but it’ll be interesting to see what comes of completely free-form builds, even if there isn’t as much control over them.
- I really like the idea of using 7DRL to force completion of quick and focused prototypes, exploring game ideas that might be extendable or polishable into something better later on. I’ve been thinking about that especially often as we get into late Cogmind dev, since I may need a quicker commerical project or two to be able to reliably fund future development.
Download
This year’s 7DRL is the first to be hosted at itch.io, so rather than providing the download myself, you’ll find it over there, along with additional information. If I end up providing future updates, they’ll also be made available there. Here on the blog I’ll also be writing a portmortem covering at least some of the design and technical processes that went into creating POLYBOT-7. I certainly didn’t have enough time to share much of anything during the week!
Oh, and it probably goes without saying there is an ASCII version ;) (F3!)
Have fun :D
Update 180329: I’ve published a four-part postmortem about this 7DRL’s development process and many of the design decisions made along the way, starting here.
17 Comments
Is it just me, or the tiles mode looking much cleaner than Cogmind? Because of the line walls, maybe?
Definitely cleaner! Walls could be a part of it, since they’re greatly simplified, but the main reason would be that we kept all the tile designs (and text!) designed for 12×12 cells, then upscaled it all by a factor of two for the base set (24×24), creating a chunky low-fi look.
Then you have the fact that all UI elements were either removed or compressed to effectively double the number of cells you can see on the main interface, allowing everyone to use twice their normal Cogmind font size.
So basically for every 1 Cogmind pixel you’re seeing 4 POLYBOT-7 pixels :)
Looks interesting, downloaded (and donated : )
Much appreciated, Snazz! Right now I’m working on a big in-depth postmortem to share here on the blog as well--lots of juicy dev details, WIP screenshots, and design discussion :D
You frequently mention wanting/needing to do a smaller, faster project after Cogmind.
Will we ever see a more portable game from you? Tablet, mobile, touch screen friendly?
POLYBOT-7 gets pretty close to being able to do that. You would be surprised how much stuff is crammed in to some mobile games. It would definitely broaden your audience.
But I understand that the biggest challenge would be the technology and might not be easy or fast to develop. (I have launched 5 apps to both ios and android stores, and there are new challenges every time, so if you need some tips or help feel free to reach out.)
Your designs are refreshing and original. I wish I could play them “on the go” or just while I am laying bed. Ha.
Not too likely! I don’t even use a smartphone myself, and I don’t really like the medium, at least not for the kinds of games I have experience making. All my ideas are more suitable for PC.
I agree (and have thought about in recent days :P) that POLYBOT-7 is definitely getting close to the “something like this could be feasible on mobile” category, but to be honest from a commercial perspective mobile games is a terrible market anyway. I’m not saying I wouldn’t be able to stake out a space there, but I believe the investment required is more than I’m willing and able to put in, especially without any guarantees it would work out, and especially when I’m happy where I am now :)
I actually did consider going into mobile games back in 2009 or so, but in hindsight I’m glad I didn’t go that way. I really enjoy having a strong community and mobile communities tend to… suck xD. Nor do mobile games offer the same kind of design freedom that PC games do.
When I think “small and fast” I’m thinking of a PC game developed over just 6~18 months and selling for $5~10. I could see making a redesigned, polished version of POLYBOT-7 for that purpose. It seems to be fairly well received already, so a version with more time put into it could be worth it. But who knows I’m not making any concrete plans here…
(Note this reply is examining the issue from a feasibility perspective, though I should point out that I am actually interested in mobile development from a pure design perspective--given unlimited time I’d love to spend some exploring it! But the numerous technical barriers are pretty much going to see that that doesn’t happen. I’m not really fond of dealing with too much technical stuff! Even without going that route I already have way more plans that I want to see through than I have time for :D)
I can respect that. Being a one man studio it helps to stick with what you know. I love PC gaming. It just kills me that the mobile game space is sooo bad. Part of that reason is exactly what you said. It can be a huge pain.
It’s also open to everyone who can make something, so it’s saturated with amateur stuff that will drown out some really good games. So even if you made the investment to make a good game, people might never find it.
POLYBOT-7 might be a good choice. I like the “push your luck” feeling of it. Objects following you around feels weird and I haven’t quiet figured out why you did that. It just feel unnecessary. Maybe instead your bot could have a small storage area that would hole inactive items, until there is a free slot or they decay in to materials after a certain amount of time. I think that would allow for the same mechanic without all the object following you around on the map.
Thanks for the great blog posts as always. I look forward to more game streams!
I’ll be putting up a postmortem that covers a lot of the P7 design choices, so stay tuned for that :)
Not sure if you’ve played much, but notice that items don’t really follow you very far. As soon as you have passed within attraction range they start a countdown timer and self-destruct after a short while, and if you keep attracting them, or dragging them around, their timer counts down twice as fast. Dragging is a natural side effect of having items approach you automatically though, which is basically one of the core mechanics here! It greatly speeds up the game, and makes positioning even more interesting because you often have to consider relative positions of both enemies and items--far more interesting than, say, letting players choose specifically what to pick up. For that players can just go to Cogmind :P
I intentionally left out both an inventory feature as well as ruled out having an automatic storage area that acts as an item queue. Both were considered in the very early stages of design, but they detract from the focus.
I’d like to stream some P7 soon, but need to finish this postmortem first. It’s… long xD
RE: mobile environment, yeah that too :/. Do you work on mobile games full time?
I wish I did games. I have tinkered with many ideas and never finished anything. I am a UX Designer for a company and some of our client work involves mobile apps. Navigating that whole dev and deployment process was a challenge to learn.
As a UX designer I have greater appreciation for games that do a good job. Roguelikes with good UI/UX are rare. YOU tend to pay special attention to those important details, like good ui, good player feedback, and boiling down the mechanics to what is the core, and building from there. All good UX principles.
Strange thing but Microsoft Essential counts Polybot-7 as a virus.
Yeah that’s not uncommon. They base that simply on the fact that it’s a new program that hasn’t been downloaded yet by a lot of people using the same AV. Or if it has some specific report then it’s just a false positive, which also happens occasionally--you can check it online here for example and see that it’s fine.
(Microsoft AV is terrible, by the way--you should really use something else :P)
Well, I didn’t use anything on my old laptop for a long time. With adblock, not visiting of doubtful sites and not running doubtful execution files you’re safe enough nowadays I think. ME just has been installed on my new laptop already. What would you suggest BTW amongst free solutions on low budget laptop? ^_^
I’ve been using Comodo for a while which has been okay. I think there are better, more popular ones out there, but having not looked into them I just stick with the same since it gets the job done and mostly stays out of my way. (But I never use MS solutions because they’re always annoyingly bad--too many false positives.)
My favorite was Symantec (not free), but that was back when I could use my old enterprise version which is sadly not compatible with Windows 10 when I had to switch over :/
My friend, it is clearly impossible for a ‘thing’ to be “…even more unique”. You surprised me with this.
Regardless, your blog entries and design notes are fascinating to digest and not dissimilar to Chris Park’s (AI War developer) in their thoroughness and open-ness.
Best wishes.
Haha, as per what that section’s describing, by “even more unique” I’m referring to it being sufficiently different from its source material to be its own more unique thing, rather than simply being “Cogmind with big tiles” :P
I’ve followed Chris’ work occasionally, good stuff. I kinda wish my own development coverage didn’t eventually end up being split between my blog and half a dozen other places over the years. It was kinda nice back when it was just the blog! Oh well, kinda important to reach people in different places, I guess…
and here I wanted simpler (no ‘lore’) Cogmind i found this. I see this has limited floors- any plans on making a version with infinite floors/aimed at how far can you push it? kinda like Burriedbones craziness. Love your work!
Thanks! No plan for unlimited floors, no, though with Polybot you can already push it as far as you think you can because it offers increasingly difficult floors in the form of multiple progressive levels of New Game+. This should be good enough since only one person (one of the best roguelike pros there is :P) has ever managed to succeed at that.
(Sorry for the extremely late reply, my server is failing to notify me when there are new comments, so I can’t get to them in a timely manner like I used to…)