Comments on Game Plans

Comments on Game Plans

Foreword: this post is based on my opinions on the current state of the Game Plans page. By no means do I intend to have any jurisdiction over Greg’s game, I just want to share my thoughts and provide constructive criticism.
Also, sorry for the wall of text.

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.

Tickrate should be unified, as it is an implementation detail. There should be a difference as to when things tick and when they trigger. Consider ExtraUtils pipes¹ as an example: by default, they tick each MC tick (50ms) but trigger (search locations) once per second.
In code, this is represented by a variable incremented each tick and reset each trigger, only triggering when the variable reaches a threshold.

Local Multiplayer is also possible thanks to the way I’m going to implement Controls, so that multiple Mice and Keyboards could be detected.

Will setting up a dedicated server be needed to play multiplayer on multiple computers in the same LAN network?

While I will try to avoid adding GUIs in general, I know for sure it is not 100% possible to do that.

I suggest using radial menus. They are more inmersion-friendly without being too hard to comprehend. Iirc there was a MC mod that added that to conflicting keybinds.


Just two small suggestions:
Make sure keys are detected in a physical way (i.e. the key 1 is registered as 1 even if a modifier like Shift is pressed). I use a custom layout with switched number row and I would not like to have to change game controls each time I reinstall the game. This would also help German players with Y/Z key issues.
Also make sure the <> key (between z and left shift) on Spanish keyboards is usable. It is a minor thing but it is often overlooked.

Default for the primary Hand are: Leftclick = whack , Rightclick = use , Left Ctrl or Right Ctrl = 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

Some minor changes:
rotate should use Shift+MWheel, leaving ´MWheel´ to change items (like in standard MC), unless changing items uses a menu.
As for the second hand, I suggest defaulting non-bound, non-confilcting keybinds to Alt+<Primary Hand keybind>, example Alt+Left Click is whack with secondary hand.
For consistency with MC, swap should use F instead of E.

Items will have a Multi-Part Description to them, which is split into Categories
[…] (I might find a better way to handle Descriptors than a Wall of Text)

Instead of showing all descriptions at once add options to filter which ones to show or limit them to one at a time with controls to change between categories.

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.

If the thousand marker is going to be a problem I suggest using SI guidelienes (whitespace for thousands, dot for decimal numbers).
In some cases it may be useful to have big numbers in exponential form (6.022 × 10^24) but using kilo, mega, etc for slightly smaller ones is preferable. Also a keybind to switch between the two of them would be useful, such as holding Shift would turn 2.2M into 2 200 215¹ or 15G into 1.5 × 10^10

¹ Rounding is acceptable, as otherwise using suffixes would not make sense.

Research and Technology System

A bit off-topic but I would like to have some kind of Thaumcraft-like magic in the game. Aspect-based crafting resulting in some helpful items, such as portable hole staves, or even weapons and damaging magic, enchanments and Skyrim-like spells like Spark or Frostbolt. Maybe even late-game alchemy allowing material transmuation to some extent.
This is in-between “normal” and “difficult” resource complexities but in a more abstract, concept-based sense: both iron and gold could have “metal” aspect but only the latter has “greed” in it; players could have different aspects based on the items they have, etc.


Yeah there is gonna be separate Tick Lists so that you dont need to “tick up” in order to achieve the same effect as you described. Optimization Detail. :wink:

Not gonna be required to setup a dedicated Server, think of “Open To LAN” in Minecraft. Exact Details as to how that Feature is implemented will emerge when I do it. XD

As I mentioned in other areas of the Gameplans, radial Menus would be one of the Options a User could choose. :wink:

I’m German, I know the Y Z thing and its annoying as fuck to me too. On Linux I can very much guarantee the Keycode thing, on Windows well, maybe that Subsystem for Linux that they have is required for better control over the Hardware… But that is something @OvermindDL1 will have to worry about probably. XD

Ah right forgot the Inventory Key. Though that doesn’t really matter due to the many presets I’m gonna add, especially the Minecraft one.

There would be an actual dedicated Description Window that just shows that Description, the Tooltips would only ever show things like Name, Type, Color and Amount but not the Description.

Yeah spaces as markers are good too.

The reason to use the K, G, T, P etc in the way i described was to prevent decimals from showing up because those can confuse the crap out of people. Also just so you know, 128 Bit Numbers are doable with primitive Data Types, yes that’s twice as much as a long.

Yeah I thought of integrating Aspects of some sorts to the Resource System, though I wouldn’t use it myself unless I get bored after a few years and redo Thaumcraft in my Game. XD
It is just to make sure that Mods can use it and that Modders actually think about Aspects when adding their Items, so that there is no need to iterate over the Crafting Recipe List to “guess” the Aspects like Thaumcraft does.


I would suggest using a calendar based system where applicable. While a bit more complex to implement, with an list with the delegates and timestamps ordered by the timestamps, but it’s way more efficient. It also allows for stuff in unloaded chunks to process, like crops.


Yeah there is gonna be a time code inside each chunk to check for how long it was unloaded, especially necessary with Crops. ^^


In my opinion, tickrate shouldn’t exist, it should be completely based on delta’s.


Yeah which is yet another way to handle it, if that works well.