Hey everyone, I’m finishing up my undergrad and heading into summer, and I’m looking to learn something new with my time (when I’m not at the lab anyway). What better way to learn something new then to help contribute to something I enjoy! So, I love cata, and I was wondering where one could start-and I mean right at the beginning-to help add and modify things.
What language should I learn? What are some good free resources to help the learning process for the language? I understand a lot of the “logic” used in coding (I’m familiar with variables, some arrays, loops), I just need to build up my understanding of the Syntax and all that.
The easiest way to start is by learning to modify the JSON files; it’s incredibly easy to understand. You can comb through the files and fix things like typos and obvious errors (Like Gallon Jugs being worth $2000.).
Afterwards, you can learn to start making mods (JSON editing is limited but still has plenty of options open). If it’s substantial and not totally imbalanced; it may become merged into the main game. And there, you contributed.
I understand it’s like a chicken and egg problem, but the best way to find motivation to learn the skillz is to get your feet wet. Google “language C Kernighan Richie pdf” and armed with that you can always jump into some pull discussions… Don’t have any off hand quickies for C++, but Google is your fiend.
Doing .json stuff alone will require as much effort since you will have to learn the ins and outs of Cataclysm’s “virtual machine”. And sooner or later you’ll be forces to investigate the machine language implementation.
Json and similar externalized files are actually pretty easy to chance. I’m no programmer or coder expert but everything I know I learnt by just changing some of the values. To make new stuff you just need to copy a piece of code and made some changes and stuff like that.
Also, Json is similar to Lua, which is something I was more familiar with in other games so it wasn’t too hard for me. One of the contributors suggested me Notepad++ to open/edit the files, which makes everything sooo much easier.
If you want to jump in and help right away the JSON files are a nice place to help contribute while you are still learning more about how to code other things.
That said for the programming things if you have no experience already then I highly suggest learning an easier language first, then moving to learn C/C++. 90% of learning how to code comes down to learning how to think, regardless of language, so once you’ve learned that from one language learning a new language is largely just a matter of learning the new syntax (something the online docs files are very good at). My personal suggestion goes to Learn python the hard way and then maybe followed by learn C the hard way, both of which can be viewed for free online or purchased to include the videos for about $30 each.
Once you’ve got python down and maybe have read the first bit of the C book, I highly suggest jumping in on github. There’s often someone in the IRC channel who can help get you setup on that front, and then it’s just a matter of finding something you want to add and making a PR (or looking at how other people do things and trying to figure out how they did them).
(Most of this I’ve already said in your PM, but I figured I’d post it here for other people too ).
If you are on windows I highly suggest getting Notepad++. Mac OS X doesn’t have quite a nice editor, and for now Text wrangler is probably your best bet; though I currently have high hopes for the new text editor made by github, Atom, which looks like it’s got a nice shot at becoming similar to Notepad++ while being Mac compatible.
I am also quite eager to contribute to this game, but not with code. I used to be meh at C++, enough to help with the original Cataclysm at Whalesdev, but i’m sure that i’m good at pixel art since i’ve made many mods for 8-bit games.
How can I contribute to the tileset? There are a whole lot of pink ‘no’ signs that I would love to fill in!
Get in touch with the people who are making the tile sets and off your help, or find one that the original creature doesn’t want to work on anymore and ask if you can takeover it. The C:DDA dev team doesn’t really do anything involving tile sets, we simply provide the backend support and then pick what we think are the top few tile sets at the time of the stable release to include in the package. It’s up to the tile set creators themselves to make all the desired tiles and release them over on the labs forum.