Website: freeplaydatabase.org
Dogz The Femboy
In this video I explain how to use a tool I made for predicting future rounds in Bloons Tower Defence 6 freeplay.
Website: freeplaydatabase.org
Website: freeplaydatabase.org
updated 1 year ago
Website: freeplaydatabase.org
Thank you @the_steal for the random audio clips lol
Music: Ninja Kiwi @ninjakiwimusic7185
#bloonstd6 #btd6 #freeplay #ai
I also ramble a lot in this video, and there is a hell of a lot of ADHD and Autism present in the video. Be Warned.
My final setup used Ezili, a 2221 True Sun God, a degree 1 Nautic Siege Core, a degree 6 Glaive Dominus (which was a throw), a degree 68 Navarch of the Seas, a degree 70 Goliath Doomship, a degree 69 Ascended Shadow, a degree 62 Magus Perfectus, a degree 69 Master Builder, a degree 69 Mega Massive Munitions Factory, an Ultraboost for the overclock buff on the true sun god, a carrier flagship for more placement spots, and an absolute zero for an ice platform.
A link to the sped up footage is here: youtu.be/fvzvGYjCDZU
Mackan, please dont do another one with ezili on a multi-lane map...
#bloonstd6 #bloonslategame #mackanchallenge
All the pop counts: docs.google.com/spreadsheets/d/1tTdyDY3XEo2uvt1z4lVn9x74fssjjPwMsTMeK6ExJ-k/edit?usp=sharing
Freeplay discord server link: discord.gg/SQNJGbQsqG
Timestamps:
00:00 – Introduction
00:22 – Context
01:23 – How Freeplay Works
02:04 – Context Of My Run
04:00 – Game Design Rant
05:24 – Playing The Run
06:02 – Everything Goes Wrong
06:42 – Finding Happiness
09:20 – Time Lapse
13:13 – Def Real Sponsor
13:40 – Back To Time Lapse
16:08 – Everything Goes Wrong Again
17:16 – Minor Mental Breakdown Over Bloons
17:39 – Final Things
#btd6 #btd6freeplay #btd6lategame #lategame #worldrecord #btd6today
I'm going to be continuing this run, so watch out for another video soonish about that.
All the pop counts: docs.google.com/spreadsheets/d/1qPBPYM9Y5LKi8cghter7WZeHGo_mzbp4KGzQNDnT86U/edit?usp=sharing
#btd6 #btd6freeplay #btd6lategame #lategame #worldrecord #btd6today
In this video, I show off an engine that can take a save file or a seed, and can tell you with 100% accuracy what is going to be on that round. (I realised a bit too late that Matthew is spelt with 2 t's, so I'm really sorry Matthew)
The github for my code: github.com/Dogz-R-Godz/freeplayExplorer
The github for the original code: github.com/vrejhead/freeplayExplorer
The github for the seeded random: github.com/1330-Studios/SeededRandom_Decomp
Thank you again Minecool, Vrejhead, and Matthew.
There isnt enough characters for the copy and paste stuff, so: pastebin.com/Vm14q93d
Reupload because I accidentally had the music way too loud
I cant put the larger than and smaller than symbol in descriptions for some reason.
Code:
import pymind as pm
import numpy as np
inputNeurons=8
outputNeurons=5
middle=np.array([8,8])
activation="RELU"
network=pm.NE(inputNeurons,middle,outputNeurons,activation)
network.start_session(False,200)
inputs = []
outputs = []
# Loop through all possible combinations of 4-bit numbers (0 to 15)
for i in range(16):
for j in range(16):
# Convert 'i' to its binary representation and store in a numpy array
binary_i = np.zeros(4, dtype=int)
temp_i = i
index = 3
while temp_i "Larger Than" 0:
binary_i[index] = temp_i % 2
temp_i = temp_i // 2
index -= 1
# Convert 'j' to its binary representation and store in a numpy array
binary_j = np.zeros(4, dtype=int)
temp_j = j
index = 3
while temp_j "Larger Than" 0:
binary_j[index] = temp_j % 2
temp_j = temp_j // 2
index -= 1
# Concatenate the two binary arrays to form the input data
combined_input = np.concatenate((binary_i, binary_j))
inputs.append(combined_input)
# Calculate the sum of 'i' and 'j' in binary
sum_decimal = i + j
binary_sum = np.zeros(5, dtype=int) # This is 5-bit to handle the case where the sum is 16 (10000 in binary)
index = 4
while sum_decimal "Larger Than" 0:
binary_sum[index] = sum_decimal % 2
sum_decimal = sum_decimal // 2
index -= 1
outputs.append(binary_sum)
# Convert lists to numpy arrays for the final result
inputs = np.array(inputs)
outputs = np.array(outputs)
notDone=True
bestError=outputNeurons
errorThreshold=0.001
bestBrain=network.brains[0]
generationNumber=0
while bestError "Larger Than" errorThreshold:
generationNumber+=1
while notDone:
currError=network.curr_brain.find_error(outputs,inputs,activation)
currScore=outputNeurons/currError
if currError "Smaller Than" bestError:
print(f"Found new best error! Old was {bestError}. New is {currError}. This is generation {generationNumber}")
bestError=currError
bestBrain=network.curr_brain
notDone=network.finish_game(currScore)
network.start_session(True,500)
notDone=True
print("The network has achieved greatness!")
for i in range(len(inputs)):
output=bestBrain.better_get_output(inputs[i],activation)[0]
print(f"Output obtained: {output}. Output expected: {outputs[i]}. Inputs Given: {inputs[i]}")
bestBrain.save_network("4_bit_addition.npy")
The terminal and code is much bigger in this video.
Code:
all zeros with a few ones inputs:
import pymind as pm
import numpy as np
import random as rand
inputs=6
outputs=2
middle=np.array([6,4])
network=pm.neural_network(inputs,middle,outputs)
network.randomise_network(random=True)
ai_inputs = np.zeros(inputs)
for x in range(5):
ai_inputs[rand.randint(0,inputs)]=1
print(ai_inputs)
activation = "sig"
output=network.get_output(ai_inputs, activation)
print(output)
output=output[0]
print(output)
Random inputs:
import pymind as pm
import numpy as np
import random as rand
inputs=6
outputs=2
middle=np.array([6,4])
network=pm.neural_network(inputs,middle,outputs)
network.randomise_network(random=True)
ai_inputs = np.random.uniform(0,1.000001,inputs)
activation = "sig"
output=network.get_output(ai_inputs, activation)
print(output)
output=output[0]
print(output)
#pymind #python #ai #aigaming #tutorial #aitutorialforbeginners #aitutorial #aitutorials #minecraft #code #programming #dogzrgodz
links:
python: python.org
VS code: code.visualstudio.com/download
Pymind: github.com/Dogz-R-Godz/Pymind
Cmd commands:
pip install numpy==1.23.5
pip install pygame
VS code extentions:
Pylance
Python
Code:
import pymind as pm
import numpy as np
inputs=2
outputs=1
middle=np.array([3,2])
network=pm.neural_network(inputs,middle,outputs)
network.randomise_network()
ai_inputs = np.array([1,0])
activation = "sig"
output=network.get_output(ai_inputs, activation)
print(output)
output=output[0]
print(output)
Channels of participants
Dogz R Godz: https://www.youtube.com/channel/UCdys...
AhaUser1: https://www.youtube.com/channel/UCeFc...
Kahyxen: youtube.com/@Kahyxen
NaturalPower: youtube.com/@Natural_Power
Mr_Korwaldski: youtube.com/c/MrKorwaldski
Urubar: youtube.com/@Urubar34


