We NEED more developers!

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

Postby GreEn`mArine » Sat Nov 08, 2008 3:40 pm

@MirceaKitsune:
You are mentioning an interesting point here - testing. There have been quite a lot of releases in the past history of Nexuiz that were more or less buggy and needed maintenance releases. The last release and also the next one coming up added quite a lot of new features and also changed the code of already working things by a great deal (also the usage of CSQC). Having some kind of test team with a leader is usually the way to go, there just aren't enough volunteers for this.

If you have so much free time as you said, maybe you could start off by investigating into how testing could be done for Nexuiz. This would include talking to the developers and having a look at how other projects do this. Personally, I don't have any experience in this field either. These are just thoughts I have had for a long time...

1) Try to find out how the testing would work in general, this includes talking to people like SavageX (Nexuiz team leader) or other core developers, asking them how they think testing could be done in a reasonable manner (reasonable = knowing we don't have a 20 men team that does this professionally but rather a 5 men team doing this in their free time). Also invest time into investigating how such a testing-team could be coordinated (e.g. is there some kind of free software that allows entering new test cases, test sessions, etc.)
2) If it can be realized, try to find other players who would like to help out

The way I imagine it to be for the first point would be:
1) Using some software (similar to a content management system) installed on a webserver that allows the development team members to add required test cases for their new features they just added. E.g. if someone adds a new gamemode, he would have to create a new test case where he tells what exactly should be tested. Then the test team members can use this system to perform test sessions and individually enter the test results.
IRC quote:
[kojn] I've been coming a bit more recently
[kojn] she took it the dirty way
GreEn`mArine
Forum addon
 
Posts: 1509
Joined: Tue Feb 28, 2006 9:33 pm
Location: Germany

Postby MirceaKitsune » Sat Nov 08, 2008 3:52 pm

I'm glad I could help, ai :) As I said don't force yourself to work on it when you don't want to and just do it relaxed when you feel comfortable and willing to make things. And I know how that's like too... one thing I'm jealous about is that I can't understand complex code to do advanced things like devs can but maybe one day I will too :D

Alien wrote:There is no quakec code editor (frikac is developing one, iirc). Set highlighter to C and you'll be ok. It seems that tZork also made quakec highlighter for codeblocks ide. And, I said, you can't modify svn yourself. You need to make patches and post/send them to div.


I'm not quite sure what QuakeC even is actually. Nexuiz is my first real encounter with the quake engine so I don't know how all tools really work like. Is it the quake source, another quake-based project...?

Anyway I took a better look at the game code under data\qcsrc\(subfolders) in the .qc files. I opened one in notepad and it does indeed look like user-readable C code / scripts, so I'm guessing that the game code can be tweaked in these files even from notepad then complied with fteqcc. Am I correct with that, can code be edited by editing the .qc files in notepad then compiling the three folders with fteqcc?

As for submitting patches, there are currently two ways I can do it for me. First one is for me to make .patch files with my SVN client (Tortoise SVN) and post them somewhere where the devs can download and apply them to the SVN. Second, if the team decides to trust me enough is for the SVN admin to allow me to use an account for submitting to the SVN directly so I can use tortoise to publish patches on my own. If I make a mistake then it can always be reveted later on or if the devs disagree with a change I made. So any of the two that work are good for me... at least for now I'm onto small changes until I learn how to make bigger ones.

@ GreEn`mArine (since I didn't see his post at first as I didn't notice the post moved on to the next page): That is a good idea indeed. Truth is I haven't really done testing in a "professional" way I think. Generally, when I see something new comes in, I update and install that something then test how it works from all points of view I can find and if I notice an anomaly I report it and say everything I know about it. But maybe doing it "by the book" is slightly different indeed.

There is also something else I am intending to make another topic for; A real bug tracker is necessary, since Nexuiz does not seem to have one. There is a Bugs topic on the forum but from my knowledge that's really not suitable for reporting bugs in a correct way and there are specialized and free bug trackers that can be installed on the web site. So as far as I seen from the other project I'm around, a real bug tracker is something I would be highly advise here which would help with making things go much more smoother and faster.
Last edited by MirceaKitsune on Sat Nov 08, 2008 4:02 pm, edited 1 time in total.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby divVerent » Sat Nov 08, 2008 4:00 pm

Some QC editor is in fteqcc itself, included with Nexuiz (in the sources directory).
1. Open Notepad
2. Paste: ÿþMSMSMS
3. Save
4. Open the file in Notepad again

You can vary the number of "MS", so you can clearly see it's MS which is causing it.
divVerent
Site admin and keyboard killer
 
Posts: 3809
Joined: Thu Mar 02, 2006 4:46 pm
Location: BRLOGENSHFEGLE

Postby MirceaKitsune » Sat Nov 08, 2008 4:09 pm

divVerent wrote:Some QC editor is in fteqcc itself, included with Nexuiz (in the sources directory).


From what I noticed fteqcc.exe only attempts to find the project file and compile it and the /qc files when opened. I don't think there's any way to make it popup an editor or anything, since it's supposed to be just a compiler tool at least as far as I know.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby divVerent » Sat Nov 08, 2008 4:45 pm

1. Open Notepad
2. Paste: ÿþMSMSMS
3. Save
4. Open the file in Notepad again

You can vary the number of "MS", so you can clearly see it's MS which is causing it.
divVerent
Site admin and keyboard killer
 
Posts: 3809
Joined: Thu Mar 02, 2006 4:46 pm
Location: BRLOGENSHFEGLE

Postby Alien » Sat Nov 08, 2008 6:50 pm

MirceaKitsune wrote:
divVerent wrote:Some QC editor is in fteqcc itself, included with Nexuiz (in the sources directory).


From what I noticed fteqcc.exe only attempts to find the project file and compile it and the /qc files when opened. I don't think there's any way to make it popup an editor or anything, since it's supposed to be just a compiler tool at least as far as I know.


Div prolly meant that you can edit files with fteqcc (similarly to notepad).

Here goes short explanation, what dp & nexuiz is:

Long time ago (in 1996) ID Software released a first person shooter, called Quake 1. At first, it was for DOS only, later they released engine versions for windows (called winquake), opengl for other platforms (glquake) and quakeworld (rather separate release, which I'll mention later).
The quake was meant to be easy to mod and so ID created scripting language called quakec, which at that time was compiled with ID's free qcc compiler and produced progs.dat file, which was parsed by proprietary quake1 engine. So thousands of quake mods were born, which were based solely on closed quake1 engine provided functions and variables. Some of them were very small like improved weapons, monsters, some had different gameplay (like threewave's CTF mod), some were bots (reaper bot made his creator a place at epic, omicron gave j.w. van waveren place at ID (he was responsible for the famous q3 bots), frikbot(x) is very intelligent bot by frikac, frogbot was meant as a combat machine).
At that time 3d rendering hardware was not so popular like today, so no opengl and winquake (directx (can be used but not necessary)) versions were released at first. Later those versions appeared and quake1 became the ultimate choice for gamers (no of the games had such impressive graphics, physics at that time).
Then the quakeworld came. Quakeworld (qw) had a more efficient netcode, a bit different physics and an antilag feature. QW was also opengl app. Antilag split the quake community into two sides (those who preffered the original quake (called netquake or NQ for short) or QW). This can be thought similarly to modern OSP - CPMA war in q3 community. Nowadays most people play QW though.
Ok, back to topic:
In 1999, Quake1 engine was released under GPL. Forest 'Lordhavoc' Hale took opengl version (which is NQ one), improved it's netcode, renderer, quakec virtual machine and more. This new engine was called darkplaces. Before darkplaces he released twilight engine, which was focused on speed but nowadays irrelevant.
Later QSG (quake standards group) was formed by several most active engine developers, modders: lordhavoc, frikac, tomaz, spike and probably others. It's homebase was now dead quakescr, which wiki is mirrored at quakedev now. They defined some common extensions, which each engine should implement, that all mods could use independently on the client engine. You can see the list of them in quakedev. One of the most important is csqc (client side quake c coined by spike and lordhavoc (fix me if I'm wrong). So darkplaces could support much more features (most of them graphics related) at client side. Later menuc was added by Black. So today you can see three parts, which are run inside particular virtual machine inside darkplaces (progs.dat - server, cprogs.dat - client, menu.dat - menu).
Continuing... In 2001 or so lordhavoc and vermeulen created a quake modification, which is called nexuiz now. Lots of people in quakec scene were involved, helped (you can check the credits).
I don't know why only the div left. I still hope some of the former devs will come back. I hope this story will fill some hole and help some programmers, who know how to code, but does not understand a %^7 about the relationship of different parts of nexuiz. Yeah, it takes time to dig through various sources to start to understand what the hell this csqc div mentioned is.

If smbd wishes, he can fix the factual, spelling and other errors and add to ouns for uninvolved people reference about nexuiz history.

BTW, quakec tutorials at inside3d won't work for you. Code was rewritten (mostly ?) from scratch and uses things, which are not mentioned there. That's why it's hard to find programmers. The best way is to read quakec ref at ouns and look at the code. You can always get some sort quakec reference file from net, but do not assume that the things which are written here are 100% true, cause they were written when people didn't have access to quake engine source code and new one was lost in quakesrc crash.
Alien
Forum addon
 
Posts: 1212
Joined: Tue Apr 22, 2008 7:12 am

Postby MirceaKitsune » Sun Nov 09, 2008 12:02 am

Interesting story. I seen that a lot of effort was put in the quake engine as it's very well optimized and one of the greatest game engines I seen which knows how to handle everything surprisingly well to make complex things run both stable and fast. I was curious about one thing tough... does Nexuiz use the latest quake engine created by ID software? As far as I know the quake3 engine is the latest one. Also I found a good code editor so thanks, I know how to play around with that part of the game now :)

Regarding the lack of developers problem... not sure if it helps much but I made a topic over here for the community to make patches and put them in, so those who are not officially devs can easily help more too. Somemod should probably make that thread sticky too so many people see it.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby Alien » Sun Nov 09, 2008 4:38 am

Nexuiz uses Darkplaces which was derived from Quake 1 engine. Neither q2 nor q3 has quakec support.
Alien
Forum addon
 
Posts: 1212
Joined: Tue Apr 22, 2008 7:12 am

Postby MirceaKitsune » Sun Nov 09, 2008 10:33 am

Alien wrote:Nexuiz uses Darkplaces which was derived from Quake 1 engine. Neither q2 nor q3 has quakec support.


I see. Just hope that doesn't make Nexuiz miss any important features that might have been added in the q2 or q3 engine. The difference between the three Unreal engines for one is very big, and each had giant improvements from the other.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby Alien » Sun Nov 09, 2008 10:40 am

There are some features missing (aas support for example), but darkplaces has much more features than vq3 has. No other q1,2,3 engine has such advanced graphics effects (except maybe Xreal).
Alien
Forum addon
 
Posts: 1212
Joined: Tue Apr 22, 2008 7:12 am

PreviousNext

Return to Nexuiz - Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron