Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Assisting with development  (Read 1595 times)

etherict

  • Escaped Lunatic
    • View Profile
Assisting with development
« on: July 11, 2012, 12:49:01 pm »

I'd like to assist with development on LCS. Is there any sort of tracker on what feature is slated to be developed/bug to be fixed next? If not, is there anywhere this knowledge might be compiled?

I also wouldn't mind some tips from anyone who's worked with the code base on familiarizing myself. I'm just now really getting a good start with C++, and this is also the first project I'd be jumping into from a programming standpoint that's already got a large code base, it's a little overwhelming, but just enough to make me that much more driven to work on it.

Also, any irc/other areas where people collaborate on LCS would be awesome.

To summarize: I want to get involved in both the LCS development community, and the LCS community in general, where should I start?

Thanks
Logged

Supercharazad

  • Bay Watcher
    • View Profile
Re: Assisting with development
« Reply #1 on: July 11, 2012, 02:46:18 pm »

I'd say start with Fox.
Logged

BoxOfAids

  • Bay Watcher
    • View Profile
Re: Assisting with development
« Reply #2 on: July 11, 2012, 07:12:48 pm »

Jon Fox is the only one who really maintains and updates the code, but feel free to mod it to your heart's content. If I recall, he's going to be adding (or has added) things to the base game that people have released in mods. But really you should contact him and see what's going on and how to help.

I really need to learn some C++ myself.
Logged

etherict

  • Escaped Lunatic
    • View Profile
Re: Assisting with development
« Reply #3 on: July 12, 2012, 11:32:45 am »

Thanks for the information. I've PM'd him, while I'm waiting, I'll familiarize myself with the code as much as possible.

Thanks.
Logged

Jonathan S. Fox

  • Bay Watcher
    • View Profile
    • http://www.jonathansfox.com/
Re: Assisting with development
« Reply #4 on: July 12, 2012, 07:13:50 pm »

I got your PM, but might as well reply in this thread. :)

Pretty much how LCS development works is that changes are made when people feel like making changes, then the nature of the changes is whatever the people making the changes wants it to be. This may include fixing bugs, adding neat features, balancing gameplay, fixing spelling errors, whatever.

If you have enough programming experience to have at least a vague idea of what you're doing and won't break things, I'm pretty lax about giving helpful people rights to commit changes to the SVN trunk. If you want to work on something big or controversial (completely rewrite a system, add potentially offensive content, or something else like that) then you might ask for opinions in this forum first, or work on it as a mod and release the modded version. For smaller things, I would go with the Wikipedia methodology and be bold, since you can't break anything permanently even if you do have SVN commit access.

There isn't a proper to-do list, but if you're interested in ideas, there's this document:

LCS Crazy Ideas List

My best suggestion for trying to navigate the code for the game is to not try to understand everything at once. Liberal Crime Squad has a chaotic, spaghetti code architecture that doesn't even come close to following best practices. Instead, decide on what you want to learn. Want to know how an attack is resolved? What makes something hit or miss? Focus on that and just search for that answer. Look in fight.cpp and find where it's rolling attacks... search the code for things that show up on screen, since all that text will show up in the code as well. Using this system, you can build familiarity with the features you're interested in. This works even better if there's something you want to *change*, since then you can try changing the code you're focusing on and recompile to see if it did what you thought it did. Like learning the laws of physics, running experiments and verifying your theories will quickly allow you to build an understanding of how the game was written. Eventually you will have successfully made the change you wanted to do, or successfully added the feature you want, and can go off to work on another area of the game, if it pleases you.

Another alternative, though not what I suggest, is to do what I did when I was learning the game's code. When I first downloaded the code, I was mostly just curious how it worked. I spent an entire day just reading the entire code front to back like a book before editing anything. Every time I got to something, my goal was to figure out what it meant, and what that corresponded to in the game. Only after I finished this process did I decide to go back and make a few changes I'd wished for when playing. This approach gave me a good background for later going on to maintain all aspects of the game, since it ensured I had few blind spots where I had no idea how the game did a certain thing. Still, this approach seems like overkill in hindsight.
Logged

Yag Alone

  • Bay Watcher
  • Grumpy old fart
    • View Profile
Re: Assisting with development
« Reply #5 on: July 14, 2012, 04:58:39 pm »

Liberal Crime Squad has a chaotic, spaghetti code architecture that doesn't even come close to following best practices.
*looks at the 1165 compilation warnings*
You don't say... :)
Logged

Vherid

  • Bay Watcher
  • [CREATURE:SLARK]
    • View Profile
Re: Assisting with development
« Reply #6 on: July 15, 2012, 05:40:33 pm »

Wow that idea list, is insane.

SealyStar

  • Bay Watcher
  • Gargoyles! Psychics!
    • View Profile
Re: Assisting with development
« Reply #7 on: July 15, 2012, 06:57:36 pm »

Muchas gracias for that list, Fox. I'm editing my heart out with every batshit LCS idea that ever crossed my mind :P
Logged
I assume it was about cod tendies and an austerity-caused crunch in the supply of good boy points.

agvokure448888

  • Escaped Lunatic
    • View Profile
Re: Assisting with development
« Reply #8 on: July 18, 2012, 06:20:40 am »

 but feel free to mod it to your heart's content. If I recall, he's going to be adding (or has added) things to the base game that people have released in mods.
Logged

Reelya

  • Bay Watcher
    • View Profile
Re: Assisting with development
« Reply #9 on: July 20, 2012, 11:13:41 pm »

Hi, I'd like to get back into this too, but I'd like to convert quite a bit of the thing into "soft-coded" lists of actions, basically, make a lot of the hard-coded stuff into a scripting language.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Assisting with development
« Reply #10 on: July 21, 2012, 04:18:47 am »

You mean basically like DF's raws?

MrWiggles

  • Bay Watcher
  • Doubt Everything
    • View Profile
Re: Assisting with development
« Reply #11 on: July 21, 2012, 04:43:34 am »

The raws aren't really a scripting language.
Logged
Doesn't like running from bears = clearly isn't an Eastern European
I'm Making a Mush! Navitas: City Limits ~ Inspired by Dresden Files and SCP.
http://www.bay12forums.com/smf/index.php?topic=113699.msg3470055#msg3470055
http://www.tf2items.com/id/MisterWigggles666#