The Starmourn Blog

Engineer – Starmourn’s fourth class!

By matt | June 12, 2017 | 4 Comments

Hot on the heels of revealing the Nanoseer, we’re happy to reveal the engineer class. Read all about it here!

Elgan male engineer

Possibly the greatest sci-fi book I’ve ever read

By matt | June 8, 2017 | 0 Comments

Just finished book three of the Remembrance of Earth’s Past trilogy, by Chinese sci-fi author Cixin Liu. The first book was very good, the second (which had a different translator than the first) I didn’t like quite as much, but oh my god, the third book – Death’s End – was absolutely incredible. I cannot say enough amazing things about it, from the ideas to the scale of the story.

I’m still processing the third one, but there’s a good chance you’re going to end up seeing a couple ideas from it in Starmourn in one form or another, even if most of the book would make for a very bad game universe for reasons I’ll not elaborate on to avoid spoiling anything.

Here’s an Amazon link to The Three Body Problem, the first book in the trilogy. If you love sci-fi, go read them!

Nanoseer – Starmourn’s third class!

By matt | May 25, 2017 | 6 Comments

Just announced the Nanoseer class! Read up on it!

Shen nanoseer

Roleplaying

By matt | May 19, 2017 | 11 Comments

Just put up a small page about roleplaying in Starmourn to answer some questions we’ve been getting. Enjoy!

Hacking in Starmourn, Redux

By matt | April 10, 2017 | 17 Comments

When I first started thinking about hacking in Starmourn, I made this blog post about it.

In the months since then, I tried various types of designs, including one potentally interesting pseudo-graphical (using ascii graphics) idea that may make it into the game someday, but ultimately we’ve settled on two types of hacking. The first is a simple skill check for trivial hacks that have to go quickly like an opponent’s wetwiring system. That’s not what I’m going to talk about in this post though, as there’s not much to talk about there.

What I am going to talk about is the method we’re going to use for longer hacks. For instance, perhaps you need to hack into a corporation to steal blueprints for, say, a large spherical planet-destroying Deathsun…or something. Here a skill check is not really satisfying. Instead, hacking will work like this:

  1. You’ll find a terminal connected to the grid you’re trying to hack. Each grid has a difficulty rating, and it’s essentially impossible for you to hack a grid very far above your skill level.
  2. You’ll leave your physical body behind, taking the form of a virus that’s trying to penetrate into the processor array of the grid, where you can unlock whatever it is it controls. To do this, you need to find the password. Your physical body will be vulnerable while you’re hacking the grid, so in some cases it may be advisable to bring along protection.
  3. The grid has various types of defenses it will deploy against you, from polymorphic antiviruses to firewalls to honeypots and more. Each behaves differently – for instance, the firewall will stop you from propagating in that direction, while polymorphic antiviruses transform into more powerful antiviruses after absorbing enough Ops from you.
  4. Those defenses will try to destroy your virus by attacking its Ops, which is short for GigaOps and represents the capability of your virus. The higher your hacking level, the more Ops you’ll have.
  5. Hacking map example

    Hacking map

    Making this a bit more difficult is the fact that each grid is randomly generated when you enter it, and you don’t have a ‘map’ of it. Only n/e/s/w directions exist, and the map will unfold square by square as you enter new grid circuits (themed name for rooms here).

  6. You have various functions you can deploy against the defenses, like Ping(), Infect(), Overwrite(), Backdoor() and more.
  7. Each of those functions uses up Ops, as does movement via the Propagate() function. Further, your Ops tick down simply by being in the Grid, so there’s time pressure.
  8. The grid defenses will attack you, draining your Ops as well, though you’re able to recover Ops from destroying some types of antiviruses.
  9. Certain types of antivirus defenses will drop one character of the password. When you think you have enough to guess what the password is, you find the processor array, and take a stab at the password. If you’ve waited until you’ve found all the letters in a password, you’re assured of success, but sometimes you may realize that you’re going to run out of Ops if you do that, and so are forced to take a guess based on which letters you have. For instance you may see “GA*GO*LE” and reasonably guess ‘gargoyle.’ We pull the password from a list of somewhere around 40,000 English words, so most players will never encounter the same password twice. Guessing the password incorrectly will cause immediate failure, causing expulsion from that grid and keeping you locked out of it for a period of time. Of course, we’re aware that people will cheat and use scripts to guess words with the least possible letters, but that will be strictly against the rules, and unlike some kinds of scripting, will be a bannable offense where we can catch it.

It can be challenging, but there’s the random factor to deal with in terms of grid generation, what enemies get generated in the grid, and where. All grids aren’t equal, and it’s quite likely that a grid of a particular difficulty rating may be substantially easier or harder than another of the same difficulty rating simply through the vagaries of procedural generation.

In the name of keeping things thematic, you’ll also find that the ‘combat’ you engage in with the antiviruses feels a bit different from other types of conflict.

For instance, as an example. My entered commands are all-caps.
LOOK

Directory list of 3,1
ICE/
@antivirus
@honeypot
Routes/
north
west
[106/140 s]

INFECT ANTIVIRUS

UseSync(3.00)
Infect.Result(“antivirus”, 11)
[99/140 *]

OpsLoss(3,@antivirus)

[96/140 s]

OVERWRITE ANTIVIRUS

Load(“Overwrite self-replicating_antivirus”, 300)

[92/140 *]

OpsLoss(4,@antivirus)
Overwrite.Result(“antivirus”, 24)
antivirus.Delete()
PasswordUpdate(“D”) -> Display($pass) -> DE*****

Perhaps the only thing that you probably can’t puzzle out with a little thinking is what the s and * mean. That’s just whether you have sync or not, which is equivalent to balance.

We’re also going to be putting in at least one other hacking method, but that’ll be post-release.

The Grensuhlians

By matt | March 21, 2017 | 2 Comments

Just put up a little info about the NPC Grensuhlians, a deep-water race of non-humanoid telepaths. Read up on them on the NPC Races page!

Grensuhlian

Ready to sign up for the newsletter?

Get concept art, news before anyone else, and access to beta signups when it's time!

Ready to sign up for Starmourn's email list?

Enter your email below. We won't spam you!