Developing a Contributor Skillset
Moderators: Active DMs, Forum Moderators
-
- Posts: 550
- Joined: Wed Dec 02, 2020 1:50 am
Developing a Contributor Skillset
Inspired by Kenji's comment here.
I'm an app developer as my day job, and I'm sure I'm not the only one who has a coding background on this server who could turn over some free time to help keep the technical aspects of the server going and growing. This said, I (and I'm sure many others) have never touched the technical aspects of NWN before. Does anyone have any advice for building up Arelith-specific contributor-specific skills before applying to be a contributor?
I'm an app developer as my day job, and I'm sure I'm not the only one who has a coding background on this server who could turn over some free time to help keep the technical aspects of the server going and growing. This said, I (and I'm sure many others) have never touched the technical aspects of NWN before. Does anyone have any advice for building up Arelith-specific contributor-specific skills before applying to be a contributor?
Rolled: Solveigh Arnimayne, "Anna Locksley"
Shelved: Ninim Elario, Maethiel Tyireale'ala
Current: Ynge Redbeard, ???
-
- Contributor
- Posts: 1074
- Joined: Tue Nov 19, 2019 7:10 am
Re: Developing a Contributor Skillset
Learn C++ or NWScript basics. Understand how GitHub works. Be able to be decent with documentation. All else can be learned.
Re: Developing a Contributor Skillset
https://discord.gg/hmuEkNxYqw nwnx discord
https://discord.com/invite/pWVqMRX vault discord also a place to talk about dev
https://github.com/Daztek/NWNX-WSL I understand you essentially have to setup Linux to run your own server... And I assume test code? Either way, wsl1 or wsl2 are both easy to setup... I wouldn't mess with docker to start with... And I don't know if that's how arelith does it
https://nwnlexicon.com/index.php?title= ... The_Basics I posted in the other thread, the lexicon itself just has lots of info besides that tutorial
I've only dipped my toe in this stuff, so I'm sure there's more and better links, but these are what I've gotten started with
https://discord.com/invite/pWVqMRX vault discord also a place to talk about dev
https://github.com/Daztek/NWNX-WSL I understand you essentially have to setup Linux to run your own server... And I assume test code? Either way, wsl1 or wsl2 are both easy to setup... I wouldn't mess with docker to start with... And I don't know if that's how arelith does it
https://nwnlexicon.com/index.php?title= ... The_Basics I posted in the other thread, the lexicon itself just has lots of info besides that tutorial
I've only dipped my toe in this stuff, so I'm sure there's more and better links, but these are what I've gotten started with
Who is the audience for this post?
-
- General Admin
- Posts: 1469
- Joined: Thu Sep 28, 2017 10:34 am
- Location: Concourse Capaneus
- Contact:
Re: Developing a Contributor Skillset
NWScript is very similar to C in many ways.
To get started, I'd recommend having a look at base game scripts (bioware_nss.7z), as well as the NWN Lexicon, which is an amazing resource to read up on engine functions and the like. Arelith is also using NWNX a lot since it allows us to bypass various engine limitations.
To get started, I'd recommend having a look at base game scripts (bioware_nss.7z), as well as the NWN Lexicon, which is an amazing resource to read up on engine functions and the like. Arelith is also using NWNX a lot since it allows us to bypass various engine limitations.
-
- Posts: 1521
- Joined: Tue Jun 26, 2018 4:20 am
Re: Developing a Contributor Skillset
NWN Lexicon tutorials.
You've done it [Garrbear], you've kicked the winemom nest. -Redacted
-
- Arelith Platinum Supporter
- Posts: 1496
- Joined: Mon May 14, 2018 9:14 am
- Location: Mechanics Dungeon
Re: Developing a Contributor Skillset
The other developers brought up excellent materials and programs to prepare one for becoming a code contributor for Arelith.
I'm going to piggyback on the above links/posts/programs and make a list for anyone interested in developing the skill set to become a code contributor for Arelith:
To some, contributing codes will come very naturally, and they (Kalopsia, Sincra, and Hoodoo come to mind) will fly right off the wheels and do wonders for our server right away. Many will struggle for months before making the first commit and changes to master that are announcement-worthy. That was me, and it took me about six months' worth of time just learning some of the above to begin even doing a fraction of what Kalopsia, Sincra, ActionReplay, Garrbear, and numerous other developers have done.
One thing I wish I did was to ask as many questions as possible for every step. Trying to figure everything out by yourself will be time-intensive and isolating. The team has always been very friendly and helpful every step of the way.
I'm going to piggyback on the above links/posts/programs and make a list for anyone interested in developing the skill set to become a code contributor for Arelith:
- Using GitHub, how does it function in a team contribution setting? Learn the basics of making a new branch from master, pulling, committing, pushing, and creating a pull request.
- Learning to apply the same logic and process used in almost every programming language. Then learn the syntax specific for NWScript, which is very similar to, if not based on, C++.
- Using a very user-friendly development environment. I use Sublime and GitHub desktop personally, but others have succeeded with NotePad++ or other dev environments.
- Setup AreDev. It is an emulator-like testing environment on the contributor's end to help test changes to scripts with live compiling. AreDev speeds up the development and testing process by a thousand-fold (I'm not kidding, Silvard pioneered this and later on improved by Hoodoo. Very revolutionary)
- Understanding what our haks are made of. What editing the .2da files and .json files would change to the module.
- Using NWToolset, knowing what kind of files we deal with, be it item files (.uti), creature files (.cre), etc., and knowing the individual tools that can be found on the NWVault that deal with these.
To some, contributing codes will come very naturally, and they (Kalopsia, Sincra, and Hoodoo come to mind) will fly right off the wheels and do wonders for our server right away. Many will struggle for months before making the first commit and changes to master that are announcement-worthy. That was me, and it took me about six months' worth of time just learning some of the above to begin even doing a fraction of what Kalopsia, Sincra, ActionReplay, Garrbear, and numerous other developers have done.
One thing I wish I did was to ask as many questions as possible for every step. Trying to figure everything out by yourself will be time-intensive and isolating. The team has always been very friendly and helpful every step of the way.
Re: Developing a Contributor Skillset
My first time coding in NWN was simple: I made a silly NPC say a silly line every time you clicked on them. Over time, as I learned how things worked, I made my silly NPC teleport to any dropped items, cast a spell on them to destroy them, say one of the aforementioned silly lines, then teleport back to her starting postiion. When you don't have any context it can be overwhelming to think about things like version control, server hosting, and NWNX. Start with booting up the toolset, making an empty module, adding an area, then learning the very basics of nwscript by making your very own silly NPC. The advanced stuff can come later.