Announcement

Collapse
No announcement yet.

A REAL QuakeC Tutorial

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • A REAL QuakeC Tutorial

    I want to learn QuakeC. Everyone points me to: This Magical Place! ...except most links don't load; and even if they did, there are major assumptions in those that do.

    Code thrown in your face with no (or little) explanation; it's assumed you know how it works. I've found a few other sources; they have some decent info, yet they inevitably point back to defunct sources on inside3d.com. This makes me sad inside.

    I'm looking for a QuakeC guide with linear, logical, blow by blow explanations that build from a common base structure, and progress from there. If such a resource exists, please point me in the right direction.

    If this seems like a 'Whine Fest' I apologize. Maybe everyone has to wade through this and just figure it out; if so I'm willing to do it.
    Last edited by QuakeRoot; 06-20-2012, 10:12 PM.

  • #2
    Regretably I dont think such a resource exists right now. There is a Quake C reference manual here: ftp://ftp.clan-rum.org/quake/qutils/qcrm-o97.zip

    Which may help a little.

    Closest thing I can say that puts it all in an understandable perspective is the old ctfbot+ mod made back in 1999.

    ftp://ftp.clan-rum.org/quake/bots/ctfbotp032399.zip

    there is a windows gui interface called the ctfbot coordinator that at least shows you the proper steps from beginning to end in regards to progs.dat and includes a compiler.
    You still need your own text editor, notepad++ seems to be the most popular these days. That was how I started learning qc way back. I just started changing text chats in certain qc files, and recompiled, then tried some harder stuff as time went on.

    Comment


    • #3
      Have you tried YouTube? Apparently Mexicouger is the man with the plan.....

      [ame=http://www.youtube.com/watch?v=s7GGLj1yXJE]QuakeC Tutorial -1- Data structures - YouTube[/ame]

      If this guys oral presentation fails you, then IDK, I tried
      Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

      Comment


      • #4
        I wrote a tutorial on here that teaches you how to teach yourself QC

        It's probably not really what you were looking for but it still might be worth a read. I explain about field types & vectors mostly. There are also images along the way that illustrate everything I say. It's a bit long - the entire max character count.

        Michael
        http://www.nextgenquake.com

        Comment


        • #5
          Quake-C Specificacions v1.0

          not sure if this is the same as what Cobalt posted.

          http://www.electronicliberationfront.co.cc/tutorials/

          this might also help.
          Scout's Journey
          Rune of Earth Magic

          Comment


          • #6

            Comment


            • #7
              I just loaded it fine, I think your AV is false-positive

              Quake QC Tutorial 1
              Quake QC Tutorial 2
              Quake QC Tutorial 3
              Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

              Comment


              • #8
                Originally posted by Cobalt View Post
                I just started changing text chats in certain qc files, and recompiled, then tried some harder stuff as time went on.
                Hello QuakeRoot,

                I can only agree to what Cobalt said.
                There are very detailed descriptions of the QC language
                (please follow the links given in this thread)

                BUT, what really counts is practice, practice, practice.
                It is like flying a airplane... :
                Good theoretical studying is good, but without pratice, you will never be able to fly.

                And what is a better way to practice than the perfect tutorials at inside3d.
                Look at this one for example:
                LordHavoc explains W_FireRocket and multirockets
                You will learn more than you think in this one.
                As well as all the others, which have a big amount of explanation in them.

                I started just like Cobalt.
                My first task was to correct the nail position of the nailgun.
                Sajt told me what to do and why.
                I didnt understand one single word...
                But I read what I just did inside the code and it became clear.
                So my tasks grow and grow.
                I am still a noob compared to Cobalt, but I know what to do now.

                Reading code, which is available like sand on the beach is the key.
                Reading and trying to understand will help you.

                QuakeC is fun and a very powerful toy.

                Have fun,
                Seven

                Comment


                • #9
                  I've downloaded all of this stuff including the videos above and they DO help. Seven is correct, however, that practice is the key. I'm where Seven was long ago..I'm doing things as he instructs and don't understand fully what I'm doing, but it is beginning to make sense the more I read and practice!
                  It is taxing, but oh so addictive and fun!!

                  Comment


                  • #10
                    Cobalt,

                    Thank you for the manual and the ctfmod; great resources. Your encouragement is appreciated.

                    Mindf!3ldzX,

                    I've been watching and re-watching MexiCougars lessons for a few weeks now. Still putting things together from them; thank you for posting it, as I hope this thread will be a good resource for those who, like me, are looking for instruction.

                    MadGypsy,

                    I stumbled upon your tut once and could never find it again, thank you for referencing it here, I'll be going over it studiously.

                    Seven,

                    You are a legend. Thank you for SMC, & all the work you do for Q1. Thank you for the encouragement.

                    gdiddy62,
                    Your face. (it appears to be grinning in the dark with bright glowing eyes)

                    Thank you all for responding. I'm honored that you've taken the time to give some advice. Now I might say something blasphemous...

                    I'm thinking I might have better luck if I first study C++ then come back to QuakeC, as QuakeC is based on C, and there's not too many jumps from C to C++.

                    In your honest opinions... Good or Bad idea?

                    Comment


                    • #11
                      Well, quake C is only LOOSELY modeled around C (read those exact words somewhere just yesterday probably in one of these tuts). So technically you would be learning a harder language that isn't even "?prototypical?" first. That's not necessarily a bad thing but you need to prioritize what your goal actually is. If your goal is to learn Quake C then you should learn Quake C. If your goal is to understand programming in a broad sense then by all means learn whatever language you want...learn them all. I come from a PHP/SQL/Javascript/AS3 background, which is nothing like QC. I picked up QC (to a better than novice degree) quite easily because I already understood many programming "staples". However, do you want to spend "10" years programming before you jump into Quake C and annihilate it with superior programming knowledge?

                      I would personally encourage you to learn Quake C first as it is actually a pretty damn simple language. I mean 5 data types and one of them is void? AS3 has like 30 native data types and I'm sure C is at least that complex (probably worse)

                      It took me like 2 years to practically master AS3, it took me like 4 or 5 days to get a better than general scope of QC. I am confident that I could pick QC completely apart and understand it in todo in about a week, with not even one tutorial. I spent the last ten years getting to a point where I can do something like that with ANY language (obv no damn week for a real language, but definitely fast). Personally I think you would be spinning your wheels to go to C first. Maybe you should wait and see if an actual C programmer responds and what their answer is. Baker is an Objective C programmer (at the least), maybe he will respond.

                      MadGypsy,

                      I stumbled upon your tut once and could never find it again, thank you for referencing it here, I'll be going over it studiously.
                      Well, if my tutorial design is successful you wont have to go over it studiously. You (hopefully) can see the 2 or 3 things I repetitiously do to figure everything out without any other data. My tutorial was intended to teach people an investigative learning method. Which I am proud to say I completely concocted out of the blue picking apart Sevens SMC, way back when rain , snow, kick gibs and like one other thing was the whole SMC. From that disection I wrote triggerable weather and even added a jacked up wind, in like 3 hours.

                      You can do this bro. Stop thinking so hard. Just make up some simple "goal mod", and do it.

                      Michael

                      Edit:
                      Originally posted by QC for Beginners -1
                      Firstly, let me give you a quick explanation of what QC is. QC stands for QuakeC, as it was a language designed by id software for the game Quake, and is loosely based on the programming language C.
                      Edit2 (lol):

                      I'm gonna write search and rescue super tut 2 (hopefully sunday). I am going to approach a different angle but use the same techniques. However, I will totally spoil it for you now so you can run with it (if you like). Do "search/find in all open documents" on the vars in defs,qc. Then instead of going to the actual pages that the individual search results are located on, simply investigate it's implementations from the search results list. This will allow you to get a full spectrum look at how entities are used vs vectors vs strings vs float. You will have so much freakin repetition thrown in your face you wont be able to forget. You can also simply click a search result if you want to further investigate how other vars are coordinated with it.

                      When in doubt and common sense doesn't seem common, Cobalts link (70 pages of invaluableness)
                      no more edits, I promise.
                      Last edited by MadGypsy; 06-23-2012, 03:34 AM.
                      http://www.nextgenquake.com

                      Comment


                      • #12
                        I learned C before I learned QuakeC, which sort of helped. But bear in mind QC has its own way to do things often. Learning C gives you knowledge about what a function is and a variable etc, but it doesn't teach you what touch, think, entities and so forth are in QuakeC.

                        There is a large set of QuakeC specific knowledge that you must learn no matter if you know C or not. So the helpfulness of learning C++ first seems limited.
                        Scout's Journey
                        Rune of Earth Magic

                        Comment


                        • #13
                          Is there a python interpreter for QC?
                          I see there is something http://code.google.com/p/pyq3/
                          But I am not sure if it is QC.
                          Last edited by bluntz; 06-24-2012, 09:06 AM.
                          WARNING
                          May be too intense for some viewers.
                          Stress Relief Device
                          ....BANG HEAD HERE....
                          ---------------------------
                          .
                          .
                          .
                          .
                          .--------------------------

                          Comment


                          • #14
                            Originally posted by MadGypsy View Post
                            If your goal is to learn Quake C then you should learn Quake C. If your goal is to understand programming in a broad sense then by all means learn whatever language you want...l

                            I would personally encourage you to learn Quake C first as it is actually a pretty damn simple language. I mean 5 data types and one of them is void?
                            Point Taken.
                            Thank you for putting it this way, it helps me out and lends confidence that I can succeed.

                            Comment


                            • #15
                              C itself is actually pretty simple.
                              The main problem is that the APIs/libraries/builtins/whateveryouwanttocallthem are much more complex.

                              With C, you can just read the source of the function that you're calling (or check the man page/docs). With QC, half the time that function is a builtin and thus written in a different language entirely, with no docs, and a different behaviour in different engines.
                              So tbh, I'd say C is easier to write.

                              QC, primarily, is a state-based language. You set state, and the engine does its thing and updates it, and gives you a new event to handle. Nice and simple in idea, but a bit of a pain to do complex and fun stuff with.

                              Tbh, I just wish the QCVM had a real stack. Proper threads would be fun.
                              Some Game Thing

                              Comment

                              Working...
                              X