I thought this would be a fun thread for people to kill time and up post count swag on.
Backstory: since returning from work-cation I decided to rebuild a system ground up.
For those who have gone through the arduous task (sometimes multiple times) of building from scratch or even just doing clean ups and revamps, what are the biggest pitfalls or pieces of advice you can give? How do you like organizing your system?
Also, in regards to autocuring what sort of priorities do you use for neutral and vs class specific setups?
And so on and so on.
For those who are or are interested in building a system or reworking your existing one, what questions are useful to you?
0
Comments
edit: Categorize your stuff early on if that's what you'll want to do later. It's a pain to sort everything once it's all set up.
"On the battlefield I am a god. I love war. The steel, the smell, the corpses. I wish there were more. On the first day I drove the Northmen back alone at the ford. Alone! On the second I carried the bridge! Me! Yesterday I climbed the Heroes! I love war! I… I wish it wasn’t over."
Edit: and it's too late for me on the don't listen to iniar. When I started imp I stole all the guts out of the Super old eden file on zedbites and ported it to my client. Every once in awhile I'll dig through it and find weird **** of his lol
Event driven logic is the big thing that springs to mind that I've found works best over the years.
Given how many different things need to react to the same game events usually, it massively cleans/modularises things up.
If you think you'll have to do something more than once, use a function/alias/etc to do it.
This is important because when you want to change how you do that thing, you'll only have to change it in one place. This becomes important when you have, say, 30 different attack aliases that all check your wielded weapon and you want to change how you do that. If you check in a function, you change the function once and you're done. However, if you just copy/pasted that code into 30 different attack aliases, you have to go change each alias separately, and that is awful.
"On the battlefield I am a god. I love war. The steel, the smell, the corpses. I wish there were more. On the first day I drove the Northmen back alone at the ford. Alone! On the second I carried the bridge! Me! Yesterday I climbed the Heroes! I love war! I… I wish it wasn’t over."
Basically you register objects to a central manager then when you fire an event those that have registered to said manager get notified of the event firing (along with any associated information). Then each thing that registered gets to choose how to handle the event on a case by case basis. I.E. in my case I register a lot to the aff received/lost events, because a lot of different things need to know when that happens (priority switching, enable/disable clotting, warnings, etc).
Basically, it let's you decouple a lot of things so they can just do their own thing rather than mixing in a bunch of calls into various subsystems whenever something happens.