Xonotic Forums
Learning QuakeC? - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Development (https://forums.xonotic.org/forumdisplay.php?fid=12)
+--- Thread: Learning QuakeC? (/showthread.php?tid=1048)



Learning QuakeC? - phim - 09-28-2010

I've decided to learn QuakeC so I can actually do something to Xonotic. I have learned the basics of quite a few languages before, but there was a lot more resources to learn from. I found around 10 tutorials on QuakeC, but they are all based on modding Quake.

Should I install Quake and use it to learn QuakeC, or maybe Nexuiz?

How does code get compiled into Xonotic? Have any suggestions for a linux compiler? I've looked around in the folders, but can't really find any QuakeC code to edit. Know of anything else that could get me started?

--

Phew.. lot's of questions. Thanks to whoever can answer them. (QuakeC = QC, right?)


RE: Learning QuakeC? - jaykay - 09-29-2010

warning: i did not write much code for xonotic, everything i tell you might be wrong Big Grin

you should start with checking out the git repository: http://dev.xonotic.org/projects/xonotic/wiki/Repository_Access

you should do changes in a separate branch so you can easily switch between the clean master and your branch with you modifications.


then you should read the introduction for quakec: http://dev.xonotic.org/projects/xonotic/wiki/Introduction_to_QuakeC


for more questions ask in irc Smile


edit: qc = quakec, yes.
the code is (when you checked out the git repository) in /data/xonotic-data.pk3dir/qcscr. client might be the most interesting directory there to start with.


RE: Learning QuakeC? - Mr. Bougo - 09-29-2010

(09-29-2010, 09:47 AM)jaykay Wrote: the code is (when you checked out the git repository) in /data/xonotic-data.pk3dir/qcscr. client might be the most interesting directory there to start with.

I think you mean qcsrc Wink

And client is not the easiest part, that's the source of the CSQC progs, which notably manage HUD code and projectile drawing. The game logic (i.e. what people usually want to mod first) is in the server directory.
The menu directory contains menu progs sources, which use some evil precompiler tricks to implement OOP (sort of) in QC. Although it's quite interesting to read, it doesn't share much with CSQC or SVQC.


RE: Learning QuakeC? - PGP_Qz - 09-29-2010

Thanks for the links.
I know C but I made soooo much java,C++,obj-C,PHP,javascript that a non oriented object language will be hard to learn. I guess that run with the struct thing... I'll take a look into xono source code =)


RE: Learning QuakeC? - Mr. Bougo - 09-29-2010

Nope, we don't even have structs. Just a very small number of data types, nothing really custom.
The closest thing to structs we have is entities, which are also objects in a sense.


RE: Learning QuakeC? - GreEn`mArine - 10-02-2010

http://ouns.nexuizninjaz.com/dev:programming_introduction for an overview


RE: Learning QuakeC? - Flying Steel - 10-03-2010

It's really sad that QuakeC is as horrible as it is and replacing it with a real interpreted language like Python or Lua would take millions of man hours.


RE: Learning QuakeC? - poVoq - 10-03-2010

http://forum.freegamedev.net/viewtopic.php?f=3&t=587

Still on it, but lately a bit slower.


RE: Learning QuakeC? - Blub - 10-06-2010

(10-03-2010, 09:38 AM)Flying Steel Wrote: It's really sad that QuakeC is as horrible as it is and replacing it with a real interpreted language like Python or Lua would take millions of man hours.

Plus, they are both much slower, and particularly ugly when it comes to sharing variables with the engine, and the worst part would be the entity type.


RE: Learning QuakeC? - top_cat - 10-08-2010

What about Squirrel?

http://www.squirrel-lang.org/


RE: Learning QuakeC? - Mr. Bougo - 10-09-2010

Umm, squirrel or anything else that is not QC will not substitute QC, I think that should be clear by now... Unless you find a few programmers that can get very familiar with the whole xonotic source and have a lot of free time to contribute, converting all the code to a new language. And the language would have to be easy to learn by the current coders as well.

<sarcasm>This said, how about we use a derivative of Piet and get rid of QC which is so consistently hard to use</sarcasm>


(sidenote: BOCC is probably the best thing we can hope for)


RE: Learning QuakeC? - ThePWTULN - 10-09-2010

(10-09-2010, 02:47 AM)Mr. Bougo Wrote: <sarcasm>This said, how about we use a derivative of Piet and get rid of QC which is so consistently hard to use</sarcasm>

Yay, pretty colours Big Grin


RE: Learning QuakeC? - Spyz - 10-15-2010

Haven't done much QuakeC since modding Quake became 'old hat'. I stayed with ANSI C after that. QuakeC isn't the most challenging of languages to learn, it's neat, logical and there's not too many ways to do something (unlike Perl *shakes fist*).

The worst is just not getting bogged down with millions (slight exaggeration) of global variables due to almost zero OO techniques.


RE: Learning QuakeC? - aa - 12-24-2013

Why doesn't the introduction to QuakeC page says NOTHING about compiling (bugs dont count)?

Actually, nevermind, i dont care about programming any more.