Azanor / thaumcraft-suggestions

This area is specifically to post any suggestions or balance issues. The main area should be kept for bug reports only.
31 stars 12 forks source link

Suggestion for Golemancy #313

Open jvcmarcenes opened 6 years ago

jvcmarcenes commented 6 years ago

... So, I started with this idea: A new seal that can let golems check the contents of a essentia container (jars, pipes, buffers, allembics), and act based on that Like, If my golems detect that a alembic has praecantatio they can open a valve that feeds into praecantatio jar But know I actually have an idea for really complex gollemancy... the research table cards talk about scripting, and as a programmer I coudn't help but imagine actually writing golem behaviours, So... we could have a more deep golemancy that would consist of writing scripts and then feeding them to golems, and they would act as the scripts say It could be in a custom Thaumcraft programming language, and maybe it could even be visual scripting, but a way you could link blocks, tileEntities to a variable and then based on this make the golem respond... Yeah, Azanor, if you don't implement this I feel like I will have too (After months of hedacheyting to learn minecraft moding (never worked with multiple APIs like that, and never really wrote complex game behaviours, bu I have written a Custom Programming language Compiler, so...) ANYHOW) huh? maybe a next-tier, end-game golemancy thing

Daderic commented 6 years ago

I read all your other ideas, and this one appeals the most to me. The spell crafting system already in Thaumcraft is a bit like this. He could take the system, change up a few things, and make them do whatever the script says. While I do like how going more basic with the language(things like Java or blockly) allows for more control, I don't want a section that only people who are interested in programming can do. Something like that should be "easy" for everyone to use, and should be accessible by everyone who plays the mod.

jvcmarcenes commented 6 years ago

Yeah, coding isn't really that accessible to everyone, in my head I thought of saomething like Pascal, since it is fairly basic, it doesn't even have to have things like arrays or multiple looping structures, but a way of doing visual scripting would work the best Maybe even make the scripting be like the Cartomancy system I suggested in #314

Geethebluesky commented 6 years ago

The visual scripting element would be a mod in itself. I mean, some people managed to replicate old computers from within MC with just Redstone, so it's definitely possible, but I haven't seen many tools even out on the Net that can teach people to code visually, so... that would be an experiment! I'd love to try something like that though, sounds fun.

jvcmarcenes commented 6 years ago

One Idea I had was the following: There could be certain cards that represented fucntions or variables or things like that, and then the player could mount a grid of cards in a way to achieve what they want. example gratia: If I want a golem to check if a jar has a set amount of ordo essentia, if it doesn't, then I want the golem to craft wooden shovels, smelt then, take the isntrumentum through a centrifuge which would give ordo and then take that ordo in phials and fill the innitial jar Alright, quite a complex thing to do, in my base I could have the following setup: a chest filled with wood (or wood planks even), a functional and efficient essentia smeltery that takes the essentia from the alembics and fill the jars, and a isolated centrifuge that takes the essentia from onew jar and return it's component parts, I would also need to have some jars and phials laying around or in chests. Then, I could "program" a golem to do the task for me like so: in the "programming table", I would have to setup the cards in a configuration kind of like: it started with a boolean variable card that would simply tell me if the essentia in a given jar of a desired type of essentia and if it is bellow a treshold I want (maybe you shift right-click the jar with the card and the card would be linked to it, and I could set the desired essentia with a labelor a phial, and the desired amount with a simple number display (internally, the code would check the content of that jar, if it has the set essentia AND amount of essentia is smaller than the one I set, it returns true, it return false otherwise)), that could be the first card, then I could connect it to another card that would make the golem craft shovels if it receives a true (the card would make the golem reach for a chest (maybe they could be marked by provide seals), and given that there was a provided arcane workbench in reach of teh golem, he could craft recipes that could be noted in the cards (like, the cards would have a crafting grid to keep recipes the golem would need to craft)), after crafted, a simple card would feed the essentia smeltery with the shovels, the next card would check if the instrumentum jar is full or if there is no more wood to craft shovels, if so, it would tell the golem to take the instrumentum jar and place it in the centrifuge system, the next card would check for when the isntrumentum jar is empty, and then the next card would tell the golem to empty the ordo jar with phials, the next card would check if the golem has ordo phials and if the ordo jar from the centrifuge system has less than 10 essentia, then it could call a card that told the golem to ise the phials to fill the innitial ordo jar until it reached a set value. yeah, quite big and I know it can sound complicated, but basically, the player would simply place the cards next to each others and set some values in the cards (set which jar is meant to be checked, how much essentia he wanted in it, and stuff like that, no actual programming envolved) has anyone here ever seen the google game about programming? maybe like that? (this could even work as to get people into programming)

jvcmarcenes commented 6 years ago

Sorry for the wall of text

jvcmarcenes commented 6 years ago

Sorry guys, I have more stuff to say (Is there a problem in posting too much that could leave to ban or anything like that? Idk the rules of github) SO, for instance, there could be a "check" seal, you can subscribe a card[0] (I'm gonna number the cards to make it easier) to that seal, by shift right-clicking I guees, once the card[0] has been subscribed to that seal, it will hold information about the block the seal is placed on (the seal has to be placed on a block, so it would check that block, it could even be air and empty space), once that's is done, you could place that card[0] in the "programming table" and place next to it a card[1] saying "is..." and there would be a empty space, like a inventory space, where you could place a block to testfor it (let's say we are testing for a chest), if no blocks is assigned it will be checking for empty space, next to the card[1] you can place a card[2] that is named "Data" and this card[2] has a place for a block or TileEntity, there you could place a chest, and it would have all the data and properties a chest has, from there you can choose over what property to opperate on, and so on get it? does it makes sense? too complicated for the mod? could it fit in?

Geethebluesky commented 6 years ago

It's the suggestions forum, shouldn't be a problem with posting too much as long as it's on whatever topic you're replying to.