Saturday, September 19, 2015

GeoCraft 1.20 Introducton

Do you want to join, build, or destroy civilizations in Minecraft? Yearn for a 'hands-off' ruleset that encourages economy and town-development without forcing it into existence?  GeoCraft affords this, and much more.

GeoCraft is a server running both a highly sculpted custom map and a set of in-house and third-party mods.  This combination is tuned to provide not just mechanisms for the formation of towns and markets -- thus civilzation -- instead, GeoCraft is balanced to encourage group-play and cooperation.

Come join us! We currently have two groups vying for early-stage development, engaging in trade and competition with each other.  This map hasn't seen a war yet, although the last map saw raiders which kept our townies on their toes.  The world is still wide open, the opportunity for fresh development beyond each mountain, in each productive valley.
Town of Silent Valley




Basic in-game rules
  1. Non-whitelist.
  2. In-game anarchy. This means griefing and destruction are permitted. Players themselves are expected to deal with the problem with the prison mod GeoCraft provides (more later).
  3. Rule 3 does not allow for meta-game attacks, so be aware that such will be punished.
  4. No personal attacks, in or out of game.
We have a Mumble server!

Mumble server will always be the same IP as the server, port 64738.
Currently: 52.22.8.75:64738

Philosophy of "economic mods"

Some mods such as Tekkit help the users build economy from the perspective of individual-economics and automation; a single player can climb the entire tech-tree effectively and build up a large productive outfit all on their own.  GeoCraft's philosophy of economic mods is different: we focus on providing incentive for social play.  Thus, our mods are tweaked specifically to give players reason for being in the same high-value zones at the same time.  This prevents everybody's ability to spread out and get by passably on their own.

This is addressed both in terms of altering what players can do (mood and encumbrance mechanics), but also in terms of altering the properties of capital (making it harder to move about without serious effort).

List of in-house mods

For more information about any of these mods, please visit our subreddit at /r/Geocraft_MC which has information about each.  For a comprehensive post on the original mod mechanics: geocraft-mc.blogspot.com/2015/08/intro-to-geocraft-010.html

Here I will provide a brief description of each major change to the mechanics.


Mood

Mood is a new meter, similar to health or stamina.  To view your mood, punch at the air with an empty hand.  Mood is depleted by 1 for each block you break.  The lower your mood, the lower the durability of tools you craft.

The only way to replenish  mood is to sleep in a bed.

Multi-break

Many blocks require multiple breaks to destroy.  This is to help represent the durability and difficulty to move capital.  This griefing will require more effort, as will moving one's operations overnight.  (In fact we're hoping to encourage historical ruins with this.)

Some blocks, such as ORE, will yield their drop on each break!  If such blocks are not completely broken before the server reset, their number of potential breaks goes back to full!  This means that towns can develop on top of ore veins.  If they are prudent, they can sustain the vein indefinitely.

Encumbrance

Players can only carry a certain amount of blocks.  When they fill up, the game will switch off their ability to carry more until they sort out their inventory.  Once they do, they can type "/lug" or "/l" to switch item pick-up back on.  (It can also be used to disable it temporarily if on.)

This has led to all sorts of innovations on the part of players.  Not only does it encourage minecarts, but since these can be expensive early-game, players have tried other devices such as log floats.   

Farming and ecosystem

Crop growth now requires animals to be nearby.  When a crop grows to any stage, it may flip its own biome to DESERT.  If this happens, the crop will remain there, but will not continue to grow until the biome is restored to normal.

The way to do this currently is either to let a sheep feed on grass in an adjacent tile or to feed a cow/pig in an adjacent tile.  Doing so will "re-fertilize" the tile and restore its biome, allowing growth to continue.

Prison mod

Players can effectively chain another player to a post if they get too unruly.  For more detailed information, check out the comprehensive mod rules posted above.  Players remain chained to the post until a friend comes and springs them (by destroying the post).  This allows players to police each other, and deal with griefers (or prisoners of war) accordingly. 

Animal and mob camps

Like MMO's, GeoCraft has mob camps and animal camps.  Every day, these restock with critters.  Knowing where they are is important in case one loses their animals to catastrophe or war, allowing players to recover in the unlikely event of a map-wide wipeout. It also provides towns with the incentive to control these areas, to corner various markets.

Custom ore generation

Ores don't spawn normally in GeoCraft.  Currently ores appear in veins, or clumps of the same ore.  These veins are visible from the surface, so prospecting means exploring the map.  Be on the lookout for neat geological formations!  Ore may well be there.

Keep in mind ores are multi-break, and if left undestroyed, persist to the next day.  (Server resets will replenish each ore that remains, affording it maximum number of breaks again.)  This means careful players can keep the ore rolling in once they find and defend a vein.

Locks and shop chests

Players can lock doors and chests with a combination-lock, and share this combination with other players.

Any chest that a player has the combination for can be turned into a shop!  Much like other Minecraft shop mods, this allows other players to interact with a chest and execute a transaction automatically.  For more information: https://www.reddit.com/r/geocraft_mc/comments/3kjzbq/shopmod_version_1_released_today_please_help_test/

This allows players to build marketplaces and helps to oil trade.




Thursday, September 10, 2015

Repurposing the blog a bit

Given the presence of the subreddit (and its usefulness for interacting with the player base), I will switch this blog over to larger update-posts.  This means that, for the most part, this blog will be used to announce large releases (which will be linked to from the subreddit, of course).  For information about our faster iterations and discussion / feedback / bug reporting, please visit reddit.com/r/geocraft_mc.

Sunday, September 6, 2015

On vacation this weekend

Folks,

I'm seeing some friends this weekend!  Been having a great time so far.  Will be back to bug fixing and updates in a day or two.

Saturday, September 5, 2015

Tweaked multi-break parameters a bit (to make building less painful)

After building for a while, people are reporting that misplacing blocks is a bit painful.  So for now, I've halved the following parameters:
  1. # of breaks required for lockables, such as chests
  2. the construction-grade modifier; now stone bricks, for instance, will be easier to break
This entire process is going to require a lot of back-and-forth, as we wish to strike a balance between creation and destruction.  But for now it seems that this change will make play more enjoyable without impacting how challenging it is too much.

Friday, September 4, 2015

Official Mumble server up and running!

The current IP is always listed up above in the title.  For now we're using the same machine as the standard MC server (if this ends up causing undue load, we will use a separate machine). I'm going to make that IP address static soon (whenever I get ElasticIP sorted through AWS ... shouldn't take long, I've just never used the service before).
Same code of conduct applies here as on the server. No abuse, no harassment tolerated. Have fun folks!

Encumbrance changes! Now XP improves your carrying capacity!

Simple first-pass rule implemented today... I plan on tweaking this (as everything) as more feedback rolls in.  As it stands, 1 level of XP = 1 additional unit you can carry (e.g. 1 stone, or 2 wood).

This is meant to provide disincentive to dying in general, especially suiciding to restore hunger.  Now keeping your XP is more important, as it alleviates one of the major constraints (carry capacity).  I am planning on adding more things that XP adjusts in the future, so stay tuned!

Thursday, September 3, 2015

Adjusted break mod and locks


  1. I updated some of the multi-break mod code today, to have it keyed off of the general material model that the lug/weight mechanics are based on. This means that lockables are more durable, as are "construction materials"; this includes wooden planks.  That means planks' weight has gone up a bit, but now they provide much more protection than before (they were only 1-break before).
  2. Locks now properly destroy when the block holding them is destroyed.  Before breaking a locked chest and then placing a new chest in the same location would inherit the same lock.  Now that's no longer true (the lock is tethered to the specific block in the spot).

Tuesday, September 1, 2015

Post for submitting bug reports and general feedback for 0.1.0

We are still trying to figure out what the best system is for filing feedback and bug reports (leaning towards a subreddit at the moment).  Until then, please reply to this thread to file bug reports and otherwise general feedback for version 0.1.0 (the first launch, still in effect as of Sept. 1).

Monday, August 31, 2015

Intro to GeoCraft (0.1.0)

What is GeoCraft?  

Current IP: 52.22.8.75
GeoCraft is a combination of a mod suite, a custom map, and an official server.   This combination is tuned for "civilization" or "politics and economy" style play; in other words, it's been tuned to incentivize group-play and town-building.

The main philosophy of GeoCraft is to accomplish its gameplay goals without arbitrary or direct game constraints.  We aim to design bottom-up from the level of basic incentives, rather than mandating player interactions top-down through mechanics.

GeoCraft is a two-phase project: in early development, it will be a rapid iteration test server.  After the project has been sufficiently developed, it will move to longer cycles so that communities have a long while to spring up, develop, thrive, and compete.  Its main goal is to be both a game and a social experiment -- a test-bed for styles of group-play in which economic incentives are a bit more realistic than vanilla Minecraft.

In-house mods and features

Mood mechanics
Mood is a new meter to manage, much like HP or stamina. It can be viewed by punching with an empty hand at air.  Mood is whole number between 0 and 100 (worst and best), and is consumed by two events currently: (1) when destroying a block; (2) when taking hunger damage.

Mood can be recovered by resting in a bed.

Mood affects crafting durability; it adjusts durability by its own number, as a %.  Thus if you have 50 mood, all tools and armor you craft will be at 50% durability.

Encumbrance mechanics
GeoCraft has harsh encumbrance mechanics. This is both to encourage working together (making hauling more of a distinct task) and to encourage capital investment (chest mules, minecarts, etc).

Different materials have different weights.  Once encumbered, a player cannot move until unencumbered.

Using "/lug", the player can toggle whether or not blocks are picked up at all (such as to avoid encumbrance altogether when fighting, for instance). 

Lockable chests and doors
GeoCraft has mechanics for locking chests and doors.  Rather than using scripting commands, the system is combination based.

To set a lock, approach an unlocked chest (or door).  Clear the 2nd and 3rd rows of your inventory.  These two rows will be used to set the combination for the lock.

To determine the combination to be set, place any combination of items in the 2nd and 3rd rows of your inventory like so:


Now, whenever this combination of items is in the 2nd and 3rd slots of your inventory, you will have access to the locked chest.  This is true for anybody!  So you can share the combination with others, but be careful who you share it with (there is no explicit white or black listing).

One can hold multiple combinations at once; empty spots don't count.  Suppose I form a second lock with the following combination:


I can then hold both keys at the same time and access either chest.


Keep in mind that the number in the stack matters!  This means that the following inventory would NOT open the locks depicted by the seed-based combinations above:



Imprisonment and player-versus-player enforcement 
Social life sometimes requires enforcement. To give players this option, GeoCraft has imprisonment mechanics.

To imprison another player, place a cobblestone fence down.  Holding a stick, right click that fencepost.  A message should alert you that you are ready to use that post as a "prison post".

Upon your next player kill, that player will be teleported to the prison post and bound to it until the post is broken by another player. 

Durable materials
Many materials will require multiple breaks before they are destroyed and drop.  Construction-grade materials are intended to give defenders an advantage against petty grief and small-time vandalism.  If these blocks are not broken in the course of a day (before server restart) they must be broken all over again; their "hp" so to speak is restored.

Semi-sustainable ore veins
On GeoCraft, all ore veins peek out a bit at the top. This means that prospecting can be done by exploring the map.

Ore blocks can be broken many times, and yield a drop each time.  (To balance this, ore blocks cannot be placed.)  Once per day, if they reach a pseudorandom number of breaks, ore blocks break for good.  Thus, if managed carefully, ore veins are stable.  If not, they will dwindle and be depleted.

Farming, animals, and desertification
Farming now has a chance of causing desertification -- the tile's biome itself changes to desert.  Desert tiles cannot grow grass, or anything else for that matter.

The only way to restore desert biomes to their original biome is:
  1. when a sheep eats grass within one block
  2. when a cow or pig is fed within one block 
Hunger depletes more rapidly, making these constraints more of an issue.

Third-party mods and features

WorldBorder
WorldBorder is used with a hard-wall placed around Crater Lake.  The total area of playable surface is currently 1km x 1km.

Random_Spawn
Random_Spawn is configured so that players spawn in a random 800 x 800 meter area if a bed is not set.

Rules and code of conduct

GeoCraft is an in-game anarchy server.  This doesn't mean there are no rules on the server; it means that people can play the game however they like.  "Play", as in any game, is defined carefully such as to create a personally safe environment for all players.  PVP is absolutely allowed, but people are not allowed to engage in verbal and/or personal attacks on fellow PLAYERS (that is, the humans behind the avatar) in any way.  This includes name calling, disrespecting another player's gender or race, and other abusive behavior. Basically anything you'd be ashamed to tell your own mother about having said or done to another human being.

This line is tread on almost every server, where bad apples try to intimidate and threaten each others' persons to gain an advantage on the game board.  GeoCraft takes the notion of "on board" play very seriously.  To illustrate the difference: griefing a person every single day is perfectly fine (it is all "on board"). Launching a personal and verbal invective about that person outside of the context of the game (attacking who they are, where they're from, etc) is completely out of bounds.

In chess it's not appropriate to flip the board, intimidate, or harass one's opponent.  This is not just for the sake of common decency and respecting others, either; without this guarantee, the boundaries of the game itself become fuzzy ("let the wookie win!").

The rules of conduct are remarkably simple: do not harass, intimidate, or otherwise personally attack other players.  Any actions directed at one another out of game (this includes directly addressing the player in any threatening or aggressive tone) are grounds for a temporary or permanent ban at my discretion.  Keep all play on board.  Anybody seen trying to make the space uncomfortable for other players on a personal level will be subject to disciplinary action or outright removal.

Working on LockMod today!

The last few days we've seen the addition of animal and soil-fertilization mechanics. I will be posting soon to outline the intended mechanics of these additions for testing.

There are really 2 different things we need in place before we have any business advertising the server:
  1. Provide some sort of locking mechanism for chests and doors
  2. Some sort of imprisonment mechanic
Today I am focusing primarily on #1.  More on this throughout the day, but the basic gist of the mod is to provide a combination-lock system based on inventory contents.  Trying my best to think out a system that has fewer computational costs than traditional lock/key mods and also brings extra value and richness to the game (rather than relying on too much off-the-board mechanics, background databases, etc).

Friday, August 28, 2015

NOTICE: NEW IP ADDRESS! 52.22.32.162

Folks the server has a new IP address due to upgrading to a new AMI: 52.22.32.162

Once I decide on more than a working name for this project I'll bite the bullet and get an actual domain so that we don't have to constantly communicate new IP info when the machines get upgraded.

New rock strata delayed a bit

So last night I tried fooling with the stone distribution, replacing bits and pieces with rock strata.  For some reason similar code to what I used for the ore vein generation did not work in this case, and I kept getting strange issues.  Perhaps it's because of the nature of trying to iterate through the whole map (I've seen the changes take some times and not others; very odd).

At any rate this can be achieved in a much less fancy manner via MCEdit so I'm going to wait and use that instead.  Tomorrow I'll be getting around to working on the animal and farming mods, and hopefully slating the lock/key mechanisms.

NEW IP ADDRESS OF SERVER: 52.22.32.162

Server down for an hour or two

Server undergoing maintenance.  Layering some rock strata into the map.  Script is currently running and should be done in a few hours at most.

Fixed a few bugs

  1.  Fixed issue with dyes coming out strange, and wood coming out strange (ink sacks / oak planks). Now mood only applies to items with explicit durability (damage value is used differently for non-equipment). 
  2.  Adjusted the LugMod weighting algorithm so now it keys off of the master spreadsheet (making balancing easier) with full coverage of Bukkit materials.
Please keep me honest and see if the ink sack issue has gone away.  

Thursday, August 27, 2015

LugMod overhauled!

LugMod has been reworked due to some unexpected dead-ends with the original implementation plans.  Here's how it works:


Each player has two different flags which can be set to TRUE or FALSE.  The first is the "encumbrance" flag -- if the player is encumbered, the server sets this flag for them.  The second is the "lug" flag -- this is set by the player using "/lug on" and "/lug off", and viewed with "/lug".  When the lug flag is TRUE, players can pick up items (when not encumbered).  When FALSE, players do not pick up items (passing them over) such as to make the encumbrance mechanics less obtrusive if you do not intend to haul there and then.

When a player is encumbered, they are locked in place. This is accomplished by teleporting the player back to the location of initial encumbrance if they move.  When encumbered, the mod automatically switches the player's lug flag to FALSE; this is so that the player can clear her inventory without it immediately filling back up to encumbrance automatically.

Players will, be default, be able to pick up one stack of items that places them above encumbrance.  This is to ensure that any size stack that fits into a chest-slot can be lifted and restored in the event of chest destruction (or any other way by which it ends up on the ground), addressing the bug where players could not lift stacks heavier than their encumbrance threshold.

Wednesday, August 26, 2015

Temporarily disabled "Encumbered!" message

Quick patch (up to 0.0.2 technically, yay for artificial versioning milestones!):

LugMod's notifications to the player that they are encumbered have been temporarily switched off.  The somewhat basic mechanism I have set up for alpha 1 was spamming players with "Encumbered!" messages and blowing out the chat window.  As a quick fix I have removed this notification.  More intelligent encumbrance checking is on the radar and slated for 0.1.1.

Fixed craftbukkit running in background, now server should be up indefinitely

CraftBukkit has strange issues running as a background process compared to other programs (such as the vanilla Minecraft server).  Today I found the magic command to get it running in the background and have confirmed: even if I log out of my ssh connection through which I launched CraftBukkit, the server stays online!  Now, so long as the EC2 instance it's running on is up (and Amazon itself has an internet connection) the server will be up!

Next up in terms of server-side utilities to improve service and automated administration: going to see if I can get a script going to detect the instance itself going down, so that it can spin up a new version of itself in an emergency (before alerting me of course).

EDIT: In case you're a poor soul that somehow ended up here searching for the same problem, here's a link to what resolved the issue for me.

Tuesday, August 25, 2015

Intended mod mechanics for 0.0.1 (current release)

Below are the intended mod mechanics and feature list for 0.0.1, which is the current release being tested.  Thanks for your bug tickets so far on the previous post!  Please, from now on, post your tickets and bug reports underneath this post.  From now on, I will be posting a feature list alongside a new push/release; this will allow the intended feature list to head up the bug reports and will allow everything to stay neat and tidy.

Again: this post is to aid the testing process, in comparing intended functionality for the current/live release and the actual functionality (which hopefully you testers will discover!).

MoodyMod 
MoodyMod introduces the concept of mood.  Mood is a whole number between 0 (worst mood) and 100 (best mood).  As you may expect, mood is meant to represent your avatar's mental and emotional well-being.

What does mood affect?
Currently mood is meant to affect crafting durability.  As it stands, it only affects the durability of tools: it is meant to adjust the durability of any tool crafted by <current-mood>%.

Example: if your mood is 50 and you craft a stone pick, that stone pick should start with 50% durability.

What actions decrease my mood?
Breaking a block consumes 1 mood. Currently nothing else should consume mood.

How do I restore my mood?
Only one action should restore your mood: sleeping in a bed. Sleeping should restore mood to 100.

How do I check my mood?
To check your mood, punch at the air with an empty hand.

LugMod
LugMod adds basic encumbrance mechanics.  Once a certain weight max is hit, the player will simply not be able to pick up any more items.  Different items have different weights.

How is encumbrance calculated? What happens when I'm encumbered?
There is a basic lookup table where every item is assigned a weight. When a player attempts to pick something up, the current weight of their pack is calculated; if this is above a maximum threshold, the pickup event is canceled and the item remains where it began.


BreakMod
BreakMod adds in multi-break mechanics to blocks.  Blocks that require multiple breaks are either construction grade or ores.  Construction grade materials break many times and only yield their drops on the final break.  Ores, on the other hand, yield their drops on every break.  Some blocks are normal (e.g. dirt) and require no additional breaks to destroy.


Each multi-break block has a minimum and maximum number of breaks that it may take; however many it actually takes is based on a bit of chance (calculated at every server-up).  If a block is not completely destroyed before server reboot, that block is reset; it will have to be broken from scratch. 

Why regenerate blocks on server reset?

  1. It makes attacking and griefing harder. If one could sneakily break into a place by chipping in gradually, it would incentivize annoying and not-fun behavior such as checking one's entire property every day.  This way in order to break in, one needs to be dedicated and able to follow through in a reasonable amount of time.
  2. Ores cannot be placed. This means when they are destroyed, that ore cannot be regenerated in the world again (the world becomes a bit poorer overall).  Since they regenerate day to day and there's a bit of uncertainty as to how many breaks before they are totally gone, this gives towns something to regulate (behavior with respect to ore such as to not totally wipe it out).  Towns and settlements that are able to preserve their ore deposits day to day can continue to exploit them, and stay set up above them.  This encourages city building in a natural way.

Mods rely on data tables that need to be published 
The actual weightings I have not included in this document. Once I find an easy and concise way to publish this sort of information, I will start including it in these release/feature posts so it can be checked against.  For now I trust people to be able to discover the counts as they go.

Happy hunting for bugs folks, and have fun! Thanks for helping with the testing. If there's anything I can do to improve the server experience, please let me know.  Also: in addition to bug reports, post lag reports here.

NOTE ON VERSIONING:
x.y.z denotes <map_reset_number, major_mod_revision_number, minor_mod_tweak_number> 
 

Auto Backups, NoCheatPlus, and RandomSpawn

Today I got the server backing up to S3 Cloud storage on an hourly basis. That means rollbacks should, at worst, only ever be one-hour back (assuming the corruption occurs alongside an error that crashes the server).  It also means we'll be able to download these hourly snapshots later and do a neat frame-by-frame render or other sorts of detailed data analysis.

Also, I downloaded and configured NoCheatPlus (default settings) and RandomSpawn (set to a 800x800 square around 0,0).  Please let me know how these work out.  Server is currently up and running these as of this post.

Server accidentally generated new map!

Upshot: I have restored the Crater Lake variant map. Some of the progress on the generated map will be lost.

What happened?: For some reason the server.properties file went back to reading "world" instead of "craterlake". I have fixed the issue and updated the AMI accordingly so next launch this shouldn't happen.

First server stability test! Stable DNS

CURRENT DNS: ec2-52-21-140-61.compute-1.amazonaws.com

(If you're experiencing problems make sure you didn't copy an "http" or a space at the beginning or end of DNS.)

Folks:

Working on getting a domain name so that whatever public DNS the server is assigned in the future, I can point the easy-to-remember domain name to it.  I may even be able to work it out so that the server auto-reboots (or auto-respools in the case of termination) and auto-links the public DNS to the appropriate domain name! Stay posted, going to fool with that today.

The DNS posted above should be stable until the first server-down.  Will post subsequent ones to THIS THREAD if it changes.

Tuesday, August 18, 2015

Launch of 0.0.1!

The purpose of this blog is to replace a forum environment for GeoCraft Minecraft mod and the official server's community.  The format, I hope, will be as follows: I post some sort of relevant topic based on recent news, or soliciting regular feedback.  The comment section will then serve as a forum for response and discussion for the community.

Today we launched 0.0.1!  It's an exciting day ... I banged the alpha 1 version of the beginning set of mods out today, got basic tests done, and now we have two testers online.  I will be posting a full feature list in a post soon.  As it stands I'm ridiculously tired and wanted to fire off this post to establish the whole solicitation-response model, and get some of the first impressions and basic feedback on tuning the early alpha out there.

Testers: please reply directly to this post with any feedback you have, positive or negative.  We need tons of criticism to get this tweaked up, to get new features dreamed up, and to remove annoying or kludgy ones that are in the way.

ALSO! It's very important I give credit where it's due.  We are using (at least for now) variants of the Crater Lake map by Sir Beret.  Amazing map; all credit goes to him.