Pneumagination Starting Multiplayer
Oceans
And so multiplayer begins! As of writing I now have a title screen menu and finally the ability to input a seed before starting! I also went ahead and finally implemented oceans after coming up with an idea for generation. Oceans use a map that’s just a multiplier of the terrain, but one that can go negative! This means oceans can go as deep as mountains can go high, and its a super cool transition as I get to decide how things taper off! This allowed me to go ahead and create White Sand to cover the beaches and ocean floor, which just checks if the “Ocean Multiplier” value is less than 0.1f. Still no plans to add Volumes yet as I need to keep focus, but its great finally seeing the land be broken up into distinct islands!
Brush Plans
Another day another rambling about stuff I won’t work on for months, but hey I talked about White Sand a few devlogs back and look its in the game now! Ok, so I’ve decided that on Earth there’s gonna be near zero Brush textures that have emissive properties. This is because mining just one Brush would let you stretch a light source almost 2 chunks wide. This is super OP. (Though not really too OP as my plan is Monster spawning won’t be determined by light level since there isn’t any, it’ll be determined by radius to any electronic objects you use in your buildings. This makes you truly never safe outside or underground unless you set up shelter.) Probably the only emissive brush will be like a Magma texture which will just give very faint red light which isn’t practical.
BUT, restricting emissive brushes to the MOON would be much cooler. Gives it a mysterious charm to unlocking it, and would help greatly once venturing to the dark side with 0 light. My current funny option is that Moon Cheese grows on the moon, which is the only way to obtain Cheese to sell in stores, and if you craft it with torches it’ll create Lit Moon Cheese which has light coming out of all the holes. This still means though not much light is being emitted which makes it just a step above Magma, and a stepping stone to other brighter emissive textures (idk anything past this point).
Half the progression jokes I make in these devlogs deal with throwing super common irl products into late game stuff, but if Cheese is only on the Moon that means you can’t sell Sandwiches or Cheeseburgers until then. You’re stuck with Hamburgers and PB&Js. I think that’d be super charming that players walk into the game with the pretense of “You can make a store selling any favorite product you like”, and then realizing their dream Ice Cream shop requires a Volume mining tool from a rare alien. Like I hope that’d incentivize them to wanna work towards that goal for the novelty. I’ve had things like that in other sandbox games. As a kid in Minecraft I crafted a silk touch pickaxe just so I could mine ice to use in a makeshift bowling alley. In Terraria I always try shooting for the bee gun because its just a funny item to make my main.
Multiplayer Plans
Okay so, first planned idea I need to write down is saving player sessions across servers. This game is gonna be split between the Steam version and the free GitHub version, and I want both to still have multiplayer functional (not between eachother). With Steam, validating if a player is legit is just accessing the Steam API. Simple. With the GitHub version, I’m not planning any sort of account service or central server, so I plan to use authentication tokens.
Every time you join a server for the first time, you’ll generate a random hash, send the server the hash, and store it yourself. This way between sessions you can still load up the same items and settings, even if you’re logging in from a different IP.
This is basically a free simple account system, just one where you’re a different person on every server you join. Only ways to break it is if you give away your token to someone, lose it by deleting your save data, or someone brute force guesses your token (which I mean I can just make like 50 different tokens and time out people who join and quit over and over).
Steam Version
Not so sure on if Steam interoperability will work though. Like the point of the Steam version is that its gonna have more content, but the Free version is still gonna have all the code available to it, just none of the assets. I could let you join Steam servers but then like, I guess I can make all the models turn into error signs like in Source- and maybe force non Steam players to not be able to keep any Steam version items in their inventory.
To some people that might be like “well if the code is still free I’ll just mod in some assets for them and get the Steam build basically for free”, and yeah, I’m fine with that. Open source is open source.
“Piracy is a service problem, not a pricing problem” - Gabe Newell
If someone wants to try out the Steam experience by enabling the code for the Steam version and throwing together some assets to put in place, they’ll probably enjoy it and just go buy the Steam version later anyways. I’m not worried about exact sales, just growing a user base that likes the game. If people like the game, they will support me. Because its always a service problem though, most people would again rather just buy the Steam version than to compile the original source code with mods, most people don’t know how to do that! That’s why as soon as the Steam page is up I need to go ahead and have the GitHub version always available as a free demo, because I’m already losing potential players on the free version cause they don’t wanna download something off GitHub or don’t know how!
Content Hosting
I will say though that similar to this, my current methods of marketing this game are also a service problem. You can only read these blogs, watch the devlog videos, and do stuff on the GitHub page. I don’t have any central spot like a Discord server or the Steam Community yet to let people share their thoughts or gameplay. This is due to me wanting to have my community in a central spot that can be archived legally. If Steam forums ever get shut down or any part of the community tab, I don’t think I can legally just download it all and host it somewhere else. Same with a Discord server or any service provider. I’m also beholden to that platform’s way of formatting things. I don’t particularly like the Steam Forums or how the Workshop functions.
Current solution is to just set up a dedicated website and forum so that all the mods, discussions, bug reports, ect are all in one place. I own the site so nothing will ever happen to it, and I’m open to anyone archiving its contents and republishing it. I just haven’t done it yet cause that’s a lot of time and money. I definitely should start on it soon though so players can become interested, as of now its been a few months working on this and I’ve only seen one person actually play the game- and that was one of the first versions lol.