Announcement

Collapse
No announcement yet.

getting into level design (again)

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

  • #31
    here is how I compile QC from notepad++

    in Drive:/pathToNotepad/shotcuts.xml add
    Code:
    <Command name="QC-Compile" Ctrl="yes" Alt="no" Shift="no" Key="13">Drive:/pathToFTEQCC/qcCompile.bat</Command>
    This shortcut is cntrl+enter. You can change it to whatever you like. It can also be accessed in notepads run menu. To change the keyboard shortcut, you can either, change the above xml to suit or change it in notepads built in shortcut widget.

    -------

    In drive:/pathToFTEQCC/ create this .bat

    qcCompile.bat - the compiler options menu.
    Code:
    @ECHO off
    cd /d %~dp0
    cls
    :start
    ECHO.
    ECHO 1. Compile and open Log
    ECHO 2. Compile and Start Quake
    ECHO 3. Compile and Start Quake with a Specific Map
    ECHO 4. Compile and Close
    set /p choice=Choose a number and press enter: 
    if not "%choice%"=="" set choice=%choice:~0,1%
    if "%choice%"=="1" goto COL
    if "%choice%"=="2" goto CSQ
    if "%choice%"=="3" goto CSQSM
    if "%choice%"=="4" goto CC
    ECHO "%choice%" is not valid, try again
    
    ECHO.
    goto start
    
    :COL
    fteqcc.exe
    fteqcc.log
    EXIT
    
    :CSQ
    fteqcc.exe
    cd ..\..
    darkplaces.exe
    EXIT
    
    :CSQSM
    set /p map=type the name of your map and press enter: 
    fteqcc.exe
    cd ..\..
    darkplaces.exe +map "%map%"
    EXIT
    
    :CC
    fteqcc.exe
    EXIT
    You get four choices:
    1) Compile and open log
    2) Compile and start Quake
    3) Compile and start Quake from a specific map
    4) Compile and close

    Notes:
    Code:
    cd ..\..
    This changes the directory to the grandparent of the current one. The current one is my drive:/pathToFTEQCC which is ..Quake/id1/develop/. So. it backs it up to the Quake folder where my engine resides. You will definitely need to change this if your engine is elsewhere.
    Last edited by MadGypsy; 07-15-2012, 03:42 AM.
    http://www.nextgenquake.com

    Comment


    • #32
      Hey, glad to hear about successful map-compiling!

      I agree there are several possible workflows for compiling maps - it is nice if everything is done in the build menu, of course, but if you already use the command line for a lot of things that works as well. Necros' compiler GUI should also work.

      Several ways lead to Rome.

      The BSP2 tools are newer versions of the compilers that output BSP2 format files. BSP2 is an "upgraded" bsp format that supports larger and more detailed maps. It also needs special engine support. You don't need BSP2 until your map hits the limits, such as vertex count (65535 in standard BSP), clipnodes count, marksurfaces count and so on.

      The latter are somewhat esoteric limits to how big / detailed your map can be.

      I use(d) BSP2 because my maps break the old limits.

      Regarding compiler versions, such as Txqbsp vs. hmap2 - all compilers get the job done, and they're all based on the same code. They only differ in details, for example I'd say that Bengt Jardrup's Light tool is better than hmap2's. But you'll need to experiment. All compilers will compile maps (up to a point, again when your maps get large some compilers might work better than others).

      The BSP2 tools can be gotten from the RemakeQuake SVN repository, or here

      http://icculus.org/remakequake/RMQSDKJan2012.zip

      You might have to compile them, I forget. And like I said, only a few engines support BSP2 (RMQengine, FTEQW). Darkplaces and hmap2 support a slightly altered version of BSP2.

      You can also use Quake 3 map/bsp format in some Quake engines, such as FTEQW and Darkplaces. The Quake 3 map compiler (q3map2) can do some very interesting things the Q1 tools cannot, and q3bsp supports things like patch meshes and shader scripts. I'm loosely working on a tutorial.
      Last edited by golden_boy; 07-15-2012, 04:54 AM.
      Scout's Journey
      Rune of Earth Magic

      Comment


      • #33
        Originally posted by golden_boy View Post
        You can also use Quake 3 map/bsp format in some Quake engines, such as FTEQW and Darkplaces. The Quake 3 map compiler (q3map2) can do some very interesting things the Q1 tools cannot, and q3bsp supports things like patch meshes and shader scripts. I'm loosely working on a tutorial.
        That is interesting. I understand from your blog that you switched to Q3 format. I am not sure if I want to switch to Q3 format right now. One limitation I see with the original Quake, the levels tend to have this blocky feel. I am not sure if people do this to stay in the 64 grid as much as they can because of texture alignment issues, or if they are so blocky because the Q1 level format has difficulties with stuff that is modelled with very fine detail.

        Anyway one thing I wonder about Q3 maps for Q1: isn't this also an issue with Gtk Radiant, not only with the engine? For example, when I tell Radiant I want to make a Q3 map (just for fun tried this out right now), then it doesn't offer the entities you would want to use in Q1, like all the monsters, instead it has the entities from Q3 (obviously).

        So to get Q3 maps in Q1, I don't think you can just make a Q3 level in Radiant and compile, then run in Darkplaces?! I mean, do you somehow need to set up things such that Radiant (not only Dark Places) understands that the Q3 map is actually meant for Q1? With respect ti entities etc.
        The more they [computers] know, the slower they get � as opposed to the human mind, which has the opposite property. David W. Hillis

        Comment


        • #34
          The blocky feel of Q1 levels has to do with several things;

          - Q1bsp has no patch meshes / true curves
          - Vanilla Quake doesn't support custom map-models (props)
          - Compile time (vis) is longer for complex geometry (no detail brushes)
          - Compiler (qbsp) can choke on complex geometry
          - Compiler (light) problems with lighting artifacts on curves/complex geometry
          - Difficulty constructing curves from brushes
          - Conscious homage to vanilla Quake look
          - Worldcraft not supporting better formats

          Just off the top of my head.

          There are Quake 1 maps with nice curves, such as maps by Vondur and CZG. However technical problems such as the lighting issues don't just go away, all you can do is try and minimize them.

          You can configure Radiant to use Q3 map format with Q1 entities; this is what the Darkplaces gamepack does. It's a little misleadingly named because it has nothing to do with Darkplaces (DP is not a game, so a DP "gamepack" makes no sense); it just configures the editor in a certain way.

          http://spawnhost.files.wordpress.com..._q3radiant.png

          As you see, it uses Q3 map format with Q3 features (the red selected part is a patch), Q3 textures/shaders (largely TGA images), and Q1 entities (Scout's Journey / RMQ, actually).

          It's well possible, only not all Q1 engines support Q3 BSP format.

          Some Q1 entities don't "just work" after the conversion though, namely the ones that depend on the map compiler. Rotating entities are one example.

          I still need to work these out.

          There are games that use a combination of QuakeC and Q3bsp, I believe SteelStorm(?) does that for example. I don't actively recommend using q3bsp for Q1 maps solely because a few niggles remain and it's not really well supported by Q1 engines.
          Scout's Journey
          Rune of Earth Magic

          Comment


          • #35
            Can I make my own custom monsters from scratch?

            First, I want to thank everyone in this thread so far. Now I am able to build basic level geometry, work with textures, make doors, set entities like teleports, made a swimming pool, compile and run the stuff in different engines. Shit rocks.

            Many details I still need to work out and especially lights and lighting is something I need to study a bit more.

            Anyway I wanted to ask, how to make my own custom monsters from scratch. I guess this is a very complex topic and of course I don't expect the full story here, but it would already be enough if someone could outline the general idea and point me in the right direction; maybe there is even a Q1 dedicated tutorial on monster creation you could recommend?

            My main questions would be atm:
            • which tools to use to model, animate and skin the monster and its attacks (if it has projectile attacks)?
            • how/where do I get started with programming the monster AI? I am already able to program in C, C++, Java, Prolog and a couple of languages no-one has ever heard about, so getting into the syntax would not be the main difficulty I guess.
            The more they [computers] know, the slower they get � as opposed to the human mind, which has the opposite property. David W. Hillis

            Comment


            • #36
              Originally posted by Mike_Tyson View Post
              First, I want to thank everyone in this thread so far. Now I am able to build basic level geometry, work with textures, make doors, set entities like teleports, made a swimming pool, compile and run the stuff in different engines. Shit rocks.
              Awesome!

              Many details I still need to work out and especially lights and lighting is something I need to study a bit more.
              Lighting is probably THE most complex topic when it comes to environment design. Expect years of practice. One useful little guide is this:

              Functional Lighting

              which tools to use to model, animate and skin the monster and its attacks (if it has projectile attacks)?
              Blender, QME, Milkshape, Max or Gmax would be the typical ones to model new monsters from scratch. I use Blender. I also know others in the community use it. I know people who use Max. I think Madfox uses Animation Master or something, can't remember the name. You can use QME or Milkshape, but I think Blender is easier to use (after getting used to it).

              There are two types of animation, depending on which model format you use. The original Quake format is MDL, which has no skeleton and uses vertex animation (shape keys). More recent formats are DPM and IQM. These are skeletal formats, and to animate them you must rig them (add a skeleton) and use a dope sheet / keyframe editor.

              A very important program to me is Noesis. That's a model converter for MANY formats. So you can export your model from e.g. Blender as Collada or MD5 or something, and convert to MDL or IQM etc. Blender also has MDL and IQM export scripts available IIRC.

              If by skinning you mean texturing, not rigging, then you can use GIMP, Photoshop and the usual suspects. For conversion to the Quake palette, if needed, you can use Wally.

              how/where do I get started with programming the monster AI? I am already able to program in C, C++, Java, Prolog and a couple of languages no-one has ever heard about, so getting into the syntax would not be the main difficulty I guess.
              You must download the QuakeC progs.dat source. Inside3D

              You need a compiler to compile the.qc files into a progs.dat file; the best compiler available is FTEQCC. Be sure to read its documentation; it allows you to use non-QC constructs like switches and so forth which is very handy if you know C. In the progs source, there is a file called progs.src which lists all the files to be compiled. Another important file is defs.qc where global variables and builtins are defined.

              Monster AI is in various places; ai.qc has simple routines like walking etc. I think some of the ai is also in combat.qc and monsters.qc. Finally, each individual monster's file holds its animation frames, attacks, and stuff like decisions (melee vs. ranged) as well as pain, dying etc. Lots of the AI is animation-driven, ie called from the animation frames. Just read ogre.qc and you will see.

              Be sure to read this.

              Ask if you need to know more.

              Edit; MODs, perhaps this thread should be stickied. There is a shit ton of information in it.
              Scout's Journey
              Rune of Earth Magic

              Comment


              • #37
                I'll do you just a little bit better than pointing you in the right direction. I will give you the QC dev environment that I use/created.

                what it includes
                1) absolutlely clean QC
                2) absolutely clean CSQC (HUD)
                3) custom build menu with options
                4) QC sessions already created for you (for easy file navigation)
                5) complete document tree in editor
                6) slightly overdone syntax hilighting for QC (this is about 99% correct, compromises had to be made)
                7) added player physics (sv_user.qc), rotating doors (hl_doors.qc), triggerable weather (weather.qc) and dpextensions
                CSQC has dp_builtins added but not in the progs.src
                9) Complete QC manual in pdf format included
                10) FTEQCC included and governed by notepad

                There is only two things to keep in mind

                1) this is setup to run darkplaces, if you use another engine you will have to open qcCompile.bat and find/replace all "darkplaces.exe" with your engine name

                2) this is portable but as soon as you start it, it will change sessions.xml to full paths. Meaning, if you move it, you will have to "re setup"

                Other than that all you have to do is extract the entire thing to either ID1 folder or your mod folder. click notepad++.bat to start a session (alternatively you can just click notepad++.exe in the notepad++ folder). Under the run menu is where you will find the (cs)qc compile options.

                QC development setup (7zip self extracting archive)


                -------------------------

                Edit: I realized that someone not familiar with QC may not be able to appreciate the above link, so I decided to write some enlightenment. My QC sources are clean, like really ( NO warnings or errors ) clean. That in itself will save you time. The package is also set up to compile straight from the editor so, you dont have to go clicking around to find FTEQCC but as a bonus the editors compile menu is filled with options on how and what you want to compile, without being confusing. By having my syntax hilighting in the editor you never have to guess what a recognized var is, the color totally gives it away. By having sessions predefined for you (the way I did it) you have an organized tabbing of the code you are most likely to modify. The document tree allows you to quickly load the code you want or bring it into focus if it is already loaded.

                It's all about being easy. So easy that the only thing you need to worry about is what you intend to code. Everything else (in my opinion) has been taken care of for you. Even as far as adding code extensions (player physics, rotating doors, etc) that give your game more options. These extensions pretty much only work in DP and RMQ though.

                I come from primarily an AS3 (flash) programming background. In Flash everything is set up and ready to go, all you have to do is code. I wanted QC to be set up the same way, so that's what I did. It took days to get everything to work properly. That's days that you don't have to spend cause I already did it for you.

                Note: If you want to modify my syntax hilighting you can do so in stylers.xml. The entire definition uses the D format. Have fun with that...it took me days to get it this good. Style definitions don't work like you expect them to.
                Last edited by MadGypsy; 07-21-2012, 04:25 PM.
                http://www.nextgenquake.com

                Comment


                • #38
                  Give a man a fish...
                  Scout's Journey
                  Rune of Earth Magic

                  Comment


                  • #39
                    LOL! He'll be eating for more than a day on that one GB. I didn't give him a fish, I gave him a bad ass pole, tackle box and lures. He still needs to put it in the boat and "catch" something with it.

                    I'm of the firm belief that just about anybody with an interest could be a successful modder, but (from experience) I know that there is a lot of alternate crap to do just to have a decent environment to work in. So, I integrate stuff like this together and am more than happy to share it. You'd be hard pressed to find something more complete than my QC environment. The only other thing I intend to add to it is (what I call) MPQC. Which is the standard QC but with all of the monster code ripped out. It's primarily used to make games that will be only online multiplayer. Actually I'm gonna go clean it up and add it right now.
                    Last edited by MadGypsy; 07-21-2012, 11:39 PM.
                    http://www.nextgenquake.com

                    Comment


                    • #40
                      Yeah, just nagging. I'm actually curious to try your modding package. It's just that I'm pretty busy. I got your PM, I'm just drowning in work.
                      Scout's Journey
                      Rune of Earth Magic

                      Comment


                      • #41
                        You use linux though, right? I could tell you all the steps I used to build the windows one (it's not a bitch when you already know what to do) and you could port my "framework" to linux. It's all xml work. You might be able to just replace the linux notepad++ xml files with mine and then in my bat change % to $ (I believe that is correct % is $ in linux?). That should be all. I didn't recompile anything.

                        This actually began when I found a QC editor/compiler combo that was all one unit. I checked it out and I was like "Man this is crap." No search/replace features, no documentS wide searches, compiler is out of date and there is no way to change it cause it was compiled into the editor. No syntax hilighting or word auto finish. The only option is compile (vs compile and test map, compile and view logs, etc). No tabbed browsing, on and on and on - a whole lot of "I don't do that". So, I decided that if I was going to have a clean, organized and feature rich QC IDE, I was going to have to "make" it myself.

                        Once I got everything together in a basic sense, I started brainstorming about what could be added. The above link is the result. I'm hella picky about how well my tools work and what they can do. I give my setup a 10 out of 10. If it sucked I'd say so. Thank you creator of NP++ for giving me something of quality, that can be completely user modified, to work with.
                        Last edited by MadGypsy; 07-22-2012, 03:46 PM.
                        http://www.nextgenquake.com

                        Comment


                        • #42
                          I actually much prefer Vim for editing anything. I'll give it a look though.
                          Scout's Journey
                          Rune of Earth Magic

                          Comment


                          • #43
                            MadGypsy, in the meanwhile I actually gave your development suite a spin. While my first reaction was also "Give a man a fish..." - or should I better say: rotfish?! - I realize that there is a lot of work behind it. What I like especially is your syntax highlighting definition for N++.

                            But I must admit, it's just not for me. Maybe it's a masochistic streak in me, I have been raised with bash under Sun OS and the Amiga CLI, anyway I personally prefer working more in the command line.

                            But as I said, your QC dev environment is well thought out and I recommend it to the type of mapper who would prefer 3DSmax over POVray, or who likes Visual C++ more than gcc. But for the masochists: we can continue to stick with pure N++ and cygwin, bash etc.

                            Also, I too think the thread is worth to be made sticky. MadGypsy and goldenboy have both answered most questions, so there are two different views and approaches.
                            Last edited by Mike_Tyson; 08-10-2012, 10:47 AM. Reason: typos fixed
                            The more they [computers] know, the slower they get � as opposed to the human mind, which has the opposite property. David W. Hillis

                            Comment


                            • #44
                              My goal was to "emulate" the AS3 editor features in Flash/Flash Develop. I believe I actually succeeded in going beyond this. I knew my method wasn't going to be for everyone. When I started programming in AS3 the editor itself was a major key in helping me learn the syntax. Since 100% of my Quake/QC related submissions are meant to make developing for Quake a breeze for those that know nothing, there is a bit of "hand-holding" involved in my compilations.

                              I don't actually use my own syntax hilight. Well, not the one included with the editor package posted here. The syntax hilight I use only hilights things like do, switch, function, etc.. I have played with QC long enough that I don't need every global var hilighted to remind me what type it is. I actually only hilight anything to break up the page. and make code chunks easy to find.

                              Thanks for giving it an audit and the compliments.
                              http://www.nextgenquake.com

                              Comment


                              • #45
                                One thing I discovered today after spending hours trying to make it work, is that darkplaces does NOT support q3a shaders! It only supports a stripped down subset of the shader language, and only single stage shaders at that, a shame really. It would be nice if there was a proper SDK and documentation for dp so that modders dont stumble around in the dark like this.

                                Comment

                                Working...
                                X