Official Codex Discord Server

  1. Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.
    Dismiss Notice

Vapourware Codexian Game Development Thread

Discussion in 'Codex Workshop' started by 20 Eyes, Feb 10, 2012.

  1. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    So, i finished the game. Well, "finished". I was fixing bugs until the end, i managed to submit it just three minutes before the deadline :-P

    Here it is:

    https://bad-sector.itch.io/post-apocalyptic-petra

    Some screenshots:

    [​IMG] [​IMG]

    [​IMG] [​IMG]

    Despite looking Tomb Raider-y, it doesn't really have much platforming (and the platforming it has is very forgiving). It is mainly about exploring the areas and solving the puzzles to move to the next area.

    There will certainly be some bugs in there, but hopefully nothing game breaking. Sadly, due to GOG releasing the Dishonored series, as well as a mistake involving a brand new installation of New Vegas, i couldn't find the time to make many maps, so there are only four in there. This means the game will only take you around 25 minutes to finish if you know what you are doing, though i guess it might take you around an hour the first time. In any case, it is a very short game.

    EDIT: forgot to mention that this also contains a Windows executable (gdipetra.exe). It is just a quick hack to allow playing the game natively on Windows in case DOSBox is too slow, but it also has 16:9 aspect ratio instead of 4:3. I'll probably make a direct draw version later so that it also runs on Win9x PCs :-P.
     
    Last edited: May 9, 2020
    • Brofist Brofist x 9
    • Salute Salute x 1
    • Excited! Excited! x 1
    ^ Top  
  2. ERYFKRAD Barbarian Patron

    ERYFKRAD
    Joined:
    Sep 25, 2012
    Messages:
    17,081
    Serpent in the Staglands Shadorwun: Hong Kong Pillars of Eternity 2: Deadfire
    Quid?
     
    ^ Top  
  3. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    I made the mistake of installing it and thus spending a lot of time playing it instead of making the game :-P
     
    • Despair Despair x 1
    • Friendly Friendly x 1
    ^ Top  
  4. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    Uploaded version 0.99c which fixes an important bug with the keyboard handler (basically having numlock on and using the arrow keys from the arrow pad - as opposed to the numpad - caused Petra to walk slowly... that is because the keyboard controller sends these keys prefixed with a shift key itself prefixed with an 'extended code' key and the documentation i had around about the keyboard didn't mention this :-/ - that my test PCs started with num lock off didn't help either and the bug report was basically that Petra walks slowly unless you also turn and... that's about it, i had to figure out the rest :-P Fortunately running the game in 86box reproduced the issue, but it still took me a while to figure out why it happened).

    In addition to the fix above, i also made a small configuration utility:

    [​IMG]

    It can also be used to run custom maps (added an extra tiny map as an example).

    Here is a changelog:
    • Added CONFIG utility for configuring settings and launching user maps
    • Added the ability to configure the Sound Blaster 16 port, DMA and IRQ
    • Added a setting to disable sound completely (can make the game somewhat bearable in slower systems)
    • Added notifications when the game is loading a map (previously it could appear as if the game crashed, but it was just taking a long time)
    • Made sound to stop between load maps (previously the sound buffer looped, again giving the impression that the game crashed - especially on slower systems)
    • Maps are now first checked under the 'User' directory before the 'Data' directory, allowing for user maps to be placed there (the CONFIG utility will also display maps and text files under the User directory)
    • Added a very simple example 'pool' map
    • Added a "failsafe" key in the inventory screen in case the user gets stuck: pressing F7 while the inventory screen is open will kill Petra, causing her to teleport back to the map start
    • Fixed keyboard handler bug with arrows and numlock which caused Petra to walk instead of running when numlock was on and the arrow pad was used instead of the numpad arrows

    I think this version is good enough and unless there is some big bug (though honestly the game is too short to have anything big), i'll take a rest for now. If nothing else, i bought the new Deus Ex games from GOG and i want to play them :-P.
     
    • incline incline x 1
    ^ Top  
  5. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374


    So, after i saw the UE5 demo, i wondered if they manually rendered the high poly objects on top of proxy (low poly) objects and decided to try and do that myself as a quick test. I spent most of yesteday writing that test that shows a scene made up of 2.7 billion triangles (these models may not look like it but each one is around 12.5 million triangles - i just hit subdivide again and again in Blender :-P).

    The idea is actually quite simple: a fragment shader run on the low poly model (automatically generated... by Blender :-P) that performs raycasting on the high poly model geometry. To avoid checking all triangles, a precalculated texture is mapped to the low poly model where each texel is an offset in a (precalculated too) buffer texture that contains a "bucket" of triangles to check against (the bucket is generated by finding the closest triangles at each texel) which is usually very few (a few tens usually, some hundreds maybe, really depends on the texture resolution). So basically all the fragment shader does is grab the offset and check against the triangles.

    The two main issues with this approach are that it seems to do more raychecks than necessary and that there are glitches in the silhouettes where there is a mismatch between the shape of the low poly model and the high poly model. I *think* both can be addressed (or at least worked around) by doing the entire process as a later pass in screen space, but that is just a guess. TBH i'll probably wont try that because i'll need to set up render targets and other boilerplate that i feel too lazy to do :-P.

    FWIW i do not really have a use for this, i mainly did it as a test after thinking yesterday about how UE5's developers would do their stuff (obviously in a much more polished way). Personally if i needed to work with high poly models i'd... not work with high poly models and just use normal maps :-P. I'd probably just try a way to generate things automatically, even if not at the best quality as i'm not a big fan of trying to do things at runtime that could be precalculated.

    Still, it was interesting to try.

    EDIT: also the data size isn't something i like... just that single model is around 1.5GB after preprocessing. It can be compressed by itself but for having multiple models you'd need a virtual texturing system (everything outside the low poly geometry is in the form of textures) that loads arbitrary pages automatically and that would most likely not compress as easily. Also i didn't include actual textures at all.

    EDIT 2: i know i wrote i wont work on this, but i was curious about how it'd perform if i did the raycasting in screen space, so...



    ...not bad, that is now ~135 billion triangles at 30fps (it is CPU limited, probably because of me using ancient OpenGL and AMD not being particularly great at handling OpenGL, especially the ancient variety :-P). On the other hand the glitches are a bit more visible. If i'd ever decide to make an engine and also decide to use this (not likely due to the size reasons i mentioned above) i'd spend some time trying to get rid or at least hide those. But for now, i'll probably shelve this - for real this time :-P
     
    Last edited: May 15, 2020
    • hopw roewur ne hopw roewur ne x 3
    • Salute Salute x 3
    ^ Top  
  6. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    In other news, i made an update (version 0.99e) to Post Apocalyptic Petra with a better Windows version allowing for custom resolutions and some timing fixes for low framerates:

    EDIT: That feeling when your timing bug fix introduces a much worse timing bug in another place :-/. Soo.... verison 0.99f is out, fixes timing bug in entity motion (so stuff like ladder falling down or rotating platforms now move at their proper speed). "Fortunately" according to itch.io nobody downloaded the previous fix anyway :-P.
     
    Last edited: May 18, 2020
    ^ Top  
  7. LESS T_T Prestigious Gentleman Arcane

    LESS T_T
    Joined:
    Oct 5, 2012
    Messages:
    11,339
    Codex 2014
    2D game engine Defold is now "open source":
    https://defold.com/opensource/
    https://www.github.com/defold

    This was originally developed by King, the casual game company, and now it's maintained by its own foundation.

    It uses a modified version of Apache 2.0 license. The modified bit is an extra restriction: You can't sell original or modified editor and engine. Which, I guess, practically does not matter for usual game dev purposes. But at the same time this virtually prevents other open source projects (Godot, Love2D) to adopt parts of it.
     
    Last edited: May 19, 2020
    • Brofist Brofist x 1
    ^ Top  
  8. Bester ⚰️☠️⚱️ Patron Vatnik

    Bester
    Joined:
    Sep 28, 2014
    Messages:
    6,234
    Too little too late.

    Defold is a lightweight engine with barely what you can call an editor, but it's got quick compilation, it's optimized, it cold starts in seconds, etc. This is all good and well, and you could become open source while you had these advantages, while Unity was a bloated mess.

    Now Unity has DOTS, and now Unity has moved a lot of its bloat into optional packages. Now Defold has nothing over Unity.

    Another problem with Defold is their philosophy. They don't want ANYTHING in terms of new features. They HATE new features. Wonder how that's gonna go when people start sending in pull requests now.

    And while I say all this, Defold is the only good non-AAA engine. Godot and the likes are complete bullshit, while Defold is a very professional product.
     
    • Informative Informative x 1
    ^ Top  
  9. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    Well, limiting a project's scope is how you avoid bloat and make it easier to ensure quality for what your project actually does.
     
    ^ Top  
  10. The Avatar Learned

    The Avatar
    Joined:
    Jan 15, 2016
    Messages:
    185
    Location:
    Brittania
    Nah, Unity is a pretty good non-AAA engine.
     
    ^ Top  
  11. The Avatar Learned

    The Avatar
    Joined:
    Jan 15, 2016
    Messages:
    185
    Location:
    Brittania
    Made a water shader-
    [​IMG]

    You know how in some old games like Oblivion(maybe Morrowind too), if you stand in just the right spot that the camera is on the water plane, you can see every slaughterfish and mudcrab under the water? Thats because in those games the fog is a binary thing- its either on one setting or another and it effects the entire screen. I have made this water so that it handles situatations where you can see both the fogged water and regular fog at the same time.
    [​IMG]
     
    • Brofist Brofist x 8
    • Excited! Excited! x 1
    ^ Top  
  12. vlzvl Learned

    vlzvl
    Joined:
    Aug 7, 2017
    Messages:
    100
    Location:
    Athens
    My first RPG in CD medium was Daggerfall, back in 1997, with zero Unity presence, boatload of bugs, terrible UIs but endless content. Now that's ancient :) but it was still an evolution to some legendary first person crawlers 4-5 years back. Still have that CD, written in x1 speed. The only water emulation at that times were some 2D demos, no shader of course.
     
    ^ Top  
  13. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    It happens in Morrowind too, it is actually how i manage to find that lost ring in the tiny puddle by standing at the edge between the water surface just high enough to clip through the water but not high enough for the fog to kick in :-P. Also happens in New Vegas, though not in Skyrim SE (at least for the Sea, i didn't test the water in Whiterun nor the original Skyrim that used a different renderer).

    It usually is because the game has a global environment system that applies to the entire scene and the water has its own environment settings that either replace or get mixed with outdoor settings (Morrowind, Oblivion and New Vegas seem to simply replace the environment settings). It isn't really an old-vs-new thing, it really depends on how environment settings are handled by the engine - you can see a similar effect by going between interior and exterior areas in some games where the environment changes as you move around.

    It can often be "hidden" with tricks, in Witcher 3 for example if you put the camera in-between the water and the surface, you can see that the settings for the "water" environment (that include blurriness and thick fog) are blended with the settings for the "outdoor" environment (that have far fog and no blurriness) based on the distance of the camera from the water surface. Those settings are applied globally though, so if the camera is partially submerged you can see the water effect also applying to geometry above the water - the game tries to hide that too though by also taking into consideration the water waves so this effect is blended in and out continuously from the "water".
     
    ^ Top  
  14. The Avatar Learned

    The Avatar
    Joined:
    Jan 15, 2016
    Messages:
    185
    Location:
    Brittania
    It's really a solvable thing though, even back then. Look at Half-Life 2, which came out almost two years before Oblivion- they had proper fogged water that blended correctly so that it only effects whats under the water plane. I guess that would be more difficult if there were not a global water plane, but rather different water plane heights. Not sure Oblivion had a global water plane or not. Could be they didn't have the time or motivation to fix the issue.
     
    ^ Top  
  15. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    Sure, but it isn't really about being solvable (it is very easy to implement by itself), it is more about not really being much of a problem in the first place since you very rarely have both views at the same time and the solution is usually having water something you need to keep in mind in your shaders (especially if you want to avoid a separate screen pass), whereas by using an environment system (especially with blending) you have a more generic system that can be used for a variety of other effects. Half-Life 2 didn't have anything like that, all maps are rendered pretty much the same way, so adding support for water most likely didn't interfere with much - but AFAIK it is still a special case for Half-Life 2's renderer, so it did interfere with the rest a bit.

    Oblivion (and perhaps Morrowind too) could have blended the environment settings as you approached the surface though, but perhaps the engine didn't had that functionality (and blending environment settings wasn't really much of a thing back then, i think Unreal Engine 3 introduced the effect at some point but i'm not sure if that was available from the start or was added at a later point... and it usually was a very simple timed transition instead of position based).

    And really, Bethesda never seemed to be big on small details anyway :-P.
     
    • Agree Agree x 1
    ^ Top  
  16. Nathaniel3W Rockwell Studios Developer

    Nathaniel3W
    Joined:
    Feb 5, 2015
    Messages:
    468
    Location:
    Washington, DC
    I think I would be tempted to hide the transition with a screen-space water-on-the-camera-lens effect. And maybe force the camera to pop up from the water quickly or duck under the water quickly, and not allow it to stay halfway submerged.

    I think UE3's only built-in transition is from one post-process volume to another. Not sure when it was added or if it was available from the engine's inception. In addition to the post-process volumes, UE3 will allow you to make fog volumes that you can collocate with your water volumes. A combination of post-process effects, fog, and a good water shader (and maybe a distracting screen effect for the transition) make for some pretty convincing water even in an ancient engine like UE3.
     
    ^ Top  
  17. Viata Arcane

    Viata
    Joined:
    Nov 11, 2014
    Messages:
    5,935
    Location:
    Water Play Catarinense
    http://www.doshaven.eu/game/post-apocalyptic-petra/
    Interesting place to find your game there, mate. :salute:
     
    • Brofist Brofist x 2
    • Friendly Friendly x 1
    ^ Top  
  18. Bad Sector Arbiter Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    374
    Yeah i noticed that it was added there, in fact according to itch.io it is the most common referral :-P. But i guess it makes sense since the site is about DOS games made in the 21st century :).
     
    • Informative Informative x 1
    ^ Top  
  19. zwanzig_zwoelf Graverobber Foundation Developer

    zwanzig_zwoelf
    Joined:
    Nov 21, 2015
    Messages:
    2,365
    Location:
    デゼニランド
    Having fun prototyping a random-ass idea of doing a real-time & party-based DG spin-off, except you're controlling each mech separately using a mouse.

    Somewhat inspired by Hired Guns, a game I really like.
    [​IMG]
     
    • Brofist Brofist x 3
    ^ Top  
  20. V_K Arcane

    V_K
    Joined:
    Nov 3, 2013
    Messages:
    5,470
    Location:
    at a Nowhere near you
    Let me get this straight. Your two single-character games were turn-based and now you want to do a party-based one, but in real time? Makes sense. Makes total sense.
    Show Spoiler

    [​IMG]
     
    • Funny Funny x 3
    • Friendly Friendly x 2
    ^ Top  
  21. zwanzig_zwoelf Graverobber Foundation Developer

    zwanzig_zwoelf
    Joined:
    Nov 21, 2015
    Messages:
    2,365
    Location:
    デゼニランド
    It's a prototype for recreational purposes -- been a long time since I did anything not directly related to current projects. The decision to make it real-time was due to control of individual characters -- keeping it turn-based would turn it into another Paradise Cracked.

    Don't get your panties tied in the knot, though -- unless this prototype ends up being fun enough to warrant a full-fledged spin-off, I'm sticking to turn-based games.
     
    • Friendly Friendly x 1
    ^ Top  
  22. Joined on the 4th of July Arcane

    Joined on the 4th of July
    Joined:
    Jul 4, 2014
    Messages:
    1,402
    Make it use dual mice. Local multiplayer and ambidexterity training in one package.
     
    • incline incline x 2
    • Rage Rage x 1
    • Friendly Friendly x 1
    • Balanced Balanced x 1
    ^ Top  
  23. Viata Arcane

    Viata
    Joined:
    Nov 11, 2014
    Messages:
    5,935
    Location:
    Water Play Catarinense
    A mecha piloting game that requires dual mice would be interesting and more "realistic":
    [​IMG]
    To make it even better, you can also have local multiplayer with your wife/gf:
    [​IMG]
     
    • hopw roewur ne hopw roewur ne x 1
    • Funny Funny x 1
    • incline incline x 1
    • WTF am I reading WTF am I reading x 1
    ^ Top  
  24. Nathaniel3W Rockwell Studios Developer

    Nathaniel3W
    Joined:
    Feb 5, 2015
    Messages:
    468
    Location:
    Washington, DC
    I've seen parts of that anime somewhere. Can you remind me what it was? Was there ever any explanation given for why they pilot it like that? Or is it purely contrived soft hentai pervertry?
     
    ^ Top  
  25. Viata Arcane

    Viata
    Joined:
    Nov 11, 2014
    Messages:
    5,935
    Location:
    Water Play Catarinense
    Anime is Darling in the FranXX. I have not watched it so I can't comment on the rest.
     
    • Brofist Brofist x 1
    ^ Top