Author Topic: My modules become a mess... any tips?  (Read 943 times)

Legacy_Zeke

  • Jr. Member
  • **
  • Posts: 86
  • Karma: +0/-0
My modules become a mess... any tips?
« on: May 08, 2016, 04:04:40 pm »


               While I am making a module, I am always reaching a state where it slowly becomes a mess.


Can you people here share some advise on how do you name or as a whole plan the variables that check the states of different stuff in your module, like plot progression, npc/henchman relationship or other objects?


Do you use programs like Word/Excel to take notes of the variables that you are using?


For example let's have a simple quest to rescue a princess and the var PrincessSaved = 0, if she is saved, the var becomes 1, but what if we have to register an outcome in which the princess dies? Then we make PrincessSaved = 2, or we create another var isPrincessDead = 1?


Or concerning henchmen relationships, how do you keep track of them?


Any knowledge sharing or module names where one could look for ideas will be greatly appreciated!
               
               

               
            

Legacy_Tchos

  • Sr. Member
  • ****
  • Posts: 454
  • Karma: +0/-0
My modules become a mess... any tips?
« Reply #1 on: May 08, 2016, 08:06:25 pm »


               


Do you use programs like Word/Excel to take notes of the variables that you are using?


For example let's have a simple quest to rescue a princess and the var PrincessSaved = 0, if she is saved, the var becomes 1, but what if we have to register an outcome in which the princess dies? Then we make PrincessSaved = 2, or we create another var isPrincessDead = 1?




 


Use the journal.  Events such as hearing about a princess that needs to be saved, saving the princess, or finding the princess dead are all significant events that should be recorded in the journal anyway, in which case you will have a variable right there that tells you whether the princess has or hasn't been saved or if she's dead.  And you have a journal editor with all of the variables already organised with descriptions telling you what they mean, so no need for Word/Excel.


 


I use quest stage 0 to mean you haven't even heard of the quest, stage 10 to mean you've heard and accepted it, stage 100 to mean you completed it successfully (stages between 10 and 100 are for new information and developments during the quest), and any stages after 100 are failure variations such as the princess dying.


 


Counting by 10s is a way to leave room for additional developments that you hadn't planned for.



               
               

               
            

Legacy_KMdS!

  • Sr. Member
  • ****
  • Posts: 364
  • Karma: +0/-0
My modules become a mess... any tips?
« Reply #2 on: May 08, 2016, 09:37:54 pm »


               

Tchos, How about using bit based? 011001 as an example for 25? You can check for using bitwise. 1,2,4,8,16,32,64,etc...



               
               

               
            

Legacy_Tchos

  • Sr. Member
  • ****
  • Posts: 454
  • Karma: +0/-0
My modules become a mess... any tips?
« Reply #3 on: May 08, 2016, 10:07:01 pm »


               

Yes, bitwise checks are another popular method, mainly because you can combine multiple conditions in one number by adding them up, but I personally find them harder to read and work with.  I find it easier just to make journal entries that cover every possible combination of factors in a quest, because even though it requires more journal entries, it's easier to refer to them and see exactly what they mean in the journal editor.  Of course I would recommend using whichever you find more effective or convenient.



               
               

               
            

Baaleos

  • Administrator
  • Hero Member
  • *****
  • Posts: 1916
  • Karma: +0/-0
My modules become a mess... any tips?
« Reply #4 on: May 09, 2016, 05:31:32 pm »


               

Might sound overkill, but if you are having trouble keeping track of story plots etc


I use Notepad++ to write the story / plan for a quest , system etc


 


Its a practice I started doing, mirroring what we do in work. (Product Development for a Software firm)


Its a somewhat loose adaptation of Agile.


 


 


BA (Business Analysts)


Developers


QA (Quality Analysts) 


 


We all get together, discuss upcoming features, and write down 'stories' for the features.


 


Eg:


A BA may have given us a broad topic/feature such as.


 


As a Customer


I should be able to get my Login Credentials when forgotten


So I can continue to use the awesome web site.


 


 


Putting this in context for a creative story.


 


 



As a player


When I beat the boss of level 5


My character will be granted the ability to teleport to his stronghold.



 


So this is a broad topic: What our player (customer) is going to want to achieve.


 


 


You might think that this has no value what so ever, but believe it or not, sometimes these generic phrases when looked back on, can help you identify when you have gone off on a tangent and your plan has gone off course. So they serve a function to keep you on the right track.


 


So As a builder/scripter you could then break this down into other tasks


 


 



  As a builder


      * Must create Level 5


         Use Dungeon Tileset


         Enemy group will be Wolfmen


       * Must Create Boss


         Will be named 'Garog the Blind'


         Will have claw weapons that deal high damage proportional to his own health levels (Scripting task)


         On Death - Set variable 'PC_KILLED_LVL_5_BOSS' = 1


 


   As a scripter


       * Must create script for claw weapons: Deal 2d12 Damage + 5% Missing health; (Attacks grow stronger closer to death)


         Attach to claw weapons


       * Create Death Script for Boss  : PC_KILLED_LVL_5_BOSS = 1

       * Prevent Player from re-doing the quest, by checking for the PC_KILLED_LVL_5_BOSS variable.


       * Develop the teleport power - See task TELEPORT_01 (Might need a task of its own)

       * Award the player teleport power (TELEPORT_01)


                  



 


 


I once worked in a project management tool called redmine - which looked very promising for managing a PWServer.


You could create your project, list all the subtasks for the project, assign them to other users/people in your staff/project.


You could then check each item off on the list.


Project management tools such as redmine, Jira and maybe even mantis etc : They will also allow you to move these tasks into various states.


Such as peer review, rejected, in-progress etc.


 


 


As far as the variable tracking goes - I recommend keeping it stored somewhere in relation to your project -> quest -> feature layout.


That way you can find all variables related to a specific questline, or even search for the variable, to find out what function it serves.


 


So using the above structure -


the Builder will not have finished his job until his 2 tasks are complete - using the specifications provided.


the Scripter will not have finished his job until his 5 tasks are complete - using the specifications provided. (he might need to wait for the builder to make the claw weapons though)


The feature/deliverable wont be finished, until everyone has completed their tasks.


               
               

               
            

Legacy_KMdS!

  • Sr. Member
  • ****
  • Posts: 364
  • Karma: +0/-0
My modules become a mess... any tips?
« Reply #5 on: May 09, 2016, 11:55:20 pm »


               

just a quick two cents worth fro me.....I have a nss file inside the module labeled _a_1_thingstodo and a second _a_1_dev_notes and a third _a_1_misc...in them I note all I do. I use textpad with nwsyntax set up to open the files from within the module folder when I am working on the module. This way anyone working on the mdule has access to all notes.


 


I also have SVN/Tortoise set up on my machine



               
               

               
            

Legacy_Zeke

  • Jr. Member
  • **
  • Posts: 86
  • Karma: +0/-0
My modules become a mess... any tips?
« Reply #6 on: May 10, 2016, 03:30:45 pm »


               

Thank you for all the suggestions!


 


Baaleos, that is pretty descriptive advice. I really appreciate it. Making everything that should be created as a list, makes everything so much more organized.


 


 




As far as the variable tracking goes - I recommend keeping it stored somewhere in relation to your project -> quest -> feature layout.


That way you can find all variables related to a specific questline, or even search for the variable, to find out what function it serves.




 


I can't quite understand what you mean by project-> quest -> feature layout. Can you explain, thank you!


 


It never occurred to me that I can name variables by incrementing by 10. This will remove a lot of my headaches. Awesome!


 


I have been thinking of using Trello for organizing. Has anyone used it?



               
               

               
            

Baaleos

  • Administrator
  • Hero Member
  • *****
  • Posts: 1916
  • Karma: +0/-0
My modules become a mess... any tips?
« Reply #7 on: May 10, 2016, 08:34:54 pm »


               


Thank you for all the suggestions!


 


Baaleos, that is pretty descriptive advice. I really appreciate it. Making everything that should be created as a list, makes everything so much more organized.


 


 


 


I can't quite understand what you mean by project-> quest -> feature layout. Can you explain, thank you!


 


It never occurred to me that I can name variables by incrementing by 10. This will remove a lot of my headaches. Awesome!


 


I have been thinking of using Trello for organizing. Has anyone used it?




 


The reason I said Project -> Quest -> Feature - is because the process can be used for more than just quest or story writing.


 


Eg: Making a Subrace engine (A Project / Feature in itself)


or an Epic all encompassing quest line (The scope of a project, for a quest)


 


I've used trello - we actually use it at work for tracking personal development / objectives in line with career progression.


 


TBH - Something like Mediawiki can also be very good for project management.


It makes creating pages and writing very easy.