NS2 Immersion Mod - Development Thread

IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
Hello! I am building a mod for ns2. I call it Immersion. The goal of the mod is to add features that enhance the player's suspension of disbelief. I'm new to programming and modding so I'll need a bunch of help from the more experienced modders. I also hope to create some documentation for ns2 modding along the way.

I'll be asking questions in this thread about the various problems I'm trying to solve and I hope to get pointers on where to go to solve those problems.

The first feature I'm trying to implement is a finite resource pool. Firstly I'm working on the function; a finite amount of res hard coded into a global variable.
The problems with this is: I need this to run server side but I will be needing to send the value of res remaining to the clients connected. I haven't a clue where to start there.
The other problem is: Where do I put the variable? I'm looking in the code and will probably find it but tips would speed this up considerably.

Thanks for reading! Prethanks for the advice!

Comments

  • SantaClawsSantaClaws Denmark Join Date: 2012-07-31 Member: 154491Members, Reinforced - Shadow
    I've always been in favour of the finite resource pool - it helps against the turtle stale-mates.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    Anyone? I'm a bit stuck here.
  • McGlaspieMcGlaspie www.team156.com Join Date: 2010-07-26 Member: 73044Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Squad Five Gold, Reinforced - Onos, WC 2013 - Gold, Subnautica Playtester
    Just going off memory...take a look at ResourceTower.lua, ResourcePoint.lua, and PlayingTeam.lua
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    edited July 2014
    If you look at one of the older builds in your steam\steamapps\Natural Selection 2\builds folder you will see that there was some code for this put in place but never used. Pick up the oldest build in the folder. Open the NS2 project in decoda and do a find in files search for res. I can't remember the variable name the used for res limit. The Res for Kill code is also in the oldest builds.
  • killer monkeykiller monkey Join Date: 2010-02-26 Member: 70743Members, Reinforced - Shadow
    Are your skills limited to coding or can you do art as well?
  • cooliticcoolitic Right behind you Join Date: 2013-04-02 Member: 184609Members
    Limited resource pools would be more viable if we had more resource nodes and bigger maps, otherwise it only serves as a hard limit to shorten games (which isn't necessarily a good thing). If you do add limited resource pool, new resource management methods may conflict with the max tres of 200.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    Update: So after I became enraged that NS2 does not have single player capability when not connected to the internet (always online DRM), I took a bit of a hiatus to cool down. While that still annoys me greatly, I'm going to look past it and get back to working on this mod. I will be posting weekly updates of my progress every sunday. I've vastly improved my learning capabilities since then anyway so who knows, maybe this will go much smoother.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    I Identified a number of information resources for learning modding ns2 and have been figuring through various design ideas. No playable demo yet.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    Update: I'm building a sort of a nicer documentation to help myself and others learn to mod NS2. I'm still simply identifying and sorting the various elements of the game, I'd say I'm about 10% through that, after another week I should have all the identification complete and be able to begin really exploring each of the elements and explaining them.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    Research on the documentation is going smoothly, and I'm just about ready to start moving into steady development of the mod.
  • meatmachinemeatmachine South England Join Date: 2013-01-06 Member: 177858Members, NS2 Playtester, NS2 Map Tester, Reinforced - Shadow, WC 2013 - Supporter
    Finite resource pool sounds pretty sweet. I like the idea, and I think if implemented properly could be an asset.

    This documentation though, yeeeeaaahhh <3 If only we had some of that, errr, dawkymentashun back a few years ago when the mod hype was real D:
  • Kouji_SanKouji_San Sr. Hινε Uρкεερεг - EUPT Deputy The Netherlands Join Date: 2003-05-13 Member: 16271Members, NS2 Playtester, Squad Five Blue
    edited April 2015
    I vaguely recall this being tested in a build once as a prototype, build 180-ish? Maybe there is some residual code lurking around the builds near 180?
  • corundcorund Siberia Join Date: 2015-04-13 Member: 203372Members
    Ironsoul wrote: »
    Update: I'm building a sort of a nicer documentation to help myself and others learn to mod NS2. I'm still simply identifying and sorting the various elements of the game, I'd say I'm about 10% through that, after another week I should have all the identification complete and be able to begin really exploring each of the elements and explaining them.

    Please share your documentation.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    oh hey, no, I've become enraged with ns2 again and refuse to continue work on the mod or the documentation project.

    Just kidding, I've recombobulated my system of note taking/documentation building so everything is a massive mess right now, but uh, if you're willing to put up with a pre pre pre alpha quality product I can put a link up in this thread, you'll have to promise to provide me with weekly feedback though, otherwise there's no real benefit of it being public at this time.

  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    Kouji_San wrote: »
    I vaguely recall this being tested in a build once as a prototype, build 180-ish? Maybe there is some residual code lurking around the builds near 180?

    Yeah I think there's even residual code in the current code, I remember seeing it when poking around.
  • corundcorund Siberia Join Date: 2015-04-13 Member: 203372Members
    edited May 2015
    Ironsoul wrote: »
    I can put a link up in this thread, you'll have to promise to provide me with weekly feedback though, otherwise there's no real benefit of it being public at this time.
    I will provide some feedback for your documentation on NS2 scripting.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    Here is the link to the documentation, I will be gradually improving it every week:https://trello.com/b/bvEBmIo7/notes-ns2-modding

    The feedback I'm looking for is rather simple but vital to the quality of the information:
    - requests for what to focus on first.
    - comments and tips on stuff I could add to a note/card
    - let me know if some information is missing or out of date.

    I think that's about it, but it would help me greatly in figuring out where to put my effort. Later on I will add labels to all of those cards identifying what sort of thing they are. Right now though it's only the identified labels associated with elements of ns2. Stay tuned.
  • corundcorund Siberia Join Date: 2015-04-13 Member: 203372Members
    Well, it could be a collection of tutorials on listed topics. You could start with anything you understand and describe it in great details.
    As for me the most useful thing right now will be some sort of diagram to show connections between different components. And probably any simple working mod with comments.
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    edited May 2015
    what do you mean by component?

    also the purpose of the documentation is not tutorials, it's designed to let you explore the engine without running into roadblocks. for example, if you encounter something you haven't encountered before, you should be able to look it up in the documentation and go "oh, that's what that is", instead of what will otherwise happen where there'll be no explanation anywhere.
  • corundcorund Siberia Join Date: 2015-04-13 Member: 203372Members
    Ironsoul wrote: »
    also the purpose of the documentation is not tutorials, it's designed to let you explore the engine without running into roadblocks. for example, if you encounter something you haven't encountered before, you should be able to look it up in the documentation and go "oh, that's what that is", instead of what will otherwise happen where there'll be no explanation anywhere.

    Ok, i didn't understand your purpose. We can discuss documentation and use unity3d as an example as it has very good documentation from my point of view. It consists of three parts:
    1. detailed description of each function, class, object http://docs.unity3d.com/ScriptReference/index.html
    2. Unity manual with high level explanation how engine works http://docs.unity3d.com/Manual/ScriptingSection.html
    3. Tutorials http://unity3d.com/learn/tutorials/modules

    I see now that you are targeting in between 1 and 2 from the list above. NS2 has absolutely no documentation, so please keep working, any piece of information will help :)
    Ironsoul wrote: »
    what do you mean by component?

    I was talking about Entity Component System but it looks like Spark engine does not use this system.
  • TooMuchFunTooMuchFun NunyaBiznizz Join Date: 2014-04-28 Member: 195653Members
    edited June 2015
    [edit] Check my next comment two posts down. Due apologies therein.

    Man, what a troll. I read through most of this thread. You don't know how to code/program, and you want to make a full on "immersion mod". You keep claiming you're making all kinds of progress but have yet to provide any sort of proof or better yet help others.

    Sorry I just find this kind of thing pretty funny and at the same time annoying. I wouldn't pay any attention to this thread until some proof of concept or w/e is posted.

    There's tons of people all over the globe who think it would be cool and fun to make something as cool as a game. There's plenty of threads on message boards everywhere with people who have "ideas" and "designs" for games or mod or w/e and offering to "hire" people for it with promises of future returns from the project.

    They're a dime a dozen and if 1 out of 100 people actually succeed with those goals I would be surprised. Software development of any sort (modding, making games, etc.) is *not* easy, simple, or quick.

    Saying you want to make a game with no passion, knowledge, training, or skill for the craft is like saying "I'm going to become a rich & famous Rock Star!" Without any knowledge, training, passion, or skill in it.

    -.-
  • YojimboYojimbo England Join Date: 2009-03-19 Member: 66806Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    TooMuchFun wrote: »
    Man, what a troll. I read through most of this thread. You don't know how to code/program, and you want to make a full on "immersion mod". You keep claiming you're making all kinds of progress but have yet to provide any sort of proof or better yet help others.

    Sorry I just find this kind of thing pretty funny and at the same time annoying. I wouldn't pay any attention to this thread until some proof of concept or w/e is posted.

    There's tons of people all over the globe who think it would be cool and fun to make something as cool as a game. There's plenty of threads on message boards everywhere with people who have "ideas" and "designs" for games or mod or w/e and offering to "hire" people for it with promises of future returns from the project.

    They're a dime a dozen and if 1 out of 100 people actually succeed with those goals I would be surprised. Software development of any sort (modding, making games, etc.) is *not* easy, simple, or quick.

    Saying you want to make a game with no passion, knowledge, training, or skill for the craft is like saying "I'm going to become a rich & famous Rock Star!" Without any knowledge, training, passion, or skill in it.

    -.-

    Give him a chance for heavens sake its no skin off your nose if he succeeds or fails, atleast he's making an effort even if he doesn't managed to release an alpha and fails miserably hopefully he'll acquire some understanding of NS2's code which he can put towards another project.

    Jeez squash peoples hopes and aspirations will ya.
  • TooMuchFunTooMuchFun NunyaBiznizz Join Date: 2014-04-28 Member: 195653Members
    edited June 2015
    My apologies to IronSoul (and the rest of you). I only read the top of the thread... never saw any actual proof-of-progress in his project until just now when I saw the Trello board link. Sometimes I get really cynical when I see threads like this... ie. bad grammar, lofty goals, and little to show and mistakenly assume the person is some kind of troll.

    Dear god my comment sounded **just** like some software devs I once talked to on message boards or help sites who I really don't like. *shudders* I don't ever want to be that kind of person. Those people were egotistical, arrogant, better-than-you-attitude types who doubted anyone who didn't already have skills would ultimately fail.

    I was one of those people, the kind with no skills. I eventually took some high school courses, and through years of honing my craft I can "do stuff" with coding. lol

    {EDIT} One more thing to add, in high school my math teacher said I would never become a programmer or make games because I couldn't do the math. It was pretty devastating to a kid with aspirations as a game dev. This teacher also taught programming courses, eventually I took two classes from him. Wrote some damn elegant code that semester xD
  • IronsoulIronsoul Join Date: 2011-03-12 Member: 86048Members
    This has been a productive conversation. Thanks.

    The trouble with progressing NS2 modding is a bunch of things, and there's some truth in your complaints. It's better for me to show progress than to talk about progress I intend to make.

    My plan, is to build an NS2 modification manual. But it is true, I lack the experience and skill with programming to do any damage here (being NS2 modding). I am doing something about that and hopefully can start cracking this problem soon, but there's simply no telling how long things will take. If there's an experienced NS2 modder who is interested in working with me to create a modding manual, post in this thread or send me a PM. My programming skills may not be up to the task, but I'm not completely terrible at technical writing and documentation (considering I've spent the better part of the last 6 months doing just that, technical writing).
Sign In or Register to comment.