Announcement

Collapse
No announcement yet.

The future of Quake - Wishlist

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

  • #16
    Originally posted by Baker View Post
    Some insight might be able to be gleamed from this GLQuake engine which I believe has MD2 support:

    :: Q2K4 Project ::
    It's not much good to me because it uses a separate renderer for MD2s, I'm afraid.
    IT LIVES! http://directq.blogspot.com/

    Comment


    • #17
      OK, it's almost done. See attachment.

      The changes that were required include:
      • Adding a dummy third command to each vert in the Q1 MDL mesh builder.
      • Changing "order += 2" to "order += 3" in the renderer.
      • Accessing the MD2 vert via order[2] in the renderer.
      • Allowing per-frame scale and translate in the renderer.
      • Some minor changes to the Q1 structs.
      • The MD2 loader itself.


      The next step is to tutorialize it. In order to do this I'm going to move the code to a vanilla Q1 codebase, writing up the steps as I go. I also have a memory-stomping bug I need to fix, but for now I've just done a really cheap and cheesy fix that works OK.

      The MD2 loader is almost copy-and-paste from Q2. There were a few changes to wrestle the data into Q1 structs, some changes to skin loading, adding in a correct bbox for the MD2, and omission of some data that's only used in the software renderer.

      One interesting thing that came up here is the use of order[2] for a vert indexing in MD2. This is applicable to MDL as well, and strikes me as something that should be done (it saves space). It will require some overhaul of the mesh builder and of the renderer though, so I'm not gonna do it for this exercise.
      Attached Files
      IT LIVES! http://directq.blogspot.com/

      Comment


      • #18
        Originally posted by mhquake View Post
        OK, it's almost done. See attachment.

        The changes that were required include:
        • Adding a dummy third command to each vert in the Q1 MDL mesh builder.
        • Changing "order += 2" to "order += 3" in the renderer.
        • Accessing the MD2 vert via order[2] in the renderer.
        • Allowing per-frame scale and translate in the renderer.
        • Some minor changes to the Q1 structs.
        • The MD2 loader itself.


        The next step is to tutorialize it. In order to do this I'm going to move the code to a vanilla Q1 codebase, writing up the steps as I go. I also have a memory-stomping bug I need to fix, but for now I've just done a really cheap and cheesy fix that works OK.

        The MD2 loader is almost copy-and-paste from Q2. There were a few changes to wrestle the data into Q1 structs, some changes to skin loading, adding in a correct bbox for the MD2, and omission of some data that's only used in the software renderer.

        One interesting thing that came up here is the use of order[2] for a vert indexing in MD2. This is applicable to MDL as well, and strikes me as something that should be done (it saves space). It will require some overhaul of the mesh builder and of the renderer though, so I'm not gonna do it for this exercise.
        This is excellent ! I hope it will help create new free models for Q1. Thank you MH.
        engine: quore.free.fr

        Comment


        • #19
          So, any more new ideas? I've been trying to think of some new ones but I'm having trouble coming up with something original. I've been reading about QuakeC a lot lately and want to do something with that. I've been hacking away at the Quore software renderer trying to update it more, add some new things to it and clean up the code.

          One thing I want to do with Quore is document everything, but that doesn't have to do with new features; unless I put the docs in game.
          Gentoo Linux

          Comment


          • #20
            One suggestion that's come up a few times is to move QCC into the engine so that the engine can compile raw QC on the fly.
            IT LIVES! http://directq.blogspot.com/

            Comment


            • #21
              Originally posted by mhquake View Post
              One suggestion that's come up a few times is to move QCC into the engine so that the engine can compile raw QC on the fly.
              Why didn't I think of that? I've seen it discussed before; was just reading about it actually.
              Gentoo Linux

              Comment


              • #22
                Some ideas that comes to mind:
                - Ability for the player to crouch, I know it has been done before
                - Menu driven skin changer
                - Slow down player when receiving damages
                - Sound for footsteps, I know Qrack has this feature
                - Make projectiles obey physics
                engine: quore.free.fr

                Comment


                • #23
                  Originally posted by lxndr View Post
                  Some ideas that comes to mind:
                  - Ability for the player to crouch, I know it has been done before
                  - Menu driven skin changer
                  - Slow down player when receiving damages
                  - Sound for footsteps, I know Qrack has this feature
                  - Make projectiles obey physics
                  Some of those are QC. Player to crouch would require a new hull which would require a new BSP format.
                  IT LIVES! http://directq.blogspot.com/

                  Comment


                  • #24
                    Originally posted by lxndr View Post
                    - Menu driven skin changer
                    Like how you change shirt/pants colour?
                    - Slow down player when receiving damages
                    Do you mean bounce-back?
                    - Sound for footsteps, I know Qrack has this feature
                    That should be easy. Just need a footstep sound and some quakec so it slows down when walking and speeds up when running.
                    - Make projectiles obey physics
                    Do want.

                    p.s. you need to read your email and get on jabber.
                    Gentoo Linux

                    Comment


                    • #25
                      Originally posted by mhquake View Post
                      Some of those are QC. Player to crouch would require a new hull which would require a new BSP format.
                      in Quakec if a player is crouching cant we just swap the modelindex? This single model would have it's own bounding box?
                      Will the engine just create a temp hull based on the model's mins and maxs?
                      Last edited by R00k; 11-02-2009, 07:06 PM.
                      www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                      Comment


                      • #26
                        Originally posted by R00k View Post
                        in Quakec if a player is crouching cant we just swap the modelindex? This single model would have it's own bounding box?
                        Will the engine just create a temp hull based on the model's mins and maxs?
                        *cough* Half-Life map format */cough*

                        Or snag a few ideas from the Half-Life map compiler tools and make Quake BSP 2.0 (independent palette textures, origin brush support, 3rd hull, colored lights are compiled INTO the map)

                        Half-Life is the perfect model for evolving the Q1 BSP format without really doing anything to it.



                        I mean, just look at what Avirox has done ^^ You see how smoothly the revolving doors open (origin brush support) and Quake should be building especially on work like that.

                        And my personal favorite when Avirox gave me the initial tour, hehe:

                        Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                        So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                        Comment


                        • #27
                          Will the engine just create a temp hull based on the model's mins and maxs?
                          I'm guessing that would have to be done at map-loading time and that could take quite a while for large maps with complex geometry..

                          While we are brainstorming about future enhancements.. how about a single hull bsp format and use proper collision detection?

                          or.. wait for id to release the id-tech5 engine and go from there

                          Comment


                          • #28
                            Code:
                            hull_t *SV_HullForEntity (edict_t *ent, vec3_t mins, vec3_t maxs, vec3_t offset)
                            {
                            ...
                            	{	// create a temp hull from bounding box sizes
                            
                            		VectorSubtract (ent->v.mins, maxs, hullmins);
                            		VectorSubtract (ent->v.maxs, mins, hullmaxs);
                            		hull = SV_HullForBox (hullmins, hullmaxs);
                            		
                            		VectorCopy (ent->v.origin, offset);
                            	}
                            
                            	return hull;
                            }
                            creates a temp hull for alias models right?

                            in qc something like this?
                            Code:
                            		if (self.crouch)
                            		{
                            			self.modelindex	= modelindex_crouch;
                            			setsize (self, -16 -16 -24, 16 16 24);
                            		}
                                            else
                            		{
                            			self.modelindex	= modelindex_player;
                            			setsize (self, VEC_HULL_MIN, VEC_HULL_MAX);
                            		}
                            Last edited by R00k; 11-02-2009, 07:50 PM.
                            www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                            Comment


                            • #29
                              Originally posted by =peg= View Post
                              or.. wait for id to release the id-tech5 engine and go from there
                              Release the source, or just release it? The former probably won't happen according to John Carmack and the latter probably won't have unix (linux, *BSD, solaris, &c) support according to John Carmack (which he seemed sad about).
                              Gentoo Linux

                              Comment


                              • #30
                                1. A built in chat room/ability to add friends/view the game they're playing in
                                2. Podium standings at the end of a round
                                3. forced map changes (no player vote, we've seen what that's led too, 5 map rotation)
                                4. Controlling Mute
                                5. Shorter interval between grenades before anti spam kicks in

                                When I think of more, it will be up.

                                Comment

                                Working...
                                X