Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What was easy for you in development? (Darkplaces and QuakeC programming)

#1
Hello, everyone, 
I was looking the code and I was developing something to learn but I remained stagnant since I saw that there were things that I couldn't understand well. I know that I should know the C programming language well, but there is no problem with this. I know how the logical structure works and I'm not saying it as a novice, none of this.

Apart from this, I wanted to know some experiences from the developers, I understand that the experiences of others can't be used for someone who doesn't know and for experts, but perhaps there is something that can take some step.

I wonder if someone liked modifying the codes of weapons, player, HUD, ... Same for engine devs, if they liked modifying some resources from the engine...

Here is the question for the developers:

What did you consider easy to develop in Xonotic?
Believing is power
Reply

#2
Hey, I'm not a Xonotic dev but I used to contribute to similar projects, I can at least share my experience from these. It's never easy to hop into a new project of this scale, you need to set up a comfy dev environment and mainly get an understanding of the whole architecture of the game, not just the language it's written in. If you have experience with other projects, it will be easier, but it always takes some time and effort.

The key thing is to see the big picture, know the big parts of the game, how they communicate and where they are located. This I always learn by starting to fix very simple bugs -- open the bug tracker, find something that looks simple and try to fix it, potentially ask for advice, and when you have something, even incomplete, don't be afraid to open a pull/merge request in which devs will review your work and tell you how to polish and finish your contribution.

To look for specific functionality in unknown codebase I simply use grep, something like this:

grep --color=always -Irnw render ./darkplaces

It's simple and effective. Doxygen can also be useful for generating automatic documentation that helps to search for stuff.
Reply

#3
(08-04-2020, 10:32 AM)drummyfish Wrote: Hey, I'm not a Xonotic dev but I used to contribute to similar projects, I can at least share my experience from these. It's never easy to hop into a new project of this scale, you need to set up a comfy dev environment and mainly get an understanding of the whole architecture of the game, not just the language it's written in. If you have experience with other projects, it will be easier, but it always takes some time and effort.

The key thing is to see the big picture, know the big parts of the game, how they communicate and where they are located. This I always learn by starting to fix very simple bugs -- open the bug tracker, find something that looks simple and try to fix it, potentially ask for advice, and when you have something, even incomplete, don't be afraid to open a pull/merge request in which devs will review your work and tell you how to polish and finish your contribution.

To look for specific functionality in unknown codebase I simply use grep, something like this:

grep --color=always -Irnw render ./darkplaces

It's simple and effective. Doxygen can also be useful for generating automatic documentation that helps to search for stuff.

Thanks, I understand that time and effort are valuable, also when we make or make mistakes and they correct us, we continue to learn. I know that the patience is important too.

I think it would also be cool if there was a visual scheme of the game code base and Darkplaces engine code base so we can see what it's like and look at the code interactions with code files included. 
I know that there is Doxygen, but it only documents parts of the code base even I'm not sure if the graphs are correct, as in the gitlab documentation warns us that the documentation of Doxygen can be incomplete. The graphs don't display the info of each code file content and where this code interacts in another code file.
Believing is power
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  Xonotic vs Quake 3 (ioQuake3) development comparison LegendGuard 2 295 09-02-2020, 11:48 AM
Last Post: LegendGuard
  [TUTORIAL] How to create a command - Xonotic QuakeC programming LegendGuard 3 668 07-25-2020, 06:24 PM
Last Post: LegendGuard
  [META] DarkPlaces fork Lyberta 30 2,831 07-22-2020, 12:58 PM
Last Post: Cloudwalk
  Moving away from QuakeC Lyberta 17 3,722 07-17-2020, 07:36 AM
Last Post: LegendGuard
  [NEED HELP] [Commission] To update Jeff's Modpack - QuakeC programmer wanted breakfast 5 1,454 07-08-2020, 12:45 PM
Last Post: breakfast
  Trying to understand darkplaces source code wiefie 37 7,184 09-22-2017, 01:37 PM
Last Post: Lyberta
  New QuakeC virtual machine Lyberta 8 3,674 07-14-2017, 04:01 PM
Last Post: poVoq
  Module (music) support for Darkplaces (again) [test it] nilyt 8 5,473 04-21-2015, 08:24 PM
Last Post: BuddyFriendGuy
  development and life cycle of a game community BuddyFriendGuy 9 6,396 04-04-2015, 01:58 AM
Last Post: BuddyFriendGuy
Exclamation Development Infrastructure Update divVerent 16 13,261 12-11-2014, 02:11 PM
Last Post: Mr. Bougo

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-