Game Modding
Description of Game:
A game where the player collects resources and crafts a variety of items, structures and machines while exploring a block-based world.
CC Mine
Description:
A script for Minecraft mod CC: Tweaked a fork of the popular mod ComputerCraft.
CC: Tweaked adds basic computers for programming, as well as turtles which are programmable robots, to the game. Scripts written in Lua, utilizing the CC: Tweaked API can perform a wide variety of tasks. In this case, mining.
Features:
- Mines in a 3x3 block pattern.
- Ore blocks on tunnel walls are also mined.
- Turtle scans the walls as it moves through the main tunnel, mining anything with “ore” in its name.
- Places a torch every 10 blocks.
- Floor and wall patching when required using cobblestone.
- Flooding detection in case you tunnel into a body of water or lava.
- Turtle will move back and block the tunnel off using cobblestone to contain flooding.
- If tunnel is above liquid level, a bridge will be created instead.
- Configurable junk filtering from inventory so you only bring back what you want.
- Returns to start position when inventory is full, out of fuel or tunnel flooding detected.
Design Choices:
- Default tunnel program was very basic and was insufficient for my needs.
- Tunnel was dug to a length input at start and did not return.
- Completion resulted in having to go down a tunnel to retrieve the turtle.
- The turtle did not stop if its inventory was full, and anything subsequently mined would be left on the ground.
- Inventory would be mostly junk blocks like cobblestone and little ore.
- The tunnel would be dark and full of monsters.
- I added the following functionality:
- Auto torching to light up the tunnel and prevent monster spawns.
- Patching of floor with cobblestone for easy traversal.
- Patching of the walls when there was no block to place a torch on.
- Later further improved to replace a gravity block like gravel with cobble first to prevent the torch falling off the wall if the block under it was mined.
- Wrote enhanced dig function to continually dig and check until area was clear. This solved an issue where the turtle was digging into gravity blocks like gravel or sand.
- A junk filter to drop blocks like cobblestone when inventory was full, then continue mining.
- Later made a user customizable dynamic list.
- Flood detection in case the turtle mines into a water or lava pocket.
- The turtle will move back 3 blocks then build a wall to contain the leak.
- Various checks for when the turtle was done, including:
- Enough fuel on board to continue mining or to return home safely.
- Flood detection.
- Inventory full.
- A report displayed on return that shows why the tunneling was finished.
Retrospective:
- This was a very fun project and I will definitely write another turtle script in the future.
- I definitely experienced scope creep as development and testing went on, but I didn’t want this script to give me the same feeling of dissatisfaction that the default tunnel program left me with.
- In the end, I felt quite confident in what I had made. What was intended to be a personal program, I could now share with others.
Mekanism Polonium Alternate Recipe
Description:
An alternate recipe path for converting Big Reactors / Extreme Reactors Blutonium Ingots to Mekanism Polonium Gas.
Recipe is written in a combination of Javascript and JSON, injected using the mod KubeJS.
Default Mekanism (Mek) Recipe Path:
(Mek) Fission Reactor: (Mek) Fissile Fuel -> (Mek) Nuclear Waste
- Fuel is consumed in the reactor and waste product produced.
(Mek) Solar Neutron Activator: (Mek) Nuclear Waste -> (Mek) Polonium Gas
- Final processing step.
Alternate Big Reactors / Extreme Reactors (BER) Recipe Path:
(BER) Reactor: (BER) Yellorium Ingot -> (BER) Cyanite Ingot
- Fuel is consumed in the reactor and waste product produced.
(BER) Reprocessor: (BER) Cyanite Ingot -> (BER) Blutonium Ingot
- Reactor waste product is processed to an analog of plutonium.
(Mek) Chemical Oxidizer: (BER) Blutonium Ingot -> (Mek) Plutonium Gas
- Conversion from Big Reactors / Extreme Reactors to Mekanism occurs at a 1:1 scale using Mekanism’s machines.
(Mek) Isotropic Centrifuge: (Mek) Plutonium Gas -> (Mek) Polonium Gas
- Final processing step to replace Solar Neutron Activator: at a 10:1 ratio matching other recipes for both the Solar Neutron Activator and Isotropic Centrifuge.
Design Choices:
Issues:
- Default Mekasuit recipe assumes use of the Mekanism Fission Reactor for power generation.
- In modpacks there are a variety of different method of generating power from a selection of various mods, not all players will choose Mekanism’s method especially due to the complexity, risks with radiation and threat of meltdowns.
- I like many other players use Extreme Reactors for power generation leaving me in a situation where I have to build a completely separate, complicated and accident prone reactor just to generate some Nuclear Waste in order to build the Mekasuit.
- Fissile Fuel is a complicated process just on its own and we are not even at building the Fission Reactor and Turbine yet.
- The Solar Neutron Activator is slow, requires being outside and is effected by day/night cycles as well as the biome its placed in.
Resolution:
- Identified how to make a recipe:
- Originally started down a datapack route with no success.
- Found out about KubeJS and was already installed by default to the modpack im using.
- Reviewed KubeJS wiki on how to write a custom recipe.
- Reviewed Mekanism on Github and found how they structured their JSON recipes to create a template and replaced items and values with my own.
- Assumptions made:
- Nuclear Waste is refinable to Plutonium Gas in a Isotropic Centrifuge.
- The not Plutonium component of Nuclear Waste converts to Polonium when run through the Solar Neutron Activator instead. This indicates Nuclear Waste is part Plutonium and part Polonium.
- The Isotropic Centrifuge and Solar Neutron Activator only has 1 output slot so the other material separated just disappears or can be assumed that the end product is refined but not pure.
- Blutonium Ingot is an analog for plutonium based on name and processing steps to acquire.
- Unable to convert (BER) Cyanite Ingot to (Mek) Nuclear Waste as Nuclear Waste to Plutonium Gas in a Isotropic Centrifuge is a taken recipe and must find an alternate route that does not involve the Solar Neutron Activator.
- Identified 2 equivalent materials (plutonium) from each mod and converted at a 1:1 ratio using a Mekanism Chemical Oxidizer in order to cut over to Mekanism as soon as possible as well as a device that supported converting a solid item to a gas.
- Added an additional processing step of using the Isotropic Centrifuge to replace the Solar Neutron Activator for consistent production and freedom of placement using a 10:1 ratio matching existing recipes for both the Solar Neutron Activator and Isotropic Centrifuge. Thematically a centrifuge felt like a fitting machine to use for this processing step and allows for recovery of the Polonium from the impure Plutonium.
- This new recipe also does not provide an exploit path for pure Mekanism players as it will result in a 100:1 instead of 10:1 conversion ratio for producing Polonium from Nuclear Waste.
Retrospective:
- I wanted to experiment with resolving this technically as well as designing a fair and balanced alternative path inline with the default recipe.
- As a long time player of Minecraft it was nice to work on something that effected the game itself.
- Now that I know how to write recipes I can make future alternate recipes as needed.
- I might consider writing a small mod in the future.
Description of Game:
A game about a world in which humans have died out due to climate change, and beavers are now the dominant species. The player aims for a high well-being score by building a town with farms, industry, housing and entertainment without succumbing to the environmental hazards, hunger or thirst.
Timberborn’s game loop involves seasons that alternate between temperate weather and either drought or badtide.
- In temperate weather, water flows from sources and everything is in bloom.
- During a drought, water stops flowing from sources. Water on the map starts receding and crops wither.
- During a badtide, water sources start pumping badwater (toxic waste), which kills plants and makes your beavers sick on contact.
Red Tide Islands
Description:
A custom game map created using the game’s built-in map editor.
Map Layout:
1) A lush starting area with berry patches for plentiful food, nearby trees for construction and a river for water wheels.
2) A deep water reservoir that’s easy to dam. The dam keeps the surrounding bounty of berries and trees for construction irrigated through early droughts.
- However, badwater (11) will start creeping towards the intake, increasing water toxicity. This presents a gentle challenge for the player to overcome and encourages them to start thinking about this map’s meta.
3) A short river to build industry and water wheels for power.
4) An easy area to expand to for early game farms, to be later replaced by industry.
5/6) Nearby islands easy to expand to. These islands were made with farming in mind, with their dammable water sources for irrigation and easy to clear foliage.
7/8) Both of these islands can be reached through a relay from island (6). Since they are quite far away from your starting area, it provides an incentive to create a second district.
Both islands have:
- A small water source and river to facilitate a second district or industry expansions.
- A clearing as a telegraphed district build spot.
- A dammable water source for drinking water and light water wheels.
- Abundant trees for construction.
9) An island to expand to from island (1) with the purpose of forestry in mind. Trees are harder to clear but provide more wood than normal trees.
- The moon shaped bay can be dammed but it will be more challenging than other islands. The island’s abundant trees will make local construction easier.
10) An old human outpost now in ruins.
- Badwater source to contain and harvest.
- Mid-game opportunity to harvest scrap metal from ruins for metal production.
- An entrance to underground ruins for a late game scrap metal mine.
The Challenge:
- This is a map that flips the typical scenario upside down. Typical maps are landlocked with a shallow river running through them. Water is your most precious resource.
- In this map, water is abundant but current for water wheels is scarce.
- Water levels drop a bit but remain fairly steady during a drought due to the map’s border.
- However, because of these borders, a badtide now floods the map with badwater that lingers after the season, increasing toxicity and creating challenge areas around coastlines.
- This is the turning point of the map and when the difficulties becomes clearer.
Design Choices:
- To build a map different from those on third party sites or base game scenarios.
- Water is unusually abundant but it becomes a primary antagonist as the map progresses, due to increasing badwater toxicity.
- This is a play on “too much of a good thing” and “water, water, everywhere, but not a drop to drink’”
- Progression:
- Early Game:
- Abundant resources and flat build spots.
- Mid Game:
- Late Game:
- Early Game: