Jump to content

Recommended Posts

Posted

Just asking if anyone else making a mod of any kind is ever faced with, oops i forgot this... and then this... next you know your up to version 58439 and don't even know how you got there? As a serious coding beginner (as in; thank god for ai help) it is almost like falling in one of those video holes, where hours of what amounts to wasted time goes by with nothing to show for it but a full bladder and a mess of a file structure that needed some love long ago. 

The point is it just me or are you recompiling all day just to get the bed to set your spawn point as you sleep. Just to then watch the game version update past what you finally got to (sorry, getting off track again). I just wonder since i am new to the mod creation or editing scene, is it always so frustrating?  I hope not.. 

As I pull out what remains of my hair... I find the accomplishments are worth it when the damn thing runs even for a little bit. 

 

An example of what i am working on NOW can be found https://mods.vintagestory.at/show/mod/33101 as it is a draft and the server accepts only like 16 people.. Lots of work ahead and good luck to the rest of you starting like me or the pro. 

Posted

What you're missing is planning. Before you write a single line of code, write down what you're intending to do.

MOD DESCRIPTION: Max. 2 sentences that would capture attention of someone who's scrolling through a list of mods. What does the mod do? What differentiates it from other mods?

MOD MECHANICS: Max. 3 mechanics that the FIRST version of the mod will add. Describe each in detail and how they interact with each other. If the third doesn't interact with first two mechanics, then it should be a separate mod or added later when you've got a better idea of how it could.

MOD SYSTEMS: Describe systems the mechanics are built on. What are their characteristics. This is still MVP, so describe the bare minimum of what's needed to make the mechanics work. You can add to these once you're done with the first iteration.

Then you implement ONLY that, nothing else. If you notice "ohh but it would be cool if..." while writing code, write it down and just do the bare minimum you need to get the systems and mechanics you described. When you're done, test and fix bugs. The only allowance you can give yourself to tack on more code is when you notice "ohh but that won't work", none of "would be nice" yet.

After that's done you'll have a very mediocre mod and that's fine. You've collected a list of ideas on how it can be improved. You now get to choose which idea would improve the mod the most and implement ONLY that, writing down any extra ideas you get along the way. You rinse and repeat, feel free to use GH Issues or Jira to track the ideas, or just a simple txt file.

If any of the ideas are more complicated to implement than what you can hold in your mind at once, then you need to break those down into smaller parts or high-level pseudo code which will give you a sense of how to incrementally implement them.

  • Like 1
  • Thanks 1
Posted

Oh hey this topic has come to life. Last night it was 404ing for me for some reason.

9 hours ago, Mozzie_GWG said:

faced with, oops i forgot this... and then this... next you know your up to version 58439 and don't even know how you got there?

No, never. This seems mostly like normal learning curve pains, but this part right here seems horrifically exacerbated by AI, so a word of warning:

AI can be a useful learning tool. I myself have outside programming experience, but I'm not always familiar with the quirks of C#. And I sure didn't know anything about Cairo, or Harmony, or VintagestoryLib, or the public VS API. So a lot of my time is spent researching and exploring new APIs, not chasing errors or even writing code. And some of that research is asking an AI questions. The last three conversation threads in my AI of choice are:

  • Does CairoSharp expose a wrapper for cairo_set_operator?
  • How do I access internal C# class fields from outside?
  • Does C# let me slap constants in the root of a namespace or does it have to belong to a class?

And in two of those, I know that it gave me blatantly incorrect information based on my knowledge and research and I had to redirect it in order for it to give me useful information, information that I still didn't trust and had to test to verify.

I don't let any AI agents run loose in my codebases due to this. I would highly recommend that you don't, either, lest ye end up with 58439 commits, 3964 errors, and no idea what's going on.

Ask it questions, ask it follow up questions, but make a point, especially while you're learning, of writing every line of code yourself. You will forget semicolons. You will mess up syntax. You will forget other tiny details. Yesterday I forgot to clear my Cairo ImageSurface between frames, leading to some amusing visual glitches. It happens, but it gets rarer and rarer as you the syntax sears itself into your brain.

So a lot of what you're talking about sounds like typical learning curve problems, but also, don't let AI send you on wild goose chases and make a mess of your codebase. And big one: don't be afraid to rewrite code multiple times.

It is common in programming, with or without AI, to spin up quick prototypes that are then entirely discarded. A lot of times you don't know how to architect something well until you've architected it poorly, and boy is AI good at architecting things bad.

And when you're learning, you should be asking a million follow-ups for anything that you don't fully, 100% understand. This helps to learn the tradeoffs and consequences of choices that AI is not thinking about when it's churning out tokens.

 

  • Like 1
  • Thanks 1
Posted
4 minutes ago, Diff said:

this part right here seems horrifically exacerbated by AI

Looking through Mozzie's draft mod, it looks like they're actually using AI for generated storytelling, so it's not clear how much AI is being used in the coding itself.

Wow, @Mozzie_GWG, if you're unfamiliar with coding, this is a hugely ambitious project. It looks like a different game built on top of Vintage Story (not that you'd be the only person to do that in this game or Minecraft). 

It does seem like it would be worthwile to come up with a minimum feature set, get that running, and then build on it. You may already be doing that.

Posted

thank you all for the replies. these are all very helpful thoughts and great encouragement for the project. @Echo Weaver you are right i am building next to or on top of another side project so right now this is all fun and games while the ADHD hold my attention. @Diff it is nice to see that it is early day issues with the learning curve, and the ai is being a teacher not so much as writer. I copy a section and paste it in then the million errors i sit and slowly work out to figure out this language that i don't know. Looks mostly like its a syntax thing. Anyway thank you for the thoughts. @Caellian methodical. That is a solid points you make i should do something better in a planning stage, err have one besides "the next GREAT IDEA!!". So i am looking at a whiteboard now and cause of my era i will use my physical media to help plan this mod crazy thoughts that just pop in to my head. 

 

Back to it... but first play the game for a while

  • Like 1
Posted (edited)
1 hour ago, Echo Weaver said:

Looking through Mozzie's draft mod, it looks like they're actually using AI for generated storytelling, so it's not clear how much AI is being used in the coding itself.

it's not explicitly made clear, but considering they're using AI pretty extensively like. Everywhere. Their avatar, their signature, the entire description of their mod, debugging their other mod, combined with the enormous scope of this mod for a beginner, and especially combined with this sentence:

11 hours ago, Mozzie_GWG said:

As a serious coding beginner (as in; thank god for ai help) it is almost like falling in one of those video holes, where hours of what amounts to wasted time goes by with nothing to show for it

I just kinda assumed it was also being used to write code.

EDIT: Sniped. One comment, Mozzie, I just want to make it clear that "I copy a section and paste it in" is still the AI writing code, even if you have to mop it up after. Are you copy/pasting ChatGPT or using something integrated into your IDE that actually has knowledge of your codebase, because you'll solve a lot of your cleanup headaches by using the latter. Talking to a chatbot through the internet will result in many miscommunications because it can't see what you're looking at. I'd also really recommend actually typing out the entire suggestion the AI makes rather than copy/pasting anything.

Edited by Diff
Posted

Yeah, I agree with what @Diff says here about using AI--be very careful, especially if you're only just starting out in whatever craft you're currently working. That's not to say AI can't be useful sometimes, but it can't actually think for itself and like any computer, spits out whatever was fed into it. If one isn't already familiar with their craft(be it coding, writing, drawing, etc), then it's a lot harder to catch AI errors when they happen.

Honestly, for a project of this scope, I might dial things back a bit and make something smaller while you draft a plan for the larger project. Perhaps just adding a single NPC, or a simple quest, or even just some custom items, is going to be a lot easier to handle than trying to do everything at once. Once you've got some of the basics figured out in smaller projects, then you should be able to take everything you've learned and roll it all into the big project.

As a final note, don't forget that asking for modding help here on the forums or on the VS Discord is always an option! 

  • Like 1
Posted
On 10/15/2025 at 11:38 PM, Mozzie_GWG said:

Lots of work ahead

It's been a few days but this popped back in my head and I had a thought, this sounds more like a modpack, and it might be worth pushing things in that direction rather than a single monolithic mod. Based on your description, there are a lot of small features that don't necessarily integrate directly with each other, or at least integrate at arm's length, like some of the chat commands. It would probably be easier for you and for any AI to focus on just one thing at a time. And if you do, I think you'll find that a small number of your features already exist, like bed spawns, that you could just slurp up into the pack.

One thing that really trips up LLMs is extraneous information in the context window, and a mod that does a million things has a lot of extraneous information in the context of focusing on just one of a million at the moment. For a human, that also means a lot more moving parts to hold in your head and a lot more ways for things interacting to go off the rails. That also gets simplified by having independent mods that only interact over specific communication channels you establish. It also means you can have small, concrete chunks that you can tick off one by one, and after each mod you still have a fully working release and a fully working game that you can fully play as you build.

Hope that helps.

  • Like 1
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.