Overall Mechaenetia will be going from "Stone Age" (or whatever else you are selecting as "Starting Age") to "Intergalactic Space Age" (or whatever else you determine to be the Tech Limit, "Age of Empires" or "Rise of Nations" Style).
The Complexity and Difficulty can be adjusted separately from each other, from Stupid Easy all the way over to Realistic Hard. Some people like Stupid Hard, others Realistic Easy, so the options for that will exist.
There is plenty of repetitive Tasks in the Game, but I dont want the Player to do all of those, that’s why there is gonna be NPCs doing some types of work for you.
Tickrate is something that will be less unified than in other Games. Things can have a slow and a fast tick rate depending on what they do. It will not be uncommon for things to have a Tickrate of 1 Tick per Second or even 1 Tick per Minute, or even just a specific delay Tick that only happens after some Block updated.
Speed of the Day passing will likely be 5 mins of Dawn, 10 mins of Day, 5 mins of Dusk and 10 mins of Night by default (might scale depending on how far north/south you are), ofcourse configurable, but I will add a simple Setting that takes the Computer Clock, so you could use Real Life Day Cycles if you wanted to (For Servers for example).
At least the first Type of World Generator I do, will be an Island in the Ocean Generator, which generates a large Archipelago (tons of Islands). Reason being that certain Worldgen Features like Rivers can be done easier if the Surface of the whole Island Generates at once.
The Planet wont be a Sphere, Tetrahedron, Cube, Isocahedron, Dodecahedron nor Flat. I will give it a much more unlikely and convenient yet still realistic Shape for Map Generation, but I will let that be a surprise for now.
As for Sun and Moon, the Moon will have the same general Shape as the Planet (because eventually you might be able to get there), while the Sun, well, either I will put some random Sun with random Color there or lock it to some other unusual, yet still is realistic Shape.
Blocks will be (0.25m)³ so most Detail will fit into the normal Grid and doesn’t need special adjustments like Microblocks (but Microblocks will probably still exist eventually).
Note: I later found out Octrees exist, so that will probably solve a lot of Issues that a Chunk Grid System would have, so some of this following Stuff doesn’t apply anymore.
There will be Megablocks and "Undiscovered" Blocks too in order to save on performance close to the ground, so that a 16x16x16 of Rock wont be processed as 4096 separate Blocks during Collision or Render checks.
Flying Machines, Boats, Cars and Stuff similar to how Spaceships in StarMade, Empyrion, Space Engineers or the Archimedes Ships Minecraft Mod work are planned for later too.
Another thing is that if you for example cut down a Tree, you will get a whole frikkin Tree with connected Blocks, not just "Log Blocks" and "Leaves Blocks" like in Minecraft.
You can remove Leaves, Branches and Stuff from that Tree in order to get a Log of whatever size that Tree was. If it’s small enough you can pick it up easily and carry it home, otherwise you need to cut it up or get NPC help.
Same concept also applies to Boulders and Rocks. They can ofcourse be placed as a whole thing in World. Also remember its 0.25m Blocks, not the whole Cubic Meters of Minecraft.
Furniture would also count as Blocks that can be picked up as a whole. I will probably do something that makes it possible to place Blocks on Halfgrid Spots inside said Furniture to save Space.
Edit: and one more Idea, make sure Chunks that have nothing happening in them actually don’t re-sync to the Clients. That way you can explore and still keep the CHunks in Memory if needed, so the Server doesn’t need to send you all of it. And if RAM is a bit crowded just save the Pagefile to Memory like Factorio does it.
Everything is gonna be blocky similar to Minecraft, but Slopes will also exist. I will just not add perfectly "round" things, since that does not fit the Art Style and makes everything more jarring.
I am not sure how well a Texture System could work, though I can understand cases where you would want tiny Ultra HD Ornaments such as Logos or Letters to be visible without having to put them on some large blocky canvas with the MC equivalent of 32x32 resolution.
Some people might be concerned that an FPS cap or something is gonna happen, dont worry I know how the whole FPS thing actually works, and wont cap the FPS. (And I kinda wanted to put this argument on this List, lol)
Sure you may not be able to see more than about 60FPS with your eyes BUT what people forget in this debate is that the Monitor and your eyes do not have "vsync" between each other.
What makes the matters even more complicated is, that if you have a >60 FPS thing running on a 60Hz Monitor you will not get more Frames BUT you will get more up-to-date Frames, reducing the overall felt latency between monitor and human!
So yeah, the argument of "you cant see more than 60FPS anyways you don’t need more!" is complete garbage if you look at it more closely! Not only do Monitors with higher refresh rates exist, but it also reduces latency in all cases.
Note: With "I wont cap FPS" I mean the FPS Option wont have an upper Limit (except 2^32), you can ofcourse set the Game to any Max FPS Value you want as long as it’s greater than zero. 1 FPS might be fun to play around with. XD
The FPS Slider will have a Number Input Field for manual Selection next to it, but the Slider itself will be grained in the following Numbers: 1, 6, 10, 12, 16, 17, 20, 24, 25, 30, 32, 36, 48, 50, 59, 60, 64, 72, 75, 80, 90, 96, 100, 120, 128, 144, 150, 160, 180, 200, 210, 240, 270, 288, 300, 360, 400, 480, 500, 576, 960, 1000, 1152, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 9001, UNLIMITED
You will also eventually be able to register custom Player Models in some way, or just have them saved Clientside and autouploaded when you join a World.
And the editing of such Models will be in a dedicated Editor, as some Models can have effects ingame too.
For example the Size of the Model affects your Hit and Collision Box, so a big fat/buff person doesn’t fit into the tight places a tiny person would.
You could be a Giant and be very Strong with a large Inventory Capacity and lots of Melee Damage, but in the end you don’t really fit anywhere.
Several Races from Dungeons and Dragons should be possible to be (re-)created, same goes for Furry Models ofcourse.
Note that at the beginning there might only be "Humanoid" Models, meaning a Head, two Arms, two Legs and a Torso. I simply can’t do all at once. (Tails, Horns and Ears probably early on too)
Some things might give you advantages for certain Situations (better Eyes or Ears and Underwater breathing for example), but do note that those Effects can be disabled in the Server Settings in case a more "equally balanced" Game is wanted.
The Models will be Boxy kinda like Minecraft Mobs, essentially lowering down the "Quality Bar" so people can more easily make their own Models, without having to feel bad about being out of place, because of them not looking as good as a professional 3D Rendering would.
This will also make Armor Costs more easy to calculate and Armor Parts more easily divisible into individual Parts, not to mention custom Armor Rendering would be much easier.
If you are concerned about how Accounts are gonna be handled, it’s gonna be simple, Accounts are on a Per-Server Basis.
So for Whitelisted Servers, the Admin of that Server can give you a Code that you can use to register your own Username/Password/Skin when logging in for the first Time.
Note, that I will not do anything against Admins selling Accounts for their Servers, they can do that if they want, even though I do discourage doing that.
And Blacklist based Public Servers, well they might be problematic with griefing, but Safeguarded Home Areas will exist in vanilla Mechaenetia to decrease most damages.
Due to the registration being per Server, "inappropriate" Skins CAN easily be veto-ed by an Admin should one attempt to register such a thing (if it is against the Servers policy ofcourse).
However, I will try to make a System that will label Models as "definitely-appropriate" without giving that veto-right for them, simply because I do not want Admins to go all racist, sexist or similar against other people.
Whenever another player interacts with an Object, an expanding circle animation of some sort will show that they did something with it. This can also be useful if someone is pointing out something to you by touching the block they talk about.
I would also like to encrypt the Ingame Chat messages, just to make everything a little bit more secure, even if you have an insecure Internet.
Local Multiplayer is also possible thanks to the way I’m going to implement Controls, so that multiple Mice and Keyboards could be detected. The Mice will probably be the largest Issue for that, but I will see how that is gonna be solved! ;D
As for Features on Servers, I would like them to be able to have a Text and Images Only Website without anyone having to put much effort into hosting their own Website. That way News can be posted there, or instructions how to get whitelisted (since paid Server Accounts are allowed, also links to that), or a link to the Servers Patreon/Paypal for Donations.
A special Text Only "Rules" Board will also be on the Servers Website, so you dont have to place a Wall with Signs at Spawn or something stupid like that.
The Rules List will probably be shown during the loading Screen while logging in, along with whatever Title/Name/Logo the Server chooses to have.
The Website should also be able to have some sort of World Map of the Server. Similar to Dynmap for Minecraft. it will be possible to turn this off, to disable "Map spying"
Another thing to add there would be Server Chat, where you can log in using your Server credentials (including just directly through the Launcher) and then chat with the other people even if you dont actually have the Game itself up.
All those random integrated Services will run independent from each other, so that if the Game happens to crash, Chat and Website will continue to work, so that you can spam the Host to finally fix the damn Server, or help the Host fix it in Chat without having to use third party Chat programs.
Game Crashes will also result in an Email Notification for the Server Host (or Hosts, you will be able to enter multiple Emails), so that a fast reaction can be guaranteed, unless everyone Sleeps or something.
The Chat will be told that an Email Notification has been sent to the Host (but only if an Email Address was given to the Server for Notifications).
Automatic Backups are important too. Those should be triggered by a timer and by whenever a Mod Updates.
I’m a bit unsure about Automatic Reboots of the Server. The Code should be good enough to never require a stupid reboot to clear Memory. The Rebooter should definitely detect if nobody is online at that moment and when possible only do it then.
The Server itself would be a Commandline started thing, and Mechaenetia will have Scripting for Events and such, so there is going to be plenty of ways to control things.
While I will try to avoid adding GUIs in general, I know for sure it is not 100% possible to do that. So here a few Basics things:
Your Inventory and similar things will definitely have a GUI, it can come in different Settings, you can have it like a List with multiple Themed Tabs (Fallout), or a Grid full of small Item Icons (kinda like Minecraft, but more like Morrowind), or a Resident Evil kinda Inventory with things that occupy multiple Slots depending on Size.
Another thing with Inventorys is GUI resizeing. It’s always nice if you can resize and move your GUIs whereever you want, but it is really shitty if you can "accidentially" move or resize a Window by just clicking at its Border. That’s why I will make it so you have to hold both Mouse Buttons at once to resize or move a GUI, while hovering over its border.
There will be an IRL Clock available as UI element, because why shouldn’t you be able to tell IRL time if you dont happen to have an IRL Clock closeby.
It will be possible to move the Window of the Player Camera around just like any other Element. For this I would highly recommend Letterboxing+Blackbarring+Fullscreening the Game (to have more space), so you can place other UI Elements on the Black/Transparent Background where YOU want them, without the Elements occupying your actual Screen!
As for Keybindings, there will be defaults for WASD and for Arrow Keys. Both won’t overlap and will work at once, so you don’t need to adjust Controls all that much. The Arrow Keys variant will work with the Keyboard Layout that I have myself, so it might not be the best considering that this Area is not Universal.
The F-Keys (F1 to F12 and so on, not the actual F-Key) are not going to be used for anything in the Default Keybinds, not even Debug Stuff. I don’t even want Mods to Default any Keybinds to those, with the reason being that people using Fraps, OBS or other Screen Capture things, have the ON/OFF Buttons and similar Recording Options mapped to the F-Keys by Default. Also apparently there is Keyboards without ANY of the F-Keys or an ESC Key… Yay for Apple! (Not that I would add support for Apple Stuffs, but still)
In the Default Keybind Config, the Z-Key and the Y-Key must be mapped to the same Function, in order to give less reason for Users to change Keybinds if they have a common QWERTZ Keyboard.
Generally, I do not want Users to end up changing their Keybinds (I will ofcourse give the Options for that in an actually proper fashion), this has the simple Reason, that when Players communicate Keybinds to each other, they usually mention the Letter corresponding to the Default binding, and that can be very confusing in some cases, when the recipient of the Message already reconfigured it.
Keybindings that are opening non-Inventory GUIs or for Debug purposes, always have to default to the Area to the right of the U, H and B Keys (including those 3 Keys themselves). They have to be between the WASD Area and the Arrow Keys Area by default. Though such GUIs have to be prevented as much as possible.
In regards of Dvorak Users, there should definitely be an option that auto-remaps all Keybinds from QWERTY to Dvorak.
The Printscreen Key is never allowed to be used in ANY Default Keybind. Some Operating Systems spawn a Screenshot Tool when you press that Key, which would screw up a lot of things.
Ctrl+Q should always be prevented from closing the Game, due to its closeness to the WASD Control Scheme. (Ctrl+Q is a Linux Default binding for closing a Window, and yes it is stupid as fuck to have it bound to that)
Alt+F4 has to just close the Game within 15 seconds. This should be long enough to save the Game and gives a better alternative to shut it down if something is frozen for whatever reason. It could also spawn a Pop-Up to give you better options to close the Game.
Shift+Tab is not allowed to be a Default binding due to Steam using that, and I might release Mechaenetia for Free or almost Free on Steam too. Or Free with a 1$ DLC or something else I deem as morally good.
There is gonna be more than just simple Default bindings ofcourse. Ever thought how Keybinds usually work? Normally there is a Key-Pressed and a Key-Unpressed Event, there is no "Holding Key" Event, the holding needs to be implemented by the Game itself.
So if you want to set Keybinds differently, you could map "Press W" to "Start Walking Forward", and then map "Press W" to "Stop Walking Forward", this would result in you starting to walk when you press W once, and then stopping the walking when you press W a second time without you needing to hold W at all.
Or map "Stop Walking Forward" to "S" as well as "Start Walking Backward" to "S", but without pass through so that "S" is being cought by the "Stop" Keybind before it can reach the "Start Walking Backwards" Keybind, so Priorities and sortable Execution Orders will be a thing too!
But even better, this could be combined with mapping multiple Keybinds to one function, so map "Press and Unpress W" like you normally do to Walking and stop Walking, but then map lets say "Press K" to "Start Walking Forward" too, meaning you can walk with WASD like normal but press K to Autowalk!
Want to get even more advanced and make things even more confusing yet awesome? How about using multiple Keyboards at the same time and change Keybinds per Keyboard! So instead of K you map the Autowalking to W on the second Keyboard! That way its more intuitive for remembering Stuff, even if the second Keyboard might be a bit away!
This Functionality will be able to detect Keyboards not only by "first plugged in and second plugged in" but also with the UUID set by the Manufacturer with possible fallbacks if the Keyboard isn’t found properly.
This can also be used for Controllers so one of them is always "Player 1" and the other "Player 2" no matter which order or which USB Slot you decide to choose! Ofcourse with the possible fallback that if only one Controller is detected it will use it for Player 1 if you wanted to, even if you happen to plug in the Player 2 Controller.
In general the Fallback by default will be for "Devices that havent been specifically assigned yet", which will mean that if you buy a new Keyboard and plug it in, it will mirror the Keybinds of whatever the Primary Keyboard is. This is especially needed for USB Stick installs of Mechaenetia, where you just Plug and Play at some foreign Computer, while you also have additional Home Settings for specific Keyboards.
One thing of note is, by principle, I will not allow the "Reset All Bindings" Button to reset any Device that is not plugged in at that moment. It will however create a new Keyboard and similar Profile with the actual Default bindings and set that Profile as the Primary Profile, keeping the old Profiles intact and moving them to the "Old" Tab in the Options as well as moving the corresponding Device Settings File to the "old" Sub Folder.
There is going to be a lot and I really mean A LOT of customization options, to the point that Macro Keyboards are pretty much gonna be useless except for very specific timed tasks or a turbo button maybe, and even that I might obsoletify later on!
Oh and in case you are afraid of the huge GUI that this would cause, all of this is the Advanced Settings not the Normal Settings, so don’t worry too much about it, if you are just playing casually. ;)
I will likely add some random workaround Settings too, such as "ignore Doubleclicks that are too fast" for people who have mice that are sometimes randomly doubleclicking. Ofcourse with a precise timing Field to insert custom times, and maybe even a special test where you doubleclick to find your own Doubleclick Speed to compare against. (and yes I sometimes have that Issue with my Mouse, though it usually only affects Desktop Stuffs)
As I plan to eventually make it possible to have more than 2 Hands or just one single Hand, there will be Keybinds for "primary Hand" and "secondary Hand" and all the etc Hands.
During Player Body Creation you will be able to select if you’re Lefthanded or Righthanded (or whichever of the Hands are the Primary/Secondary/etc), so you dont have to change your Keybinds whenever you decide your Player uses their other Hand for whatever reasons you may have.
There will be separate Keybinds for each Hand, available actions being:
whack which is essentially a Melee Attack with whatever you have in that Hand. Also used for Mining if you have the right Tool, and only if you have a Tool, no Fistpunch Mining unless you happen to be strong enough to punch Holes into the Wall, or the Wall is made of Paper.
use is using Items and solidly places Blocks (so they are attached to whatever you place them at), Melee Weapons like Swords, Spears, Pikes etc usually block using this. Bows and Guns will shoot using this too, since those are ranged and not melee.
put just lays an Object at the Location or loosely places Blocks without attaching them (so they will be affected by gravity and other forces).
chuck will just throw the Item or Block at whatever is in front of your Crosshair. Some Items like a Spear or a Bucket may have a special behaviour when chucked.
rotate will rotate the Block you are about to place into the direction you want, which is important as many Objects are made up of multiple Blocks. There will be a hologram displaying what you are about to place, and this does have forward and backward rotation bindings.
swap will remove the Item in your Hand and put it back in your Inventory. If used with an empty Hand it will draw whatever Item is on your "Belt" Slot for that particular Hand (like a Sword for example). Some Items may be on your back if large enough, like Shields, Longswords or Spears.
action will bring up a Context Menu for you to select one of multiple Options for the Item in your Hand (more on it further below). If you have a Swiss Army Knife for example, it will bring up a List of all the Tools you can select from it, like a Mode Switch. If you have a Bow, you can select what Arrows to prioritize, etc.
Default for the primary Hand might be: Leftclick = whack, Rightclick = use, Y Z or RCtrl = put, DEL or Q = chuck, Mousewheel Up/Down = rotate, END or E for swap and F or NUMPAD4 for action.
The Secondary Hand (usually the Left Hand) has: Forward (the 4th Mousebutton) = whack, Backward (the 5th Mousebutton) = use and the rest are not assigned by default, so you don’t drop your offhand Object by accident (but you can ofcourse assign the bindings yourself).
A lot of times there is the Problem of Mods adding Keybinds for random junk you’re rarely using without even asking you if you wanted that Keybind to exist in the first place, then the Keybind eventually conflicts and everything feels shitty to use, and you never know if a Key you never used is bound to something already or not.
That is why there will be "Action" Keys, which will present you with a list of Options for the Block you point at or the Item you are holding in your Hand respectively. It will be populated with all the rarely used Options, Mode Switches, Ammo Select and similar Stuffs.
The Menu itself can be either just a Text Box with multiple selections, like the Rightclick Menu on your Computer, a Box with just Icons to select from, or a Radial Menu, depending on what you like more.
One binding will be for "Block you point at with Crosshair" specifically to show all Options for that one, and all other ones are depending on your Hands Keybinds.
If you use the Hand based Action Keybind with an Empty Hand, it will prompt you with a few "Emotes", like waving, pointing, whistling and such. Simple non-verbal Communication for the most part, no Dances of the sort.
When using the Keybind with a Weapon in your Hand there might be strategy selections for those Weapons. Also some Items might have specific Emotes, like "waving your sword around" or "bashing your sword against your shield to look threatening".
The Action Menu will also give you the option to bind a Key to a specific Action, like a shortcut, ingame so you dont need to bring up the Settings Menu to search for some obscurely named Keybind. Things selected that way are usually saved on a per World basis, but you can also make it be saved globally from within the same Menu. Will also work for Emotes ofcourse.
If you bind multiple Action Keys to the same Key, there will be a Super-Action-Menu where you can choose which of the things the Action was meant for (Pointed Block, Left Hand, Right Hand etc), before the regular Action-Menu of the selected option pops up.
There will also be an "Upwards" Button in the Action-Menu that will get you to the Super-Action-Menu, so you can look through all your Options. Especially useful if you did not bind the other Action Keys at all.
Similar to the Action Menu, the Instinct Menu will suggest a LIMITED amount of things that make the most sense to the Character you are controlling. (NPCs will have the same type Data for their own instincts too)
The Instinct Menu will mostly "skip" Items you already hold ready in your Hands. It is more a "do something unrelated to Items, or quickly grab something fitting from your Inventory" Menu.
This can for example be the option to roll on the ground to extinguish yourself, while you are on Fire. A useful thing when you dont want to navigate the Menu until you find that Action. Obviously this would also suggest options like Fire Resistance Potions.
Same could go for quickly equiipping a Gas Mask, Sun Glasses, Ear Muffs or Nightvision Goggles when the need arises, since those are often buried somewhere in your Inventory.
When hungry/thirsty/addicted, it can also suggest consuming the (available/closeby) Items that you would be most in the mood of consuming (depending on taste, smell, nutrition and other factors). With a small Submenu if you want to select a different Consumable. This particular Action may also just point you to where said Consumable is, if you dont have it yet.
It could also suggest doing things that make sense, like lighting a Lantern while you are at a dark place, and extinguishing it when it is bright again.
If someone waves in your field of view, you will for example be given the prompt to wave back! Useful for quick communication! There is also the opportunity to add this sort of thing to Combat Tactics Gestures. Or it just helps you select the correct Dance at a Party.
One of the "benefits" of this very convenient Menu is, that it is often capable of psychologically manipulating other Players, like if something smells delicious, the Instinct Menu will prompt the corresponding Food Item, which the Player then might want to buy from you. Ideal for running a Bakery!
But it can be even worse, if something is "scary", then the Menu will only show options like "cower in fear" or "beg for mercy", which clearly are not always good options.
When you are in Rage, it might also just be filled with various forms of "SMASH!", "MURDER!" or "DESTROY!", often directed at the source of said Rage.
This Menu can also look on your History and might suggest things you have done in the past, and sort the List in favour of the things you do often or did most recently.
It can even result in a sort of Training, where you try to "mentally" prepare for Situations, by doing certain things often enough. Though at that point I would suggest you to just add yourself some proper bindings to said prepared Actions, because that is a LOT easier.
ø Stop | ⋄1 | ↓ Keyboard 1 | ↓ Chat | ↓ Page Up | ↓ Key Down/Held | ↓ Autorepeat | ⋄240 | Ticks | ↓ Scroll Chat | -10 | ↓ Lines | ↓ Smooth | 1000 ms |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
If this Binding prevents lower Priority Keybinds from being executed or if it falls through to Lower Priority Keybinds. |
The Priority of the Binding. |
Input Device, may be very limited in Windows. Dropdown contains a "Press anything to detect Device" Option. |
Context: Chat, Inventory, World etc. You can still map WASD while in Inventory to move around in World, while you manage your Inventory too. (that would also happen to be a default bind) |
Key to be used. Dropdown contains a "Press Key to select" Option at the very top for making it easier than scrolling through the whole thing. |
What is to be done with the Key, in this case it reacts to just the Press not the Unpress while also reacting to the Key being held. |
Autorepeat the Action while Key is held every… |
240 (insert Number) |
Ticks (Inputs are recognized at the max rate of 240 tps) |
The Action to be performed |
negative to scroll up |
Lines, might also be able to work in Pages depending on Screen Size |
Animation Type, in this Example you could select "Instant", "Rough" (moving Linewise) and "Smooth" (moving Pixelwise). |
How many Milliseconds the Animation is supposed to take. |
Device | Context | Key | Input | Action | Other Stuff that might be of note. ;) |
---|---|---|---|---|---|
Any Keyboard |
World & GUI |
W |
Key Pressed |
Start Walking Forward |
Walking has a Stat independent Standard (Maximum) Speed |
Any Keyboard |
World & GUI |
W |
Key Released |
Stop Walking Forward |
|
Any Keyboard |
World & GUI |
W |
Key Doublepressed |
Start Running |
Doublepressed = "Press, Release, Press" |
Any Keyboard |
World & GUI |
W |
Key Released |
Stop Running |
|
Any Keyboard |
World & GUI |
LCtrl + W |
Key Released |
Start Walking Forward |
"Key Released" Applies to the rightmost Key in the chain (W) |
Any Keyboard |
World & GUI |
LCtrl + W |
Key Doublereleased |
Start Running |
Doublereleased = "Release, Press, Release" |
Any Keyboard |
World & GUI |
S |
Key Pressed |
Start Walking Backward |
|
Any Keyboard |
World & GUI |
S |
Key Released |
Stop Walking Backward |
|
Any Keyboard |
World & GUI |
S |
Key Doublepressed |
Toggle Ducking/Sneaking |
This would have a tight timing to not accidentially do it |
Any Keyboard |
World & GUI |
LCtrl + S |
Key Released |
Start Walking Backward |
This would be after the regular Key-Released Action |
Any Keyboard |
World & GUI |
A |
Key Pressed |
Start Strafing Left |
Strafing is just a fancy Word for Walking Sideways |
Any Keyboard |
World & GUI |
A |
Key Released |
Stop Strafing Left |
|
Any Keyboard |
World & GUI |
A |
Key Doublepressed |
Dodge Roll Left |
This would have a tight timing to not accidentially do it |
Any Keyboard |
World & GUI |
LCtrl + A |
Key Released |
Start Strafing Left |
|
Any Keyboard |
World & GUI |
D |
Key Pressed |
Start Strafing Right |
Strafing is just a fancy Word for Walking Sideways |
Any Keyboard |
World & GUI |
D |
Key Released |
Stop Strafing Right |
|
Any Keyboard |
World & GUI |
D |
Key Doublepressed |
Dodge Roll Right |
This would have a tight timing to not accidentially do it |
Any Keyboard |
World & GUI |
LCtrl + D |
Key Released |
Start Strafing Right |
|
Any Keyboard |
World & GUI |
Spacebar |
Key Pressed |
Jump |
By Default you cant hold it to jump perpetually |
Any Keyboard |
World & GUI |
Spacebar |
Key Pressed |
Double Jump |
The Condition Column would contain "While in the Air" |
Any Keyboard |
World & GUI |
Spacebar |
Key Doublepressed |
Toggle Flight |
Double Jump will take priority over this |
Any Keyboard |
World & GUI |
LCtrl + Spacebar |
Key Pressed |
Start Jumping |
But you can do this to jump perpetually |
Any Keyboard |
World |
Y |
Key Pressed |
Put |
Puts held Item carefully on the ground |
Any Keyboard |
GUI |
Y |
Key Pressed |
Put |
Puts Mouse-overed Item carefully on the ground somewhere around you |
Any Keyboard |
World |
Z |
Key Pressed |
Put |
Same as Y due to QWERTZ Keyboards having Z and Y swapped |
Any Keyboard |
GUI |
Z |
Key Pressed |
Put |
There will be default schemes for AZERTY and such too, this is just the typical WASD example. |
Any Keyboard |
World |
Q |
Key Pressed |
Chuck |
Throws/Dispenses out the held Item (like Minecraft) |
Any Keyboard |
GUI |
Q |
Key Pressed |
Chuck |
Throws/Drops out whatever you Mouse-over (like Minecraft) |
Any Keyboard |
World |
E |
Key Pressed |
Swap |
Moves primary Hand content into Inventory, or fills your Hand with primary Belt Slot, or puts back into Belt |
Any Keyboard |
GUI |
E |
Key Pressed |
Swap |
Swaps Mouse-overed Item with whatever is in the primary Belt Slot |
Any Keyboard |
World |
F |
Key Pressed |
Toggle Action Menu (Context) |
Opens/Closes Action Menu for whatever you Crosshair-over |
Any Keyboard |
GUI |
F |
Key Pressed |
Toggle Action Menu (Context) |
Opens/Closes Action Menu for whatever you Mouse-over including In-World Blocks when you’re in a GUI and are outside its Window |
Any Keyboard |
World & GUI |
C |
Key Pressed |
Toggle Action Menu (Primary) |
Opens/Closes Action Menu for whatever you hold in your primary Hand |
Any Keyboard |
World |
X |
Key Pressed |
Toggle Hotbar |
Allows you to quickly access and cycle to things you linked in the Hotbar. |
Any Keyboard |
GUI |
X |
Key Pressed |
Open Hotbar |
Shows Hotbar in whatever GUI you are in. The Hotbar contains Links to Items similar to recent Factorio. |
Any Keyboard |
World |
R |
Key Pressed |
Open Inventory |
There will be something to make sure the Inventory doesn’t instant open as soon as you close a GUI, lol |
Any Keyboard |
GUI |
R |
Key Pressed |
Close GUI (preferring YES if applicable) |
There will be something to make sure the Inventory doesn’t instant close as soon as you open it, lol |
Any Keyboard |
World |
Esc |
Key Pressed |
Open Main Menu & Pause |
The Main Menu will also contain Buttons to open several Stats, Debug and other useful GUIs (including as popped out separate window you can drag to a second Screen or so). This way I don’t need default Keybinds for those. |
Any Keyboard |
GUI |
Esc |
Key Pressed |
Close GUI (preferring NO if applicable) |
|
Any Keyboard |
Chat |
Esc |
Key Pressed |
Close Chat |
|
Any Keyboard |
GUI |
Return |
Key Pressed |
Close a YES/NO GUI (preferring YES) |
With Return I mean the Enter Key that is not on the NUMPAD. |
Any Keyboard |
World & GUI |
Return |
Key Pressed |
Open Chat Overlay |
With Return I mean the Enter Key that is not on the NUMPAD. |
Any Keyboard |
Chat |
Return |
Key Pressed |
Send & Close Chat Overlay |
This applies to the MC alike Ingame Chat Overlay and not the Chat Window. |
Items will have a Multi-Part Description to them, which is split into Categories (where applicable), and will be shown in the following order:
The most generic possible Name for the Item.
Each major Color the Item has. For example a Red Apple would have the Name "Apple" but the Color "Red". Or "Yellow; Blue" for a Gold Ring with a Blue Gem. (I might find a better way to handle Descriptors than a Wall of Text)
A Warning Sign or similar if something is noticeably wrong with the Item. A nice example would be spoiled Milk, you will smell that it is spoiled right away and therefore see a warning for that. Your personal Stats will influence this Danger Sense.
The Label Sign that shows whatever is written on, lets say a Bottle for example. The Label can be written in a different Language and it also does not have to tell you the truth at all. Consumables will use the Label Field to show their supposed Stats.
What you feel the Weight of the Item to be. May be more or less precise depending on skill.
Description showing what you should expect the Item to be used for. It will not show the Stats of said Item in there, so that you can still trick people into consuming Poison for example.
Examples section that shows how you can actually use the Item, if it’s a more complicated Mechanism for example.
A Did you know? Section, where the Mod Devs can insert random trivia Facts. For example: Did you know that Lightning Rods in real Life could only ever produce enough Power per Lightning Strike to power a 100 Watt Lightbulb for about one and a half days? Yes it is that crappy!
Lets say you have a Bottle with a Liquid in it, what do you think can you do with it?
First the most obvious, drink it and you get whatever Effects that Liquid has, Nutrition, Drugs, Potion Effects whatever you drank was. This is typically the use Action.
Now what about throwing the Bottle at someone? Well that would be the chuck Option, and result in something similar to Splash Potions in Minecraft (+ Physical Damage of the Bottle itself hitting), but only if the Liquid actually has a "Splash Compatible Effect". A Bottle of Acid would for example have an obvious one, Booze would drench you in alcohol and make you slightly more flammable, while Water and most Juices etc. could extinguish you, or at the very least make your Clothes dirty, especially dirty when it was a Dye!
But what if you dont just wanna throw a Bottle at someone? What if you just whack it on their Head? Well, the Bottle itself would break, causing the Splash Effect and Physical Damage, but as a Bonus you now have a broken Bottle that can be used as a Melee Weapon.
Both the whack and the chuck option would result in Glass Shards spraying on the floor, which can but usually don’t harm people walking over them.
So what about forcing someone to drink the Bottle? Well that would be part of the action Menu, because it is an unusual use of the Bottle. Same would go for putting Poison from a Bottle into Food, as it’s not a commonly done thing.
And if you want to coat a Surface in a fluid by just dumping the Bottle onto the Floor, a Person or something similar, that is also action Menu. And unlike chuck and whack this will not end up breaking the Bottle. A lot of unusual things will be in this Menu.
When the Bottle happens to be empty, you can just use it on something that can fill it with Liquid, like a River, a Tap or a bleeding Creature. I should mention that some of these Actions will require a few seconds worth of time and can be interrupted by others.
Not to mention Bottles dont have to contain Fluids, they could contain Solids and Dusts too, or small Creatures like Insects and Frogs, or even Gasses, though that last one is usually harder to manage. Letters, Molotows and Miniature Ships are also an Idea!
Filling an Object in your Inventory, for example a Cup, would also be in the action Menu, as it also requires you to select which Cup to use from your Inventory.
Last but not least, ofcourse you can put the Bottle on a Shelf or the Floor or whereever. And then maybe put a Firework Rocket in it and light it!
This is just one Item, yet there is so many possibilities for its usage!
And there will even be some nonesense in the action Menu like "eat the Bottle", though those will be sorted to the bottom of the List (but still above "Misc").
Generally the action Menu is sorted depending on which Actions will make most sense, and you can sort certain Actions by proving you can use them that way. Like a Firework Rocket on a Crossbow, which will be sorted into the "Misc" category at first, until you discover this can be weaponized very well, and they go up into the Ammo Category (which for Crossbows is at the top).
Bottles are fine and well, but what about Tools like a Pickaxe or a Sword? Lets go and explore that!
A Pickaxe is made out of two Parts typically, the Tool Head and the Tool Handle, but a lot of people forget that the Tool Head actually is two Parts, and I am not talking of the Bolt holding together the Handle and the Head.
The Front Pointy End of the Pickaxe Head and the Back Pointy End are two different Tools, even when they both happen to be the same Type.
This means you can just turn your Pickaxe around once one of the Pointy Ends happens to become less pointy due to whacking Blocks with it, this can be done in the action Menu as it is a Mode Switch of some sort, and may also happen automatically if both Pointy Ends are the same Type of Pointy End.
A Side Effect is that there is multiple Types of Durability on a single Tool. Each Toolhead itself can become less sharp/pointy/etc when you work with it, and therefore useless for working.
It either doesn’t lose Matter at all, or only so minimal amounts that you wouldn’t notice, like single specs of Dust that will drop in the World, which are technically "there" but nobody would be able to pick them up without some insanely serious scrubbing.
This first Type of Durability Issue can be fixed by a Grindstone (which will also cause small but significant amounts of Dust) or by Re-Forging/Re-Smelting a Tool. Afterall Tool Creation Recipes aren’t going to be very precise about the Amount of Required Material to make them, so losing some Dust wont need to be replaced when Re-Crafting the Tool.
The Second Type of Durability is also rather obvious, the Tool Handle can break in some way, sure the Tool Head will stay intact, but you cant really use it without replacing the Handle.
Now for the Third Type of Durability that might be less obvious: Corrosion. Some Materials might become Rusty in certain Environments, like Iron in a Moist Area for example. But this takes ages ofcourse. What doesn’t take ages is the Rust that builds up on your Sword if you don’t clean off the Blood from it, or if you slice a particularily corrosive Slime with it.
Corrosion will have the Side Effect of actually changing the Material your Tool is made out of, to be a certain percentage of Rust. How you get rid of said Rust will highly depend on the Material that rusted in the first place, sometimes Re-Smelting is just enough, sometimes you need to actually process the Metal chemically to do so.
The Handle itself can Rust or Rot too, resulting in a 4th Type of Durability. If you want to replace the Handle, just pop the Tool Head off the Handle in the action Menu, and combine it with another Handle. This may require some Tools depending on Handle Material and if the Handle is welded/part to the Head or not.
Certain Tools can also be used for multiple purposes, for example a Pickaxe could open a Crate or Door just like a Crowbar could, since it’s essentially a Lever. Though such options would be in the action Menu for Pickaxes while they would be the primary use of a Crowbar and also faster.
One thing I do not want to do is clutter peoples Inventories with seemingly mandatory Tools that take up Volume and Weight, so a lot of Tools can be "misused" for other purposes, like a Pickaxe or Wrench can totally work as a Hammer even if it’s inefficient and slow.
Another way to reduce Tool overload would be just dropping the Tools you don’t use in World. You can totally just put your Pickaxe on the Floor in the Mines for when you come back, Item Despawn wont be a thing whatsoever. Spontaneously grabbing Tools whenever you need them is going to be easy, and Tools needed for Crafting other things in a Crafting Menu, can just lay around closeby without having to be in your Inventory.
Random Note: Any Tool that involves swinging around, such as a Sword or a Club, can only weight up to half as much as your Body weighs. Note that the total weight does include your Armor and Inventory, so weighted clothes would help keep your balance. The weight of anything held in your Hands (obviously including the Weapon itself) will not count towards the total.
There will be a special Item Inventory, usually with Items you start with or that custom Scenarios can give you, especially Quest Items or a Quest Book Item, which you shouldn’t waste normal Inventory Space for.
When you respawn you will still have said Key Items, and you cannot drop Key Items on the Ground, in the World, nor into Chests.
The only special thing about Key Items is that they are in the Key Item Inventory. Any Item could be placed into said Inventory (using Startup Items, Commands and Cheats).
A typical Startup Item could be a Music Player, which would be the way you enable special background Music ingame (but only for yourself) and have no real effect on anything. (there will be a way to compose Music ingame similar to Noteblocks but better)
Same can go for certain types of decorative Clothes, which some people ofcourse dont want to lose on respawn.
It would for example be possible to have a Spear in the Key Items Inventory, and you could melee attack with it, but you could not throw it at people because Key Item, unless it would be an infinite Spear Item.
The Color of Items will play a rather important Role in Mechaenetia, especially when distiguishing different Items from each other.
It will be possible to paint things in 4096 different named Colors. Some more obscure Names will show "Burgundy (Dark Red)" or "Gray (50%)" just to make sure everything is easily understandable.
There will be a Colorblind option during Character Creation, which will turn Color Desriptors into the 16 different shades of Gray just for you, because your Character cant see Color, not to mention the Game would even render in grayscale in that case.
Said Colorblind Character Option will also encourage making people design their Mods in a way that you can tell things apart in Grayscale Vision, resulting in the overall Game being more compatible with Real Life Colorblind People.
Just a List of Damage Types that need to exist. Definitely not complete yet, and ofcourse with each having Resistances and Immunities for certain People.
Hard Bludgeon Damage (against bones and armor)
Soft Bludgeon Damage (against internal organs, you cant just swing your fist at a Rock Golem for example)
Slice Damage (against flesh)
Pierce Damage (through specific Armor)
Rust Damage
Burn Damage
Frost Damage
Heat Damage
Laser Damage
Plasma Damage
Electric Damage
Radiation Damage
Cancer Damage
Poison Damage
Venom Damage
Acid Damage
Bacteria Damage (as in from sickness)
Virus Damage (as in from sickness)
Organ Damage
Magic Damage
Holy Damage
Unholy Damage
As Stuffs like Poison need to have a bit of Variety, I will give each Type of Poisonous Effect one Letter of the Alphabet (resulting in 26 per Type), so you can only heal the Poison F Effect using something containing Poison-Cure F.
This Concept applies to many things such as: Poisons, Venoms, Toxics, Radiation, Allergies, Addictions, Virusses, Bacteria, Parasites, Fungii, Herbicides, Pesticides, Antibiotics, Cancer, Curses, Magic and more! Ofcourse also with cures for each of them, even if rare, hard, lategame or impossible to obtain.
Usually the different "Poisons" and their Cures are generated randomly, but since I also want a slightly unified experience for people who play with default Flora and Fauna, there will be some default Assignments.
For example both Venom B and Allergy B would be used for, you guessed it, Bees. Other Stuff can still cause it, but Bees would have it for sure.
Radiation A, B, C, M, N, V, W and X would be used for Alpha, Beta, Gamma, Meson, Neutron, Ultraviolet, Microwave and X-Ray Radiation.
The Type of Poison and which Damage it does depends on what inflicts it, the dosage of it, how susceptible you are to it (especially for Allergies) and everything else. You could have a Bee Venom that deals enough damage to instant kill an Elephant, since Type and Effect are independant from each other.
There will be ofcourse ways to add custom Effects too, there wont be a stupid 26 Limit or something, just 26 randomly generated ones with few sensible defaults for people who dont want to let RNGsus into their Lives.
Said Custom Poison Effects can ofcourse have more than one Letter as a Name. ;)
Defense Skill should be split into "Evasion" for dodging, "Shield" for blocking and "Armor" for making sure your Armor is hit instead of your Body (making it also viable to wear less Armor overall).
Melee Combat Skill into "Punching" for your Fists, "Kicking" for your Feet, "Wrestling" for the Grabs and "Slamming" for whole Body attacks and opening Doors by force.
Melee Weapon Skill into "Stabbing" for pierce, "Hacking/Chopping" for angled things like an Axe or Pickaxe, "Slashing" for slicing up Enemies with a Blade and "Swinging" for using blunt Objects.
Ranged Weapon Skill into "Aim" for precision and "Reload" for how fast you reload.
While Weapons are going to be too complex to explain, Armor isn’t. Light Armor gives evasion Bonus at the cost of Armor. Heavy Armor gives Armor Bonus at the cost of evasion. Medium Armor is balanced without Bonuses.
All Melee Skills are for how well you hit (to get through the Defense Skills), not for damage calculation. Damage would be calculated by primary Stats like Strength. I don’t know if I add Crits or not, because they can be annoying as hell.
The UI of Mechaenetia should be easy enough to understand that even People, who dont understand a supported Language (but at least understand the Latin Alphabet + Arabic Numbers), or who barely speak English, are able to play without major Issues.
This means every type of Action and most Descriptors need to have an easily distinguishable Icon, so you can not only see on a quick glance what is what, but also don’t need to read to understand Stuff.
Ofcourse I will add Multi-Language Support in on itself (very likel via getText), but I alone cant translate everything. Only English and German can be made mandatory, simply because I know those two Languages. And I dont want to force Modders to have German Translations, so only English is guaranteed to exist.
A normal Chat Bar/Window will exist. You can switch between an MC alike Bar on the HUD, and an actual Window you can move around, in the Options.
There wont be any allowed way of having the Game itself speak to you in Chat, because I don’t want Debug Messages or Notifications to pop up in regular Chat. And yes, I am aware that I’m doing that shitty thing in GregTech with the Magnifying Glass and similar!
A separate Notification Area will be there where only Notification things show up.
Voice Chat Support ingame is also planned, with quite a few nice extras. The options to have global, team or direct Voice Chat will exist, as well as some other things.
It is possible to make distance based Chat possible, so that people from a distance cant hear what you are saying, unless you use like a Megaphone, a Radio or a Phone of some sort.
Team Chat can also be done this way, by automatically turning whatever other Teams say into Network-Bandwidth-saving Gibberish (Serverside ofcourse).
You can also just turn everyone into Gibberish if you don’t want to hear what they talk about but still want to hear THAT they talk at all. Or if you want to make use of Network Bandwidth saving.
A special limit is also a (by default enabled) option, so that you can only hear the loudest/closest people around, if there is too many people talking at once (everyone else will turn gibberish). So you don’t get too many issues in a crowded place or so.
Not sure if I would add that but a background noise Filter for the Chat itself might be a good Idea, for autodetecting if someone talks without having to hold a Push-To-Talk Key.
It will be natively possible for you to claim Islands or similar specifically marked Areas for yourself (if the Server rules allow).
On said Island you can set a lot of Game Settings to the extend of what the Server allows, such as Survival, Adventure, Creative or Spectator to say in in Minecraft Terms. You claimed the Island, you make the Rules.
There will also be a way to sub-claim Chunks within an Island, if the Rules of the Island allow you to do so (which Islands usually do by default when it’s not allowed to claim the Island entirely).
If the Owner of the Island decides to set the Island to Anarchy, then anyone can sub-claim a certain amount of Chunks just to say "I own this", or for griefing protection, depending on Rules.
Though be warned that setting your Island to Anarchy will not be reversible once someone else lives on it too. You would need a 100% majority vote of all people who sub-claimed the Anarchy Island in order to set it to something else.
Ofcourse other Modes and Rules for Team based Stuff and Admins will exist as well.
You can also set the Island Rules so that no other Player can enter the Island, except using Admin/Moderator Powers. Or you could only allow "Spectator"/"Camera" Characters in, and also set them to invisible if you want to.
A potential prompt before entering a claimed Area that you are not supposed to enter could read "You are not permitted to be present in this Area, would you like to: A: Request to be allowed into the Area. B: Enter using invisible Camera. C: Enter using visible Camera. D: Violate Privacy using Admin Powers."
Those Options ofcourse depend on Settings, for Option A the owner can just disable requests in order to not be spammed in their ingame PO Box (or even Email, should they decide to allow that).
Options B and C are depending on what kind of Cameras are allowed in the Area or if Cameras are even allowed.
And Option D will result in every activity the Moderator does being logged, while they are inside, and very likely also give a Notification to the Owner that a Moderator entered (but not who it was).
Minigames are a thing that people tend to make in some way, but cheating in those is ofcourse a Problem, so there will be a way to have a "remote controlled" Player in such Areas, so not only would that unify the Physical Abilities (to whatever body you give a Player to control), it would also make sure their Inventory is empty, and there is no "doping".
Ofcourse I need some way to Test Stuff for Mechaenetia, so I’m gonna need to host a Test Server for it. I will probably even make it public for everyone.
Since the Test Server will be using the "Islands" World Type, everyone will get a Compass alike Key Item that points towards the closest "non-generated" Island and another Compass for the closest "non-claimed" Island, the latter will glow if you are already on such an Island, but will also point to a different Island.
Because a lot of random people are expected to be on that Server, and lots of Worldgen is gonna happen, there will be some sort of Fast Travel Network from Island to Island.
Anyone will be able to join with multiple Characters per Account on this Server. So you can technically restart the Game without actually restarting the Game, by just joining with a new Character and then Fast Travelling to the furthest away Island.
This also includes use of "Spectator"/"Camera" Characters (there will be a default Camera Shaped Character for that kind of Utility, that can just be spawned in quickly), though the Permissions System would need to allow it on the Island you use it at.
Same goes for "Creative" Islands, and yes I’m gonna make it impossible to carry Items from a cheaty Type to a non-cheaty Type.
I want Mods to be as tiny as Possible, so that Modpacks consist out of a few hundred mini Mods that only add one Item or so.
Larger Mods will just specify all the Mods they depend on and how those dependent Mods interconnect with each other.
Here an example: You have a Mod that adds Paper, something many Mods will obviously need, so what does it actually add?
It will add Sheets of Paper in 4096 different Colors, in all the "DIN A#" Sizes of Paper and in Customizable Sizes too, all in 1 Pixel thickness (1/32nd of a Meter, yes that is 3cm thick if you stack it). That is all you need for the Paper itself.
Ofcourse there is more primitive Types of Paper, added by OTHER Tiny Mods, which can use the base Paper Code and make things like Papyrus (the Paper Type, not the Font nor the Skeleton).
Binders, Folders, Books and similar will compress the Full Pixel Thickness of Paper down to a more manageable Size, which will result in them making more sense to actually be used.
There ofcourse can be Books as a tiny Mod, but said Mod will require writing Utensils to be useful and not "Decoratively Empty", which can yet be another Mod, one for Pencil, one for Ballpoint Pen, and ofcourse one for Feather and Ink Jar. (4096 Colors Support is part of the Base Game and required for pretty much all Mods)
Most people dont want to specify all those tiny Mods themselves, so there will be a general "Office Supplies" Mod, that adds all those tiny Mods together to make one Bigger bundle.
One thing that can be possible is that you have written Paper, but no writing Utensils installed to make them. This can be used for making Scenarios by writing to a Paper, uninstalling your Writing Utensils of choice and then nobody can possibly edit Text in Letters and such.
Another thing would be Letters, sure you can have an Envelope Mod, but no Mail System, nor Stamps, so you still have to manually deliver the Envelope to someone. Envelopes in particular would be available in all the "DIN B#"/"DIN C#"/Custom Sizes too ofcourse.
There is ways to fold Paper to make the Letter itself into an Envelope, which was an old technique to save on Paper. This Method of folding and the corresponding "Written Sheet of Paper folded into Envelope" would be a separate tiny Mod that requires Envelopes and written Sheets of Paper. It would also be dependency/part of the "Office Supplies" Large Mod.
Writing on other Stuff using other ways will also be separate Mods, so Stone Tablets, Signs and such can exist too ofcourse, without having to do Pixel by Pixel editing.
Now the Resources are something I need to think about in more detail later, but I can tell what I got already.
The Display of said Resources will go as follows regarding shortening the Numbers,
because I am absolutely annoyed at Games that do this part so wrong, that I only get 1 Digit worth of Information at times,
so here you go, always between 4 and 7 Digits if available:
1.000 → 1.000
10.000 → 10.000
100.000 → 100.000
1.000.000 → 1.000K
10.000.000 → 10.000K
100.000.000 → 100.000K
1.000.000.000 → 1.000M
10.000.000.000 → 10.000M
100.000.000.000 → 100.000M
1.000.000.000.000 → 1.000G
10.000.000.000.000 → 10.000G
100.000.000.000.000 → 100.000G
1.000.000.000.000.000 → 1.000T
10.000.000.000.000.000 → 10.000T
100.000.000.000.000.000 → 100.000T
1.000.000.000.000.000.000 → 1.000P
Yes some people use dots for the thousand-markers,
and I don’t exactly know if I am gonna use Kilo, Mega, Giga, Tera and Peta or if I’m gonna use other Symbols.
Also this whole thing will be 128bit Integers thanks to Rust.
Food and similar Consumables:
Food is a special Resource and exists in all Modes, Player-Hunger can be turned off if you dont wanna eat food all the time, but Food itself will still exist in case you want its positive Effects.
The NPC System will need Food of some sorts to work (unless you turn that off in the Settings).
There is also gonna be a Nutrition System (separate Setting), so that you need to eat a wider variety of Food.
Money:
Unless you turn off Money as a whole, making Trading much more inconvenient, Money is a special Resource used primarily in Markets and (if enabled) in the NPC System.
There might be a Stock Exchange thing that is gonna be added with Supply and Demand and Stuff, but that is also optional in the Settings.
Decorative Stuff:
There is also Decorative Resources that you can build your Houses with and Stuff. Rock for example can be used to build a Castle.
These Resources exist always and are craftable regardless of Difficulty.
Also in case of Rocks, you cant process them into anything proper really until you reach High Tech.
Early Resources:
Early on there will essentially only be Wood and Stone as actual Resources, and I will try to make as many things as possible craftable using Wood and Stone only, with as few Metals as possible.
This might conflict a bit with the Resource Complexities below just by existing this way, but you can still always just turn Wood and Stone into a very low amount of Basic Resources and from there into whatever you want to Craft.
Very Easy Resource Complexity:
Money, everything when processed will become Money directly, just one Main Resource, and thats Money!
You can make it from anything and into anything! It’s like pure EMC from Equivalent Exchange!
Easy Resource Complexity:
Instead of everything just being Money, the System will split into just 6 Main Resources.
Minerals and Metals (Cyan Ingot Icon)
Radioactive Isotopes (Yellow Radiation Hazard Icon)
Crystals and Gems (Magenta Gemstone Icon)
Chemicals (Blue Fluid in a Flask Icon)
Fuels (Red Fire Icon)
Organics and Carbohydrates (Green Plant Icon)
So if you for example decide to process a Raw Wooden Log in a Sawmill (or with a Tool on your Player), it will turn into a low amount of "Organics" and also "Fuel". A Carpenter would turn it into mostly Decorative Stuff.
Most Ores will just turn into varying amounts of "Metal" when processed in a Foundry, Gold Ore giving you way more "Metal" than Iron Ore, when smelted for example (Gold Ore might even give Money as a byproduct).
This ofcourse leads to a lot of slightly exploitable Mechanics, similar to the Alchemical EMC System of the Exquivalent Exchange Mod for Minecraft, but that is intended, it’s easy Mode afterall.
It is basically as if all Resources automatically get broken down into ratios of their basic Categories.
With this System you could for example go get a ton of Iron Ore, turn it into "Metal" and then craft a decorative Platinum Ingot out of the "Metal". Said Ingot can be turned back into "Metal" too at 1:1 Ratio.
While things exist in a simplified state they will not lose their Data, you still have that Iron Ingot even if it’s displayed and stacked to you as "X Amount of Metal" and useable in all Recipes involving "Metal".
Normal Resource Complexity:
Similar to Easy Complexity, Normal Complexity works the same, but it has 18 Main Resources.
Each of the Easy Resources gets split up in 3 more Resource Categories depending on their rarity.
So Metal will turn into 3 Categories, "Basic Metal", "Advanced Metal" and "Precious Metal"
Same concept goes for the other five Categories.
Hard Resource Complexity:
Here, every Resource is simply what it would be IRL too.
You can’t just turn Iron into Nickel or anything like in previous Difficulties, you have to find the right Ore for the right purpose and process it the right way.
Very Hard Resource Complexity:
This is basically GregTech-6. Not only you have real Resources and their Processing, but you also have to Shape them into Plates, Screws and Stuff before crafting with them.
Ore Processing:
All Resources you can find in the World are the real ones, you see actual Iron Ore even if your Difficulty will only process it into "Metal" or "Money".
So no matter what Difficulty you choose, all Worlds will contain the same Ores and Materials, only your Processing changes.
If you for example wanna process any compatible Ore with Sulfuric Acid, like you would do with the Very Hard Option, but you are actually playing in Easy Difficulty, you can still do the processing to get more out of the Ore, and you only have to use an equivalent amount of "Chemicals" instead of using actual Sulfuric Acid.
Ore Worldgen:
There will be multiple choices for your World in regards of the Set of Ores that do generate there.
Normal, which is Ores like in Real Life.
Balanced, which contains Ores that are purely based on Game Design, Balance and Progression, similar to Angelbobs Mods in Factorio with Bobmonium, Stiratite, Saphirite, Rubyte, Jivolite etc.
Random, where the Game will make up random shit on the fly, give it randomized names made out of random Syllables and you have no Idea what each Ore is, until you experiment with it.
The first two Options are rather simple to explain, IRL Ores are IRL based, Balanced Ores are based on pure Game Design, but Random Ores need a bigger explanation.
So having purely Randomized Ore Types can have several bad balance implications or even gamebreaking implications, and I would not want that to happen.
There will be a Table of Resources that each Ore can contain, things like Iron would be common in the List, while stuff like Uranium would be rare.
This Table will then be used to combine Materials together into Ores and their Byproducts.
As for the Names, it will mostly just dump random Syllables together and end it on -ite or -ium.
Though I will make it so that two of the Ores start with the same Syllable and add similar quirks, that make the Names look similar for certain Ores on a per World basis.
Creating Decorative Things
As you might guess, you will only have a somewhat limited variety of Resources, so how would that translate into making Decorative Blocks.
It will probably go into a Style similar to the Carpenters Blocks Mod or the Storage Drawers Mod for Minecraft.
You will get one Basic Plank, Door, Table, Chair etc. that can be made with just "Organics" (or "Wood", depending on Difficulty).
This Basic Decorative Block has a rather plain Design and can be placed already if you want.
But you can also craft it into a better looking Variant by combining it with the Decorative Wood you can get from a Pine Tree for example to make it into/outof Pine Planks.
How exactly I will do this is not 100% clear to me yet, all I know for sure is that the Basic Variant will be made from "Regular Resources Only" and better Variants can be made from "Decorative Resources" and/or a combination of both.
Material | Melting K | Curie K | Boiling K | Density g/cm³ | Heat Cap J/(mol·K) | Heat Conduct W/(m·K) | Resistance nΩ·m | Magnet Type | Magnetic Susceptibility cm³/mol | Young’s modulus | Shear modulus | Bulk modulus | Poisson ratio | Mohs hardness | Vickers hardness | Brinell hardness |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Copper |
1357.77 |
N/A |
2835 |
8.96 |
24.440 |
401 |
16.78 |
Diamagnetic |
−5.46·10−6 |
110–128 GPa |
48 GPa |
140 GPa |
0.34 |
3.0 |
343–369 MPa |
235–878 MPa |
Tin |
505.08 |
N/A |
2875 |
7.265 |
27.112 |
66.8 |
115 |
Paramagnetic |
+3.1·10−6 |
50 GPa |
18 GPa |
58 GPa |
0.36 |
50-440 MPa |
||
Zinc |
692.68 |
N/A |
1180 |
7.14 |
25.470 |
116 |
59.0 |
Diamagnetic |
−11.4·10−6 |
108 GPa |
43 GPa |
70 GPa |
0.25 |
2.5 |
327–412 MPa |
|
Iron |
1811 |
1043 |
3134 |
7.874 |
25.10 |
80.4 |
96.1 |
Ferromagnetic |
N/A |
211 GPa |
82 GPa |
170 GPa |
0.29 |
4 |
608 MPa |
200–1180 MPa |
Cobalt |
||||||||||||||||
Nickel |
||||||||||||||||
Lead |
||||||||||||||||
Silver |
||||||||||||||||
Gold |
||||||||||||||||
Platinum |
||||||||||||||||
Iridium |
||||||||||||||||
Osmium |
||||||||||||||||
Mercury |
||||||||||||||||
Aluminium |
||||||||||||||||
Titanium |
||||||||||||||||
Tungsten |
Animals are usually random generated in their Features, so you get a kind of new experience with the Fauna of each Island.
There will likely be an option to have IRL-alike Animals and Stuffs, as well as options D&D Themed ones, because those are likely the most common ones to be used.
Animals can be configured to be either without Gender (like in Minecraft) or with a Gender (like with Terrafirmacraft), so people can decide if they want to bother with that.
But back to RNG based ones, there is ofcourse the Issue that people with "Easy" Resource Complexity dont want to manage a ton of different Animals.
As a Solution to that I present you the Egg laying Feather-Tailed Horned Wooly Sabertusk Milk Boar, an Animal that essentially gives you all Resources you can get from Animals.
To the ones who ask me "where is the Leather and the Fur?", I have to say that Sheep Leather is a thing in real life, and that Wool is a type of Fur.
With a Universal Animal like that you cant complain about having to farm too many different Animals. It also makes a good rare Animal considering how useful it can be, and with rare I mean almost un-findable.
Though this Boar will also be big enough to ride on it, making it even a good and fluffy form of transport, while providing you with Eggs on the go! Who wouldn’t want that!
All Animals will be categorized by their Domain and Subclasses, in order to make things more uniform and to be able to compare different Animals better with each other.
Those List of those Subclasses will be listed in the Code for easy access.
Plants and Stuff will have genetics, in fact everything on them will be genetic, their shape, their properties, their color, everything.
And this time the Genetics will actually have Dominant and Recessive Stats (unlike the RNG of GT6 Bumblebees).
Good Plant Stats will more likely to start off Recessive in Nature, while "Bad" Plant Stats tend to be Dominant. With "Bad" meaning "every plant tends to have that and it’s normal, but you usually don’t like it".
Because the looks of the Plants depend mostly on Genetics too, this means there is gonna be a LOT of Stats in each Plant, and most of them will be zero, since not all Plants need all Stats.
This also means exploration can be useful, if you want a Plant with a Bonus in one specific Stat and then breed that Stat up to what you need it to be.
Before I go for Stats, I should mention that there is ofcourse going ot be a Setting that makes everyone have the same unified Stats, just like how all Steves are the same in Minecraft. That Rule can be finetuned too. ;)
That said, I plan on RPG alike Stats being available, the List of which is gonna be in the Table below. The Stats will have 3 Bases, the Physical Base, the Mental Base and the Racial Base.
The Physical Base is how well the Body itself functions. This is typically increased by Training or doing something often enough.
The Mental Base is essentially the things you know and your personal skill. Typically increased by learning about new Stuff.
The Racial Base is essentially all the Stat Boosts that come from being whatever the heck you edited your Body to be. This can pretty much only be increased by Stuff like implants (which technically result in you becoming a different Race).
In the end all 3 Stat Types and the Modifiers to them are calculated together for determining your overall Abilities. They are always freshly calculated and you cant just glitch them out when hitting zero or something.
Stats can be leveled up indefinitely, but the higher your level the lower the increase in actually useful Abilities. You can be Level 135246 but you are at a ~99.9315% "Success Rate" when doing Stuff.
For some things the absolute Level Matters (such as Strength for Carrying Capacity), for other things the Success Rate Matters (for most PvP Stats for example, since otherwise you can just level up your Attack Stats to murder everyone).
There will ofcourse also be Sub-Stats that are based on the Main Stats, such as how well you can wield a certain Type of Sword, though more on that later.
Stat | Physical | Mental | Racial |
---|---|---|---|
Health |
This is how healthy your Body is, and also how well it can handle things like Poison and Illness. Its absolute Level also determines Max Health. |
Mental Health is not about how Crazy someone is, it is more of a Willpower Stat of having your Body under Control. |
Racial Bonusses are typically a percentual Bonus to Max Health. |
Endurance |
This is how much Energy your Body has to work with. Its absolute Value would determine Endurance. |
Your Motivation to go on and continue doing Stuff! |
Some people can go on for longer than others. |
Strength |
Essentially how much you can Lift or how strong you can Strike. |
You know how to Lift shit without breaking your back. |
How Big/Tall you are and how Strong People of your Race are can give you a Bonus or a Reduction in this Stat. |
Agility/Dexterity |
You have precise control over your Body. |
You know the techniques for how to do Stuff precisely. |
Well, some Bodies are easier to control than others. |
Intelligence |
This is how well the Hardware of your Brain works and can be influenced by several Illnesses. |
Well, here is how smart you are, or how good you are at learning Stuff. |
Some Races have bigger Brains than others, need I say more? Also quick reminder there is not just Humans! |
Charisma |
How good you are looking. |
Your way of communicating effectively. |
While this can ofcourse be because your Race looks bad, NPCs can also be racist fucks. |
Perception (This might not become a normal Stat) |
This one has multiple important and complicated Sub-Stats regarding if it’s Seeing (close, far, bright, dark, IR, UV), Hearing, Smelling, Touching or Tasting. |
How well your Brain can process each of these Sub-Stats. You can have shit hearing, but be used to it enough to reduce the Effect. |
If you have something like Fox Ears for example, you can hear better than most others by default. Where your Eyes are and how they work also determines your FOV. |
Stealth (Also a more complicated Stat) |
The Physical one is just how "visible" your Body is. |
Knowing ways to hide your movement from others is generally beneficial, this also includes your hand movements for example. ;) |
Tiny people typically are less visible than Giants. |
Obviously being AFK can have quite a few ways to Auto-Farm Stuff, people will always AFK Farm if they can AFK Farm, so the best way to prevent that for Server Owners is just enabling certain AFK Activities.
These Activities will be performed while you are logged out, essentially making your Player Character into a working NPC. They range from grinding Levels to crafting Stuff, farming Crops/Animals or Mining.
During AFK Mode eating and sleeping regularily is mandatory for your Character (while you are logged out), but once that has been done, your NPC self is gonna be doing the other Stuff during your downtime.
You will be able to set percentages of Downtime Activities very precisely, it wont just be "One time and then you have to log in to switch Activity", like when you AFK in MC.
This whole thing should also work in Singleplayer in some sense, that is if the Player decides to allow use of it. This would be pretty much like hitting F12 for skipping Minutes in Settlers.
I might limit this ability to 24 or 48 Hours, or just let the Server Admin configure a certain amount of Time which still will default to, lets say, 48 hours or so. Half that time is wasted on sleeping and eating anyways.
Technology is split in several "Ages", which are going from "Stone Age" up to "Intergalactic Age" with steps inbetween.
Ofcourse you can select at the start of a Game/Server what Age you are going to start in.
The Player can’t remember all the things, so Knowledge has to be stored somewhere, either in form of Scrolls and Books earlygame, or with a Laptop/Phone latergame.
If you don’t wanna carry a ton of paperwork with you, a Library closeby or a Bookshelf next to your Crafting Station is needed in order to use Recipes. (Bookshelves will have some sort of Area of Effect, Libraries will cover the entire Settlement)
Sharing (both directly and Team Based) and also Stealing Tech Levels will be a Game Mechanic too for sure.
Having a Bookshelf with the corresponding Information close to your Crafting Station will have the benefit of being able to find the Recipes much faster, as it will display those Recipes up top.
NPCs will pretend to make use of that too, by having all the previously used but non-outdated Recipes in a closeby Shelf. This makes stealing certain Tech, or simply Cooking Recipes, a little bit easier.
Stone Age:
The earliest possible Age. You are basically a Cave-Person in this scenario.
Basic Tools made of Flint (Minerals), Fishing Poles, Fire Places, Fur Clothing, Clay Huts and Igloos are the best you can do.
NPCs in this Age are just Hunters and Gatherers, teaming up with them might bring them in good terms with you when advancing to the next Age, but they are ultimately useless until then.
You can remember all the Stone Age Technology without writing down Stuff.
Copper Age:
Getting Copper and other low grade Metals is possible now, but alloying them is not.
This is when you can actually build a real place to live.
Farming Crops and Animals is doable now too.
Clay Pots and similar are available.
The best Tech you can do here are Animal driven Plows and an Animal/People driven Millstone for Grains.
So far you can still remember all the Technology without writing down Stuff.
Bronze Age
You can finally alloy Copper with Tin to make Bronze, or in easier Difficulties just use "Metal" instead of Bronze in Recipes.
Carpentry becomes more and more important as Furniture, Carts and better Buildings are being used more often.
Making Paper or Papyrus Scrolls is important to write most things down now, since there is plenty of Tech in this Age.
Iron Age
Iron and Steel can now be produced in slightly larger Quantities and replace Bronze in a lot of Tools due to being lighter.
A lot of Roman Technology will be added in this Age.
Medieval Age
A lot of more Military Tech gets developed.
The manual binding of Books starts to become a thing, as Books consume less Space than Scrolls.
There is not much Tech to be added for the Medieval Age, simply because that’s the time where actually a lot of Tech got lost IRL.
Renaissance
Many more or less useful contraptions get invented.
Imperial Age
I need to look up things that were invented while Napoleon was ruling France and stuff.
Coal Powered Machines and better Smelteries will become available.
Early Industrial Age
Time based I would say this is Pre-World-War-1.
You can finally automate a lot of Processes instead of having NPC to do those Jobs.
Steam Powered Machines will become available.
Late Industrial Age
Time based I would say this during World-War-2 and a bit afterwards.
A lot of improvements in regards of Machines, Cars are being used much more commonly.
Nuclear Age
Time based I would say this during the Cold War.
Nuclear Power Plants and Weaponry are available now.
Early Information Age
Computers and Information Processing are available now.
Late Information Age
The whole Internet thing, you know.
And a lot of later Ages
I am not decided yet on how to name or balance any of the Future Ages yet, so yeah there is ofcourse gonna be Ages for that. ;)
NPCs are useful as they can work for you, especially repetitive Tasks are a good Job for NPCs.
NPC Government:
The way NPCs are "governed" depends highly on their Culture, sometimes they use Money, sometimes they just use Food, sometimes they are flat out Slaves, sometimes you are their King, sometimes you are a regular Peasant to them, it all depends.
Most NPC settlements will have a "Town Hall", "Castle" or "Command Center" of some sort, simply a Main Building or Hub.
Inside that Building are several things that are very useful for controlling or managing the local NPCs (if you are in charge of them), or simply for Diplomacy Stuff.
The NPCs will have a Map of everything that is within the Settlements Borders, using that Map you will be able to "edit" that Area freely in a blueprint fashion, and the NPCs will then go and try to Build what you mapped out for them (that is if you’re the one in charge of them).
A Library will contain Information on how far the NPCs are in their Technology, and what the Statistics of the Village have been in the past. This can also be used to gain Information quickly, if you are allowed to even access the Library.
Important Buildings such as the Main Building and the Library will be Guarded by NPCs, making it hard to just break into them. Some Players might intentionally leave their Library unguarded, so everyone can access them, or to save on Personell.
Even if you don’t own an NPC Settlement, some (more or less unemployed) NPCs in it might end up helping you out in exchange for Food and/or Money.
Own NPCs:
I will probably make it possible to have "your own Family of NPCs".
Said Family would be responsible for things like "providing Bodies you can respawn in" (if enabled in Settings), or function as your personal NPC Settlement.
Things NPCs should be able to do:
Here is a List of Tasks NPCs might end up doing for you
Governing their own Area while you are away
Farming and regular Food Production
Guarding, Attacking and general Military things
Harvesting and Refining any kind of Resources
Manufacturing generally everything that is needed on demand
Building and Upgrading Houses
Doing Research to unlock Recipes
Trading with other NPC Settlements and Travelling NPC Merchants
NPC Religion System
Because NPCs are not really the brightest people, they need some form of Religions to "guide their lives".
This also gives a good cover-up for various Game Mechanics, like Respawning of Players after death, some head priests "breaking the 4th wall" towards the Players they talk to, or certain Types of Magic (if enabled).
But having just one monotheistic Religion for everything is dull and boring, we need a whole Pantheon of Gods and Subgods, so every NPC gets something close to the God they want, if they aren’t Atheist ofcourse.
So what if we procedurally generated Gods and mix-and-match certain moral core principles with "elements" of nature, and then just give those Gods lots of "relationships", like in the Greek Pantheon, to create more interesting Subgods from it.
Now we just need some Core principles or concepts, and lets Color Code them too so their Colors are the same in every World:
Justice (Red), includes Revenge and suprisingly also Trade.
Resource (Green), includes all types of acquiring Resources, like Mining and Farming. Combine it with Justice and you end up with "Credit" or "Money".
Freedom (Blue), includes Independence and Travel.
Truth (Cyan), includes Knowledge and Information.
Restoration (Magenta), includes Healing and Repairs as well as Maintenance.
Protection (Yellow), about preventing damage from happening. Not to be confused with Justice!
Connection (Pink), includes Communication but also Love.
Creation (Purple), about Art and Manufacturing things.
Control (Orange), the defining Trait of any kind of Government or Leader.
Submission (Brown), often the counterpart to Control, basically Slavery or mindless following. Often used for the concept of Religion itself too.
Perfection (White), applicable to pretty much everything, this will very likely result in lots of Zealots, due to trying to get rid of imperfect things.
Secrecy (Black), includes Intelligence but often also crimes like Thievery.
Neutral (Gray), very undefined by nature, only rarely applying to anything. Typically used for the Unknown.
There needs to be Commands for Servers, Cheating and such ofcourse. So I am gonna document the ones that came to mind.
(@) means that you can select things like "@(closest player to X Y Z of F)", "@+" (for Crosshair) or just list multiple Entities to use. It will also take regular Player or Team Names directly if you dont put an @. There will be Selectors for Subcategories too, like @TeamName@RankName for a specific Rank of a Team
Player and Team Names cannot contain actual Spaces when used in commands and will autocomplete to an underscored Version. Teams cannot share the same Name as an existing Player and vice versa.
Names are not allowed to be purely consistent of Numbers and Punctuation, cannot officially contain Spaces (but can display with Spaces ingame), and cannot contain "@" at all, as well as not start with a dash/minus "-".
Names cannot be any of the following case unsensitive Words: "all", "any", "for", "from", "and", "with", "add", "set", "array", "list", "rem", "remove", "sel", "select", "admin", "operator", "moderator"
Coordinates can be passed in in a multitude of ways, you can seperate them with Spaces, Commas, Semicolons and similar if needed.
Certain Commands, especially the ones without Parameters can be used in Keybinds too, so you could set your Game Mode with just a Keypress. (You can also make a Cycle Key for multiple Modes back and forth)
There will be ways to give Teams or Ranks/Ranknumbers in Teams access to specific Commands, and since you can be in multiple Teams, those can be used as custom Roles for Servers if needed.
A dedicated Console will also exist, so you are not forced to type it into actual Chat, but you still CAN type it in Chat if you want to, because that is often faster and easier to do.
/help Lists all Commands you have access to. Potential alias for this Command is /?
/help (command) Explains the Command passed to it.
/m (@) (…) Sends a direct Message just to the specified Player or to Members of the specified Team, it will quick autofill the target Name with Tab if you used this command before. Potential aliases for this Command are /msg /tell
/me (…) Sends a Message in 3rd person Style.
/yell (…) Yells a Message. How the Server reacts to this Command depends. It can make a Message bypass "Local Chat Range" if that is a thing that is configured to exist, it can also just make your Text be in a Bold Font, or just double/triple/whatever your "Local Chat Range".
/whisper (…) Whispers a Message. It will make a Message use a short "Local Chat Range" no matter what, biased towards the direction you are looking at, and also display it in a Thin Font.
/announce (…) Will send the Message to everyone, no matter the "Local Chat Range". Usually only accessible by Admins, Operators and Moderators.
/rules Lists all Rules on the Server. Typically triggered when you Login with less than 1 Hour of Total Playtime (for cases when you login and get connection errors). Please be aware that there will be a GUI Window for showing the Rules too.
/rules (set) (i) (…) Sets Rule Number (i) on the Server.
/rules (add) (i) (…) Adds a Rule on the Server and puts it at (i), moving all other Rules one down.
/rules (rem) (i) Removes Rule (i) on the Server.
/ban Puts the Player your Crosshair points at on the Ban List, but doesn’t kick them.
/ban (@) Puts a Player or Team on the Ban List, but doesn’t kick them.
/ban (@) (Time) Puts a Player or Team on the Ban List for the specified amount of Time but doesn’t kick them.
/unban Removes the Player your Crosshair points at from the Ban List.
/unban (@) Removes a Player or Team from the Ban List.
/kick Kicks the Player your Crosshair points at from the Server.
/kick (@) Kicks the specified Player or Team from the Server.
/kickban Bans and Kicks the Player your Crosshair points at from the Server. Potential aliases for this Command are /bankick /kban /bkick
/kickban (@) Bans and Kicks the specified Player or Team from the Server.
/kickban (@) (Time) Kicks the specified Player or Team from the Server and bans them for the specified amount of Time.
/admin (@) Marks the specified Player or Team as Admins of the Server. Typically only executable from the Servers Command Line or Config File if there isn’t any Admins yet,
/unadmin (@) Removes Admin Rights from the specified Player or Team.
/operator (@) Marks the specified Player or Team as Operators of the Server. Mostly same rights as Admins, except that they cant appoint new Operators or Admins, nor permanently shut down the Server.
/unoperator (@) Removes Operator Rights from the specified Player or Team.
/moderator (@) Marks the specified Player or Team as Moderators of the Server. They only got access to the kick and (un-)ban related commands, as well as the jail and pardon command, but not the makejail command.
/unmoderator (@) Removes Moderator Rights from the specified Player or Team.
/firestaff (@) Removes all Admin/Operator/Moderator rights from the specified Player or Team. Good in case they have multiple of such Roles, you dont know the exact Role, or they got inherent Roles through Team Membership that need to be removed.
/shutdown Shuts down the Server in 30 seconds. Usually Admin Only. (yes by default Operators can reboot a Server but they cannot shut it down)
/shutdown (Time) Shuts down the Server after a specified amount of Time (Zero for instant). Usually Admin Only.
/reboot Reboots the Server in 30 seconds. Usually Admin/Operator Only.
/reboot (Time) Reboots the Server after a specified amount of Time (Zero for instant). Usually Admin/Operator Only.
/stop Freezes time on the Server (In case an Invasion or Nuke is about to go off or whatever, Players will not be kicked by this and they can still join/leave too). Usually Admin/Operator Only.
/stop (Time) Freezes time on the Server after a specified amount of Time. Usually Admin/Operator Only.
/unstop Unfreezes time on the Server. Usually Admin/Operator Only.
/unstop (Time) Unfreezes time on the Server after a specified amount of Time. Usually Admin/Operator Only.
/kill Kills whatever Entity your Crosshair Points at.
/kill (@) Kills the specified Entities.
/remove Removes whatever Entity your Crosshair Points at.
/remove (@) Removes the specified Entities.
/rename (@) (…) Renames whatever you selected according to the … Parameter. Names, Teams, Ranks, Regions, Planets, Dimensions, Entities, pretty much anything should work with this.
/makespawn (…) Designates your current location as a World Respawn Point and names it according to the … parameter if given.
/makespawn (x;y;z) (…) Designates the specified location of your current major Frame of Reference as a World Respawn Point and names it according to the … parameter if given.
/makespawn (frame of reference) (x;y;z) (…) Designates the specified location of the specified Frame of Reference as a World Respawn Point and names it according to the … parameter if given.
/setspawn (…) Designates your current location as the first World Spawn Point for new Players and names it according to the … parameter if given.
/setspawn (x;y;z) (…) Designates the specified location of your current major Frame of Reference as the first World Respawn Point for new Players and names it according to the … parameter if given.
/setspawn (frame of reference) (x;y;z) (…) Designates the specified location of the specified Frame of Reference as the first World Respawn Point for new Players and names it according to the … parameter if given.
/tp (x;y) Teleports yourself to the top Surface of the specified X Y Coordinates of your current major Frame of Reference. Potential alias for this Command is /teleport
/tp (x;y;z) Teleports yourself to the specified X Y Z Coordinates of your current major Frame of Reference.
/tp (@) (x;y) Teleports anything that is part of the Selector to the top Surface of the specified X Y Coordinates of your current major Frame of Reference.
/tp (@) (x;y;z) Teleports anything that is part of the Selector to the specified X Y Z Coordinates of your current major Frame of Reference.
/tp (frame of reference) (x;y) Teleports yourself to the top Surface of the specified X Y Coordinates of the specified Frame of Reference.
/tp (frame of reference) (x;y;z) Teleports yourself to the specified X Y Z Coordinates of the specified Frame of Reference.
/tp (@) (frame of reference) (x;y) Teleports anything that is part of the Selector to the top Surface of the specified X Y Coordinates of the specified Frame of Reference.
/tp (@) (frame of reference) (x;y;z) Teleports anything that is part of the Selector to the specified X Y Z Coordinates of the specified Frame of Reference.
/tp (@) (@) Teleports anything that is part of the Selector to the specified target Entity or in a sensible spot right next to it (to avoid collisions).
/mode (camera|design|limited|jail|hardcore|adventure|survival|jail|reset|c|d|l|j|h|a|s|r) Does the same that the following Mode Commands do to yourself, but in parameterized form.
/mode (camera|design|limited|jail|hardcore|adventure|survival|jail|reset|c|d|l|j|h|a|s|r) (@) Does the same that the following Mode Commands do, but in parameterized form.
/c Sets yourself to Camera Mode. (Basically my Version of Minecrafts Spectator Mode)
/c (@…) Sets the selected Players to Camera Mode. Potential alias for this Command is /cameramode
/d Sets yourself to Design Mode. (Basically my Version of Minecrafts Creative Mode)
/d (@…) Sets the selected Players to Design Mode. Potential alias for this Command is /designmode
/l Sets yourself to Limited Mode. (Basically my Version of Minecrafts Adventure Mode)
/l (@…) Sets the selected Players to Limited Mode. Potential alias for this Command is /limitedmode
/j Sets yourself to Jail Mode. (Like Limited Mode, but dedicated to making sure the Players in question are marked as criminals, making their deaths permanent, and their Inventories easily accessible by others)
/j (@…) Sets the selected Players to Jail Mode. Potential alias for this Command is /jailmode
/h Sets yourself to Hardcore Mode. (Survival but only one Life, this doesn’t actually affect difficulty)
/h (@…) Sets the selected Players to Hardcore Mode. Potential alias for this Command is /hardcoremode
/a Sets yourself to Adventure Mode. (A combination of Limited Mode and Hardcore Mode)
/a (@…) Sets the selected Players to Adventure Mode. Potential alias for this Command is /adventuremode
/s Sets yourself to Survival Mode.
/s (@…) Sets the selected Players to Survival Mode. Potential alias for this Command is /survivalmode
/r Sets yourself to whichever Mode you had before if you are allowed to.
/r (@…) Resets the selected Players to whichever Mode they had before if you are allowed to set it for them. Potential alias for this Command is /resetmode
/maketeam (…) Creates a Team and names it according to the … parameter.
/join (@) Requests for yourself to join the specified Team (or instantly joins it if allowed, but at the lowest rank).
/join (@) (@…) The second Parameter will join the Team specified in the first Parameter. Will also accept a Space seperated List of Players.
/color (0xFFFFFF) Sets your Name Color. This will however NOT influence the Color of the Text you write like the stupid unreadable way Factorio does it.
/color (0xFFFFFF) (@) Sets the Name Color of the specified Targets or Team. A Players own choice overrides Team Color, but there will be Team Colored Indicators to the sides of their Name (or even multiple if they are part of more than one Team).
/uncolor Resets your Name Color, so that Default or Team Colors apply.
/uncolor (@) Resets the Name Color of the specified Targets or Team, so that Default or Team Colors apply. If a Team is specified it will remove the Teams Color itself.
/hide Hides your alignment to any Teams from others.
/hide (@…) Hides your alignment to the specified Teams from others.
/unhide Shows your alignment to all Teams again.
/unhide (@…) Shows your alignment to the specified Teams again.
/teamrules Lists all Rules of the Teams you are in. Please be aware that there will be a GUI Window for showing the Rules too.
/teamrules (@) Lists all Rules of the Team.
/teamrules (@) (set) (i) (…) Sets Rule Number (i) of the Team. Can only be set by Members with Rank 0.
/teamrules (@) (add) (i) (…) Adds a Rule of the Team and puts it at (i), moving all other Rules one down. Can only be set by Members with Rank 0.
/teamrules (@) (rem) (i) Removes Rule (i) of the Team. Can only be set by Members with Rank 0.
/makerank (@) (Number) (Unicode Char used as Icon) (…) Creates a Rank for the passed Team, gives it a Number (0 = Leader, Floating Point Numbers allowed for inbetweens, Higher Number = Lower Rank) and the Unicode Character used for its Icon, and names it according to the … parameter.
/rank (@) (rank) (@…) Sets the Rank in the passed Team to the specified Value for the selected Players. You can only set other Members from/to Ranks lower than your own, unless you are the Team Leader, Server Admin or Operator. This may also make the passed Players automatically join the Team if they were not in it before.
/promote (@) Gives the Player on your Crosshair a Rank that is one better than their previous Rank, as long as you are permitted by the /rank Command to do so for the passed Team. You cannot use this to accidentially make someone Team Leader if you happen to be Team Leader.
/promote (@) (@…) Gives the passed Players a Rank that is one better than their previous Rank, as long as you are permitted by the /rank Command to do so for the passed Team. You cannot use this to accidentially make someone Team Leader if you happen to be Team Leader.
/demote (@) Gives the Player on your Crosshair a Rank that is one worse than their previous Rank, as long as you are permitted by the /rank Command to do so for the passed Team.
/demote (@) (@…) Gives the passed Players a Rank that is one worse than their previous Rank, as long as you are permitted by the /rank Command to do so for the passed Team.
/rankrules Lists all Rules specific to your own Rank in all Teams you are in. Please be aware that there will be a GUI Window for showing the Rules too.
/rankrules (@) Lists all Rules specific to your own Rank.
/rankrules (@) (rank) Lists all Rules specific to that Rank.
/rankrules (@) (rank) (set) (i) (…) Sets Rule Number (i) of the Rank. Can only be set by Members with higher Ranks.
/rankrules (@) (rank) (add) (i) (…) Adds a Rule of the Rank and puts it at (i), moving all other Rules one down. Can only be set by Members with higher Ranks.
/rankrules (@) (rank) (rem) (i) Removes Rule (i) of the Rank. Can only be set by Members with higher Ranks.
/makejail (…) Designates your current location as a Jail and names it according to the … parameter.
/makejail (x;y;z) (…) Designates the specified location of your current major Frame of Reference as a Jail and names it according to the … parameter.
/makejail (frame of reference) (x;y;z) (…) Designates the specified location of the specified Frame of Reference as a Jail and names it according to the … parameter.
/jail Sends whatever Entity your Crosshair Points at to the closest empty Jail Cell and for Players sets their Game Mode to Jail Mode.
/jail (@) Sends the selected Entities to the closest empty Jail Cell and for Players sets their Game Mode to Jail Mode.
/jail (@) (jailname) Sends the selected Entities to the specified Jail and for Players sets their Game Mode to Jail Mode.
/pardon Releases whatever Entity your Crosshair Points at from Jail Mode. You might still need to open the Jail Door itself manually to let them out though. Unless I add a dedicated Jail Door that is smart with that.
/pardon (@) Releases the selected Entities from Jail Mode. You might still need to open the Jail Door itself manually to let them out though. Unless I add a dedicated Jail Door that is smart with that.
Players need to have Goals when playing, otherwise most of them will get bored by the Sandbox Style.
So we are gonna need some Stuff that people can actually do even in Singleplayer.
Creatively build Stuff that looks good and share it with others. Not really much to explain apart fro mthe Building Blocks you can use, but those are mentioned already.
With the Random Procedural Nature of the World and its Blocks, Plants, Ambient Music (that one would likely not be procedural), Mobs, NPCs and Items, you will rarely ever run out of brand new things to find.
In the first World Type I want to add, there will be countless Island Regions, each with its own set of random things to find out about. Kindof comparable to the Grand Line in One Piece.
Maybe you dont want to leave your Region, or you want to turn this whole thing into a spiffy Tycoon Game, so how would you get all the nice things that Explorers typically get?
Simple, just have NPCs from other Regions visit your Town and sell you the things unique to their places.
The larger and more known your Town gets, the further the NPCs will travel to get to it and sell Stuff.
This will be mostly defined by how much Resources you export to other places.
So you can still have a big and potentially secret City, but next to no trade going on since nobody knows what you could provide to them.
All Towns in the World will start off as non-trading Towns, but Towns in unvisited Areas will increase their Trading Capacity if you export to them.
Do note that certain Towns are so hard to visit that you wont be able to trade with them unless you actually explore yourself find them.
You want to advance in Tech to become the very best? No Problem!
Not only can you achieve all the essentials within a single Region, since all Resources exist everywhere in some way shape or form.
But you can always explore or trade for better Resources, specialized for optimizing your Technology even more! Imagine all the Combinations of things you could pull off!
Mixing and matching Alloys made of Metals from different Regions at different Ratios, until you find one of which you think it is good, and then coating or galvanizing that alloy to prevent Rust, or kill Werewolves or something.
Combining Ingredients from all over the World for making Food, Medicine or Potions of high Quality.
You just want to live in a Town and be a normal Citizen? No Problem, you can do many things here too.
Working, Guarding, Managing, Ruling, Farming, Trading, Delivering, Performing (in some Music-ish way), Researching, Stealing, Murdering, Assassinating, Criminal Activities and more will be doable, just like in a real City.
Ofcourse just like the Trade Route, the Town will grow into a City, so that more things are done by NPCs and the Place prospers.
While it might be hard to implement Armies in a Minecraft alike Game, it is definitely doable for someone to become Strong enough to just take over a Town using their own Wits and Power.
Once you achieved ownership of a Town, you can tell people what to do, and later on might be possible to make yourself an Army and attack another Town to take it over too.
And like with trading, you can just have the Resources from Places you took over, since you own them.
I am not sure if you are going to have to generate/visit the Towns yourself to start an actual Invasion. I do not want some janky Auto Resolver Bullshit, that is either never accurate or way too predictable.
Strategy is a very important thing for this, you could sneak into the enemy Town and just take it over from the inside if they dont notice you first. (digging into Town will very likely be noticed by the Townsfolk!)
There will be a way to add your own Custom Goals too, like for example "Acquire one Diamond" or "Don’t get in contact with Iron" would make good sense in Minecraft.
Said Custom Goal will also have a Timer on it, so you could use this Mechanic to set the Rules for a Speedrun, while using a very accurate Ingame Timer.
Ofcourse there needs to be Rules for modding my Game, since everything is supposed to be nice and open for everyone, and artistic freedom of expression should definitely be protected. I don’t want the same shit happening that Minecraft Modding had happen, so here is a rough overview of what you would have to agree to when modding my Game.
Hosting the Mod:
You will not be forced to host your Mods on my Site or something like that, but it is highly recommended to do so for exposure reasons.
Making a Post about your Mod on my Website automatically means you are agreeing to the Terms (and that you are also someone with the permission to agree to said Terms, so the Author of the Mod or a Team Member), otherwise it will be removed or flagged.
Advertising a Mod that is not on the Site, might lead to removal of the post mentioning that Mod. I wont do that for normal conversations, but if someone starts a Thread about a Mod that isn’t agreeing to the Terms, it will be removed.
Copyright and Money related Stuff
I don’t want Copyright or Money related Drama happen, and if it does happen I want it to be easily resolveable, so here are the reasons, why I need to make the Terms in the first place.
If you post a Mod on my Site and you abandon it for whatever reason, you kinda still own that Copyright, and people wouldn’t be allowed to port your Mod to newer Versions. And I cannot have that happen.
Same goes for if you make a Mod, but do such a bad Job, that someone in the Community makes a fixed Version of the Mod (if you dont allow the corresponding pull requests or implement them yourself). You should not be allowed to prevent said Community Member from making their own Version of your Mod.
I will make sure that absolute copypaste ripoffs won’t happen, but if someone makes a Port of your Mod that is different enough, then they can do it on my Site (but not outside of the Site!).
Also don’t include content that will be flagged by things like Youtubes Content-ID in your Mod. Namely Music and such. Mods that allow people to upload Custom Music are fine though.
Outside of the Website of my Game, regular Copyright Law and Licenses still apply like usual, but on the Website the following applies:
The Community can use your Code and Assets however they want, except for the Mods Main Logo, that they would have to slightly adjust to make it distinguishable from the Original.
Because the Community is allowed to use your Assets and Code, both need to be freely available for them. The Website will have Git Repositories for that. This also means that you aren’t allowed to obfuscate your Code either. People need to be able to at least roughly read your Code.
Making Money from Mods on my Website is limited to Donation based Systems such as Patreon or a Paypal Donation Button. No Ads allowed on my Site!
Hosting Multiplayer Servers and selling Accounts to said Servers is a thing you are allowed to do to make Money, and Mods on my Site must freely permit such usage.
If you own the full Copyright on your Mod, then you can also make Money off of it outside my Site, but I would recommend you being nice about the ways you choose, because the Community can always just make their own Version of your Mod anytime they want.