How to start contributing to STK ?

How to start contributing to STK ?

Postby shantanusingh » 07 Sep 2014, 11:15

Hello everyone ,
I am new to OSS community and STK as well . I've played STK and I want to improve it . I've already compiled it on my laptop by following the instructions given, I am having problem in understanding the working of the whole project . I don't know how to get started with it . Please tell me how to proceed with this .
Thank You .
shantanusingh
 
Posts: 7
Joined: 02 Sep 2014, 18:02

Re: How to start contributing to STK ?

Postby samuncle » 07 Sep 2014, 12:28

Hello and welcome here :)

Starting by building stk is a very good start :).

It depends on where you want to help us. Basically there is:

Programming
1) UI (user interface)
2) Physics (gameplay, how karts behave)
3) Graphics (the 3D engine)
4) Online (the addons management, etc)

Art
1) Textures (painting and making 2D textures)
2) Making 3D objects
3) Making tracks and arena
4) Sound & music (making the soundtrack, and sound effects in tracks)

Miscellaneous
1) Translation
2) Tools (python scripting)
3) Documentation
4) Promotion (making a trailer, a poster, etc for the next release)
Image
User avatar
samuncle
STK Moderator
 
Posts: 752
Joined: 16 Mar 2010, 21:28

Re: How to start contributing to STK ?

Postby shantanusingh » 07 Sep 2014, 13:30

Hi samuncle , I am interested in Programming part . More specifically user interface , physics and graphics .
shantanusingh
 
Posts: 7
Joined: 02 Sep 2014, 18:02

Re: How to start contributing to STK ?

Postby konstin » 07 Sep 2014, 14:28

If you want to help with programming, a good starting point is to take an easy issue from our bug tracker, which can be found at https://github.com/supertuxkart/stk-code/issues, e.g. https://github.com/supertuxkart/stk-code/issues/1266. Just look around until you find something you'ld like to start with, but I wouldn't start with something related to graphics or physics because they are very complex. Note that the whole developement happens thorugh git + github, so you should find out how they work if you do not already know.

For getting help fast, I suggest you to join our irc-channel.
konstin
 
Posts: 37
Joined: 31 May 2014, 20:54

Re: How to start contributing to STK ?

Postby Wuzzy » 08 Sep 2014, 03:35

Oh, a new potential programmer for STK? Nice to hear. :)

I mostly just lurk around here. But I ask anyway: Do you already have concrete plans for STK (i.e. concrete features you want to add, etc.). I am just curious. ;)

Git is a version control system. You should definitely read this: http://www.git-scm.com/doc
Learning Git is totally worth it, many free software projects use Git.

And GitHub is one place for Git repositories (not the only one!) and STK hosts its code on GitHub at the moment.
Here’s STK’s project page: https://github.com/supertuxkart/stk-code
I don’t know how the workflow in STK is done, but what I know from a few other GitHub-hosted projects, roughly spoken it probably breaks down to this (You can only understand this if you understand Git already):

  • Fork the official repository on GitHub (using the web interface). This new repo is now yours.
  • Clone your repository to your computer, using Git itself.
  • Create a branch and do your changes and commits on your branch for your new feature. Such a branch is also commonly called a “feature branch”
  • When done, push your changes back to your repository
  • Using GitHub’s web interface again, search for your branch create a so-called pull request. This is a request to merge your branch to the official codebase.
  • Wait for replies of the other developers and see what happens. You should check the comments section from time to time.
  • The outcome is always one of this: Your feature will be merged, a request for bug fixes or other stuff regarding your feature branch is made (and probably will be merged afterwards), your feature is rejected or the pull request gets ignored or forgotten
For the next feature you want to implement, you should create a new branch and so on.

Note, however, that this is non-official advise here. I don’t know how the actual workflow in STK is like, because it can always differ from project to project.
User avatar
Wuzzy
 
Posts: 989
Joined: 28 May 2012, 23:13

Re: How to start contributing to STK ?

Postby shantanusingh » 08 Sep 2014, 14:39

Thanks Wuzzy, that was very informative . I am learning git these days . As of now I don't have big plans for STK . I just want to ease out the UI a bit and add more powers like if the player activates that power the player will throw a heavy object in the front and it will spawn a hole in the ground , karts can fall into that pit for 2-3 seconds .
shantanusingh
 
Posts: 7
Joined: 02 Sep 2014, 18:02

Re: How to start contributing to STK ?

Postby samuncle » 08 Sep 2014, 20:16

Yep what wuzzy described is correct :). It's a good start.

To start the contributions I suggest to choose the UI. It's easier to work on the UI than a new powerup. So you will get familiarized yourself with our code and our tools.

There is a lot of stuff that can be done to improve and simplify the UI
Image
User avatar
samuncle
STK Moderator
 
Posts: 752
Joined: 16 Mar 2010, 21:28

Re: How to start contributing to STK ?

Postby hiker » 09 Sep 2014, 00:22

samuncle {l Wrote}:Yep what wuzzy described is correct :). It's a good start.

To start the contributions I suggest to choose the UI. It's easier to work on the UI than a new powerup. So you will get familiarized yourself with our code and our tools.

There is a lot of stuff that can be done to improve and simplify the UI

I wouldn't agree with that. While the UI has good documentation, so has a lot of other areas of the code. The UI is rather complicated: it ties into irrlicht's widget system, has many many corner cases that are not obvious (e.g. to support keyboard-less use via gamepad, split screen).

On the other hand, what you describe (making a whole in the ground) is pretty difficult to implement. Atm we don't support any kind of changes to the physical shape of the track, but even if we did, inserting a hole-mesh into an existing mesh is not at all trivial (you would need to modify the physical mesh, the graphical mesh - adjust the normals, texture mapping, ...).

An easier way to get started would be to add some achievements (which we urgently need anyway). We had this as an entry task for the google summer of code. By creating an appropriate challenge you can easily get started with the section you are interested in. E.g. if you are interested in items, come up with a challenge that involves items.

Cheers,
Joerg
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Re: How to start contributing to STK ?

Postby shantanusingh » 10 Sep 2014, 14:52

hiker {l Wrote}:
samuncle {l Wrote}:Yep what wuzzy described is correct :). It's a good start.

To start the contributions I suggest to choose the UI. It's easier to work on the UI than a new powerup. So you will get familiarized yourself with our code and our tools.

There is a lot of stuff that can be done to improve and simplify the UI

I wouldn't agree with that. While the UI has good documentation, so has a lot of other areas of the code. The UI is rather complicated: it ties into irrlicht's widget system, has many many corner cases that are not obvious (e.g. to support keyboard-less use via gamepad, split screen).

On the other hand, what you describe (making a whole in the ground) is pretty difficult to implement. Atm we don't support any kind of changes to the physical shape of the track, but even if we did, inserting a hole-mesh into an existing mesh is not at all trivial (you would need to modify the physical mesh, the graphical mesh - adjust the normals, texture mapping, ...).

An easier way to get started would be to add some achievements (which we urgently need anyway). We had this as an entry task for the google summer of code. By creating an appropriate challenge you can easily get started with the section you are interested in. E.g. if you are interested in items, come up with a challenge that involves items.

Cheers,
Joerg


Thanks for the information. As of now I am learning git . I think all the changes are made through git only so, understanding git is a must . What do u mean by achievements and challenge ? may you please elaborate . Is it like in-game achievements like fastest lap completion,best overall time,etc,. or something else ?
shantanusingh
 
Posts: 7
Joined: 02 Sep 2014, 18:02

Re: How to start contributing to STK ?

Postby hiker » 12 Sep 2014, 02:38

shantanusingh {l Wrote}:Thanks for the information. As of now I am learning git . I think all the changes are made through git only so, understanding git is a must . What do u mean by achievements and challenge ? may you please elaborate . Is it like in-game achievements like fastest lap completion,best overall time,etc,. or something else ?

Yes, achievements like that are part of current STK development (you need to create and use an online account in order to see them - go to the online page, then in the lower right corner click on profile, and select the achievements tab. Note that this is all pretty much work in progress, so the release will have a better GUI in place). We had achievements as part of our GSoC application process, so there are some info on:
http://supertuxkart.sourceforge.net/GSo ... nd_tickets

Cheers,
Joerg
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Re: How to start contributing to STK ?

Postby Alayan » 03 Nov 2014, 02:04

hiker {l Wrote}:An easier way to get started would be to add some achievements (which we urgently need anyway). We had this as an entry task for the google summer of code.

May you expand about the role of the achievements, how the player will se them in the game and how to do them ? (Or a link to somwhere where it is explained)
I seen their list in the achievements.xml on github ; I may try to add a few if there is some kind of doc about how to do so (I should know enough to do the related code if it is not too complicated)

EDIT :
hiker {l Wrote}:you need to create and use an online account in order to see them - go to the online page, then in the lower right corner click on profile, and select the achievements tab

Will it be only tied to online accounts ? :|
Using internet to get addons or online multiplayers is necessary ; however for achievements it seems unnecessary since all happens in local. I prefer to stick to the "do what you computer can do on your computer, not on another" rule ; especially since online storage will sooner or later create issues when server will be unavailable or the old version unsupported. If one then want to share his data online it's another story, but that's not needed to get achievements.
Image
Alayan
STK Moderator
 
Posts: 307
Joined: 25 Mar 2012, 22:11

Who is online

Users browsing this forum: No registered users and 1 guest