DevLog #1
- Oct 13, 2024
- 4 min read
13/10/24
Preface
To begin, I watched a YouTube video, showing a guy pitching 3 AI bots to simulate a civilisation in minecraft. ¹
Little did I know then how much this new hyperfixation would grip me.
I was fascinated by integrating an AI like ChatGPT into minecraft as a player bot.
After finding out this achieved with what is called a ‘mineflayer’ bot. ²
Using this javascript you can achieve exactly this, pulling an AI into Minecraft, and with easily editable code, written in a plain text majority (.json), you can edit this bots personality, learning and more.
After a few days of playing around with Llama 3.0 LLM, it was clear I was reaching the hardware limits I had access to, and decided to side step in progress before financially committing to a ChatGPT API key subscription.
The main issues were in processing, “thinking” and idle time the bot had, with Llama 3.0 and Mistral Nemo which I had come to favour, being highly intelligent systems being run on the processing equivalent to a potato.
Having been a player of about half a decade, playing with mods but never exploring it further, adding the mineflayer bot into my minecraft world immediately felt like magic, I could talk to the bot, and after a hefty pause, it would vaguely respond.
I took time in thinking how I can use this knowledge and learning alongside a creative project,
And what I'm calling “Minecraft in Time.” was born.
Taking inspiration from many TV series I've enjoyed such as “Back in Time for..” and “Turn Back Time: The High Street” ³ ⁴
The Premise.
Starting in the stone age, myself, and my mineflayer bot, named “Ug” will journey 100 days through each time period in history.
With the Minecraft world generating as close to earth and its conditions as possible, making it through four seasons, utilising real tools and techniques, as well as food use and as much cultural and relevant history as I can.
After 100 days of survival, a portal will appear, teleporting us to a new part of the world generation, and a new era to begin.
Using this I can hopefully journey around the world generation at the end to view a full retrospective of the series and see the progress.
The Eras I have decided to use, with my knowledge of British history as well as some economical and world histories, I look forward to learning along with the viewer in this simulated environment, to discover a cuboid window into the past.
Eras
The Stone Age
The Bronze Age
Iron Age
Roman Britain
Anglo-Saxon Britain
Medieval/Norman Britain
Tudor
Georgian
Victorian Britain
Post WW2
The Challenges
Considering most of these things are things I haven't even begun to approach, I would consider each step to have it's own challenges, but I am looking forward to learning a lot on the way.
The Steps
The first step I must take is creating a Minecraft world that generates as close to the real Earth as possible, removing all mobs, items and structures that are supernatural, or based in Minecraft only such as sculk and Elder Guardians.
The second step, is creating a custom portal that works alongside this modpack, taking the players to the new location at the end of the year. (Also configuring the year to be 100 days, split into 4 seasons etc)
The third step is to limit what can spawn and be crafted etc in each era, a lot of this will be reliant on the Simple World Timer mod to keep track of things. ⁵
Step four, Wanting to use Better Advancements ⁶ and more immersive HUD elements etc I will need to set up mini challenges for myself for each era.
Step five, creating a modpack that can handle all of the Eras while also setting a way to limit the advancement of these to the Eras themselves.
Step six, creating Ug, this will require an OpenAi API key, and a lot of coding, I want Ug's character to grow and learn with the journey, while also having memory and personality, I will need ChatGPT's assistance with this to help me debug and support my own learning.
Step seven will require many dry runs, as well as microfixing both the mods, and Ug's personality and learning.
This is the workflow as I see it for now, ofcourse none of these steps are going to be simple.
Log
I have been at this on a casual basis for several weeks, September 10th being the day I began looking into the mineflayer bot.
So far I have put together a preliminary modpack, choosing release 1.12.2 and CurseForge (Forge-14.23.5.2859) to load them.
These are as follows (I won't cite each mod with a link but I will include the full .jar filename)⁷
Mods
AlcatrazCore - alcatrazcore-1.0.4
Ancient Warfare - ancientwarfare-1.12.2-2.7.0.1038
Appleskin - AppleSkin-mc1.12-1.0.14
Better Advancements - BetterAdvancements-1.12.2-0.1.0.77
Better Animals Plus - betteranimalsplus-1.12.2-9.0.1
YUNG'S Better Caves - bettercaves-1.12.2-2.0.4
Bookshelf - Bookshelf-1.12.2-2.3.590
Clumps - Clumps-3.1.2
CodeChickenLib - CodeChickenLib-1.12.2-3.2.3.358-universal
CoroUtil - coroutil-1.12.2-1.2.37
CraftTweaker - CraftTweaker2-1.12.2-4.1.20.700
Dynamic Surroundings - DynamicSurroundings-1.12.2-3.6.1.0
First Aid - firstaid-1.6.22
FTB Backups - FTBBackups-1.1.0.1
Game Stages - GameStages-1.12.2-2.0.123
Growthcraft Community Edition - growthcraft-1.12.2-4.3.0
InControl! - incontrol-1.12-3.9.18
Just Enough Items (JEI) - jei-1.12.2-4.16.1.301
Mantle - Mantle-1.12.2-1.3.3.55
Macaw's Roofs - mcw-roofs-1.0.2-mc1.12.2
Mouse Tweaks - MouseTweaks-2.10-mc1.12.2
No Tree Punching - notreepunching-2.0.21
OreLib - OreLib-1.12.2-3.6.0.1
Realistic Torches - RealisticTorches-1.12.2-2.1.2
Realistic Terrain Generation - RTG-1.12.2-6.1.0.0-snapshot.1
Ruins - Ruins-1.12.2
Rustic - rustic-1.1.7
Serene Seasons - SereneSeasons-1.12.2-1.2.18-universal
Simple World Timer - SimpleWorldTimer-1.12.2-1.1.3.2
Structurize - structurize-1.12.2-0.10.277-RELEASE
Tinkers Construct - TConstruct-1.12.2-2.13.0.183
TerraFirmaCraft - TerraFirmaCraft-MC1.12.2-1.7.23.181
Tough As Nails - ToughAsNails-1.12.2-3.1.0.139
Unifier - unifier-3.0.4
Weather, Storms, and Tornados - weather2-1.12.2-2.6.12
I feel this first outline is sufficient to outline my ideas and plan to support them.
The next entry will be far more like a DevLog having outlined this
Sources
¹ AI Simulates Civilisation in Minecraft by wifies
https://youtu.be/OSGSROIs8cI?si=3S2Y88Aubq6pwei3
² Mineflayer GitHub
https://github.com/PrismarineJS/mineflayer
³ Back in Time for..
https://en.m.wikipedia.org/wiki/Back_in_Time_for…
⁴ Turn Back Time: The High Street
https://en.m.wikipedia.org/wiki/Turn_Back_Time_%E2%80%93_The_High_Street
⁵ Simple World Timer
https://www.curseforge.com/minecraft/mc-mods/simple-world-timer
⁶ Better Advancements
https://www.curseforge.com/minecraft/mc-mods/better-advancements