Announcement

Collapse
No announcement yet.

Quake-Hack

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

  • Quake-Hack

    What is Quake-Hack?



    So, I was working on some map tech to build a persistent Quake world from individual bsp chunks.
    My test map was made from bits of dm4 style brushes:



    I had 9 of these chunks and they make a decent maze. I was impressed with the way random selection built a map from them.
    There were some technical issues. Map entities were not loaded.
    If you want to rotate a chunk, you have to perform translation vector math on the origin coordinates of all entities in that chunk.
    And doors, plats, buttons, and triggers are a serious pain in the kiester!

    I will not give up:



    I also have a parallel development using the same tech to build an outdoors map from biomes:



    Reprise: what is Quake-Hack?

    In my imagination it is a nethack style adventure through the original quake one world
    with endless challenge, levels built of: pieces of all the quake one levels + mission packs and user supplied map resource kits,
    choice of: all original items - mission pack added in - more wild new weapons,
    and a possible bonus of a rolling series of DLC style add ins with new elements.

    There will be boss rooms, that once you enter lock the doors. To leave you have to defeat the boss.
    Then you get a special item, rune, new weapon or other treasure.
    A possible option will be the perma-death of rogue-likes. I like this because savegame is giving me a hassle.


    Will it be an all interior dungeon style adventure like the original, or a romp through strange outdoors with occasional buildings?
    Will there be RPG style elements, like food, trading goods, seeking clues, a buy stuff guy, and upgradable stats?
    These and other choices remain to be made. I'm hoping to build a following on my patreon site to gather feedback.

    The beta is currently available: Quake Hack beta 1.4.3



    You are all welcome to give that a try.

    How is development going?

    Well, I just got back to the code from one of those life hiatuses.
    I now have a solution to one of my most difficult problems with the biome generation system.
    That is my next bit of code to tackle on this project.
    When that is ready, I want to put together another beta demo, this time with the outside world system.

    One quirky issue in the beta is some sound problem. Wander around long enough and all sound except ambient cuts out.
    This may be related to how many entities are created and "live".

    What do I think the biggest stumbling block is right now?

    Map chunks. For sure.
    Outside chunks are a challenge because I want to retain the quake one style. But quake one has very few outdoor areas.
    Inside chunks are a super challenge. Not only do bits of maps need to be put into a specific format.
    They all need to connect and build a random map in a pleasing and playable fashion.
    This part of the process is very time consuming.

    What would I like to see included?

    Support for some of the cool mods that many of you have built!
    (I'm looking at your Small Mod, Seven.)


    I welcome your feedback, regardless of backing on patreon.

    If you are interested in backing my projects on patreon and want to participate in the creation process,
    I will make sure you have access to the latest test snapshots and code.
    I will also give anyone who provides ideas and advice credit in various places, including links to your projects.


    Is this all?

    No!

    The main purpose of making the tech is a stand alone game with no connection to quake.
    One that I can sell. In the coming months I will be posting details about that on Six Gaming.

    Quake on brothers (and sisters)!
    numbersix - Mod DB [_] Six Gaming

    Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

  • #2
    Outdoor areas might make a good survival sort of map. Kill 100 enemies, then go to the next randomly-generated map.

    Comment


    • #3
      This is amazing.
      http://www.nextgenquake.com

      Comment


      • #4
        10000+ better than no mans sky

        awesome work (and crazy) as always numbersix
        the invasion has begun! hide your children, grab the guns, and pack sandwiches.

        syluxman2803

        Comment


        • #5
          Nice work! This looks so cool!

          Comment


          • #6
            What language are you doing this in?
            http://www.nextgenquake.com

            Comment


            • #7
              Constructive criticism:

              Positive first, though: Seems like there is a playable work here.

              Now the constructive criticism:

              1) Lack of awareness of minimum installation requirements. I get this starting it up on Windows 7 (screenshot attached, well it's a dialog box). I could easily self fix because I use Visual Studio quite a bit and upon seeing that message I know what's wrong and know how to get it.

              2) Lack of awareness of minimum computer requirements for a good experience, check out my 6 FPS on an ATI Radeon mobility (screenshot attached). I get 130 FPS in normal Quake running DarkPlaces (screenshot attached). The laptop I use is a barebones Compaq/HQ running Windows 7 machine from 2012. If I see something that gets 6 fps and the author didn't say "minimum system requirements", whether true or not, I think "Has only been tried on the developer's own computer; developer testing fail".

              3) If someone who is big on license agreements looked, you didn't provide the engine source code (or as a substitute, something saying how to obtain it) or the license agreement (sometimes call gpl.txt or "Copying"). This is just an oversight, but at some point someone would say something.

              Since it is a playable work and since it does seem to have possibilities, you might consider making a news thread at Func_Msgboard (the Quake mapping community, where most mappers consider their home). But if you do so, you should be very careful to emphasize that it is a beta of a concept, and probably condense what you have to say down to just a couple of paragraphs. And those guys aren't FaceBook, they won't say "Like! Like!" and will instead offer you their thoughts as mappers.

              I'm not a beta tester type or the type of guy with much time on his hands, but I do like to take peek at stuff that seem like may be interesting from time to time.

              Seems like a neat concept. Good luck with your project, must have been difficult. Does seem like it has some possibilities.
              Attached Files
              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


              • #8
                Originally posted by MadGypsy View Post
                What language are you doing this in?
                C: a darkplaces fork - handles the sky, ent loading, and distance limits on displayed ents
                QC: maphack core code and a bunch of my other mod stuff
                cfg: lots of stuff set by script now, since qc is poo poo on strings and I have buku repetitive stuff

                Originally posted by Baker View Post
                Constructive criticism:
                Positive first, though: Seems like there is a playable work here.
                Thanks!

                I'm sure there is. It always looks great in my imagination.
                Getting a running version to look like that is something else.

                This is one of my focus issues. I have more ideas than I can deal with alone.
                I've got many txt files with game ideas. It never stops.
                I do the same thing with role playing games.

                Originally posted by Baker View Post
                1) Lack of awareness of minimum installation requirements. I get this starting it up on Windows 7 (screenshot attached, well it's a dialog box).
                I could easily self fix because I use Visual Studio quite a bit and upon seeing that message I know what's wrong and know how to get it.
                Yep, win is not my thing. I just know a lot of game players use it.
                I mostly threw that compile together so the beta would appeal to a broader segment of game players.
                I can throw that dll in. Prob some option in VS to include stuff you need.

                If you look at the linux run script, "qh", it checks architecture on the binary.
                I really have no idea what kind of checking win stuff should have.
                The last time I developed on win it was borland c++ builder for win NT. And that was comms software for banks.

                Originally posted by Baker View Post
                2) Lack of awareness of minimum computer requirements for a good experience, check out my 6 FPS on an ATI Radeon mobility (screenshot attached).
                I get 130 FPS in normal Quake running DarkPlaces (screenshot attached). The laptop I use is a barebones Compaq/HQ running Windows 7 machine from 2012.
                If I see something that gets 6 fps and the author didn't say "minimum system requirements", whether true or not, I think "Has only been tried on the developer's own computer; developer testing fail".
                I can put that in too. Havent really had to worry about minimum requirements with most of my stuff.
                My only other win tester has a more powerful system - he's got a 1080 gtx.

                I used to have a network of about 16 systems to test various things on. Everything from a 286 up. I unloaded a lot of that and the rest is stored.

                And essentially the last statement is true. This is really the first time I've reached out on a forum like this.
                I post stuff on moddb, but...maybe because there are so many things there. My stuff doesnt get as much attention.

                Originally posted by Baker View Post
                3) If someone who is big on license agreements looked, you didn't provide the engine source code
                (or as a substitute, something saying how to obtain it) or the license agreement (sometimes call gpl.txt or "Copying").
                This is just an oversight, but at some point someone would say something.
                It is there. Just got buried in a readme and a script file:

                Code:
                ./quake_hack/info/map_FAIL_read_this.txt -
                
                If you need to compile the engine from source, use git: 
                git clone https://github.com/six-of-one/maphack_engine
                cd maphack_engine
                make release  # now copy maphack-* binaries to quake install dir or /usr/bin
                
                ./qh -
                	echo "       you will have to compile Maphack from source -"
                	echo "using git:"
                	echo "       git clone https://github.com/six-of-one/maphack_engine"
                	echo "       cd maphack_engine"
                	echo "       make release"
                I'm just not ready to officially announce the engine source, even in a beta.
                I need to get meld out and compare all the darkplaces improvements since I made the fork.
                Some of them mess with my extra ents something terrible. I need time to do this too.
                Once I get there, I'll put the link in the main readme, and perhaps a comment on the main distribution site.

                However, that beta release does need a better license focus. Good call.

                Originally posted by Baker View Post
                Since it is a playable work and since it does seem to have possibilities, you might consider making a news thread at Func_Msgboard (the Quake mapping community, where most mappers consider their home). But if you do so, you should be very careful to emphasize that it is a beta of a concept, and probably condense what you have to say down to just a couple of paragraphs. And those guys aren't FaceBook, they won't say "Like! Like!" and will instead offer you their thoughts as mappers.

                I'm not a beta tester type or the type of guy with much time on his hands, but I do like to take peek at stuff that seem like may be interesting from time to time.

                Seems like a neat concept. Good luck with your project, must have been difficult. Does seem like it has some possibilities.
                I just signed up on Func_Msgboard. This post is my prototype. The first of many.

                I really appreciate the time you devoted.

                I've nearly given up on this project twice. The first thing was entities. Before I modded the engine,
                I had to copy _everything_ from somewhere hidden on the main map. That became a mapping nightmare super quick.
                The second was god forsaken rotation code. Took me a bit to learn the engine will NOT rotate map load bsp models.
                You can load a bsp model with setmodel and do all kinds of stuff. But that really screws with doors, plats, buttons, etc.

                True, this is a lot more ambitious than a quake mod. Even an advanced one.
                Right now I'm trying to convince the world builder to have multiple sets of biomes. I went with a global master biome on the first cut.
                Now, I see a way to have a biome that loads chunks, and a biome that loads a trigger set that sets the other biome function.
                But, ARGH, the triggers that build refuse to pass forward biome info.


                This is really a new way for me to do things. In the past this was a hobby stuffed into a few hours a week in my busy life of 3 jobs,
                a wife, her large family, our many cats, and everything that came with that.
                The Archon mod represents little bits of spare time strung out over 12 years.

                Then 3 years ago the cracks got a lot worse. "We all fall down."
                Sold the sailboat. Kept the business. Left the house in FL to her in the divorce.
                Even alone though, 3 jobs wears you down. Mom was complaining about stuff around the house she cant do anymore.
                So I packed the business, left the 30 - 60 hour a week theater job, transferred my union work to a closer hiring hall and came back to my home.

                Technically I really should be marketing the business. But my heart just isnt there anymore. Too much burnout.
                I ask myself, "what should I do?"

                Code has always been my passion. And I see all these neat internet things like patreon, kickstarter, greenlight, etc.
                I was like: "well, self, it could work - but you'll never know if you dont try it."
                numbersix - Mod DB [_] Six Gaming

                Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

                Comment


                • #9
                  Maybe something like if you get the message "msvcrt120.dll is missing" download the Microsoft Redistributable For Visual Studio 2012 at https://www.microsoft.com/en-us/down....aspx?id=30679

                  It should be a somewhat uncommon error message, since Microsoft did forced installs of Windows 10 to most people using Windows 7.

                  re: license agreement -- I'm not into the license agreement conversation stuff, but a requirement of the GPL is that you include the license agreement, it's not in the .zip. I'm not very interested in that type of conversation anyway, and IANAL ---I am not a lawyer. Anyways, that's all between you and the GPL and such.

                  re:fps -- "Focusing on just getting it running" -- I get that.
                  Last edited by Baker; 10-02-2016, 07:48 PM.
                  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


                  • #10
                    You inspire me to work harder on my thing.

                    I actually understand and can picture a number of the things that you mentioned you had/are having problems with. Whereas, I can perceive it, I would be zero help to you. I wish the opposite was true.

                    @buku - I'm not trying to correct you or anything but, that is a word used a lot in my city. It's beaucoup, if ya didn't know. It's french for "many/much".
                    Last edited by MadGypsy; 10-02-2016, 08:32 PM.
                    http://www.nextgenquake.com

                    Comment


                    • #11
                      Good work even if i get 3 fps this is still awesome!

                      Comment


                      • #12
                        Actually, @ help you

                        I know something that maybe will help you with FPS. When I first started my worldspawn project I was using a "per leaf" design and my FPS was complete shit. Spike told me that I should skip the standard leaf way and batch by textures. In other words all faces that share a texture are combined to one vertex buffer. My FPS shot right back to top speed for my platform when I implemented that. I went even further and used compact geometry for entities (ie everything (uv's, vertices, secondary uvs) is in one buffer except indices). I can get max FPS even in debug mode.

                        I don't know if this helps you at all but, it's all I got.
                        Last edited by MadGypsy; 10-02-2016, 08:32 PM.
                        http://www.nextgenquake.com

                        Comment


                        • #13
                          Originally posted by Baker View Post
                          re: license agreement -- I'm not into the license agreement conversation stuff, but a requirement of the GPL is that you include the license agreement, it's not in the .zip. I'm not very interested in that type of conversation anyway, and IANAL ---I am not a lawyer. Anyways, that's all between you and the GPL and such.
                          Yeah same for me, I'd rather write code.

                          The understanding I have of GPL, which may be faulty, is that the source must be made freely available with the license agreement.

                          So long as you note its location somewhere in the project, there is not a specific need to include it with every release.

                          For example, if you distribute copies of such a program, whether
                          gratis or for a fee, you must give the recipients all the rights that
                          you have. You must make sure that they, too, receive or can get the
                          source code. And you must show them these terms so they know their
                          rights.
                          Bunch more stuff about using, distribution, etc.

                          I think the next time I updated the engine, I'll add a GPL tag line to the startup strings. That should cover it.
                          numbersix - Mod DB [_] Six Gaming

                          Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

                          Comment


                          • #14
                            Originally posted by MadGypsy View Post
                            Actually, @ help you

                            I know something that maybe will help you with FPS. When I first started my worldspawn project I was using a "per leaf" design and my FPS was complete shit. Spike told me that I should skip the standard leaf way and batch by textures. In other words all faces that share a texture are combined to one vertex buffer. My FPS shot right back to top speed for my platform when I implemented that. I went even further and used compact geometry for entities (ie everything (uv's, vertices, secondary uvs) is in one buffer except indices). I can get max FPS even in debug mode.

                            I don't know if this helps you at all but, it's all I got.
                            I'll check the per leaf deal.

                            I do know that even with sv_hide making things not visible + not network traffic beyond that distance there can still be 2000+ visible ents.

                            The original engine could choke on 200 if they were not blocked by pvs.
                            And this map system has no pvs.

                            If there was a way to discover hardware, it might be possible to vary sv_hide distance to even smaller radius.

                            I picked 3265 for this beta because at that distance you dont notice it cutting things out.
                            The outdoor version prob. needs to be larger, but there should also be less ents.
                            numbersix - Mod DB [_] Six Gaming

                            Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

                            Comment


                            • #15
                              Originally posted by Massao View Post
                              Good work even if i get 3 fps this is still awesome!
                              Before the sv_hide mod in the engine, I was getting about 6 fps after exploring for 5 mins or so.
                              Check the lower right corner of the screen with the orange skybox.

                              Put a few thousand ents out with no vis block and it chokes big time.

                              This almost ended the project.

                              With sv_hide < 5000 I get at least 55 fps.

                              The nice thing about the sv_hide mod (besides being a simple change) is that it also blocks network traffic from hidden ents.
                              If they are hidden, nothing is sent from server to client.
                              numbersix - Mod DB [_] Six Gaming

                              Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

                              Comment

                              Working...
                              X