Official RPG 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. Nathaniel3W Rockwell Studios Patron Developer

    Nathaniel3W
    Joined:
    Feb 5, 2015
    Messages:
    606
    Location:
    Washington, DC
    Strap Yourselves In
    Equipment change, which highlights changes to your stats:
    [​IMG]

    The skill unlocking system. Here, everything available to this character class is shown as unlocked, but in the game you'll unlock one tile at a time, which will discover the adjacent tiles.
    [​IMG]
    Show Spoiler

    [​IMG]
    [​IMG]


    I spent virtually every waking minute of the last two days making those tiles and a bunch more. Most of the equipment icons I got from an Asset Store package, but I still had to do TONS of edits to get them ready. A few times I had to stop because my hand was cramping from holding the stylus.

    The blue and red stones (representing mana and hit-point bonuses, respectively) I made entirely on my own and I'm pretty proud of them. I took the marble background I had already made, messed with the color, used the liquify filter to make the center bulge, and added some shading and highlights.

    Any comments, criticism, suggestions, or questions?
     
    • Brofist Brofist x 5
    ^ Top  
  2. ERYFKRAD Barbarian Patron

    ERYFKRAD
    Joined:
    Sep 25, 2012
    Messages:
    21,311
    Strap Yourselves In Serpent in the Staglands Shadorwun: Hong Kong Pillars of Eternity 2: Deadfire Pathfinder: Kingmaker
    Some of the icons are repeating like that sword with a gold glowing outline. Is that for alternate routes to acquire the same skill or do they stack?
     
    ^ Top  
  3. Nathaniel3W Rockwell Studios Patron Developer

    Nathaniel3W
    Joined:
    Feb 5, 2015
    Messages:
    606
    Location:
    Washington, DC
    Strap Yourselves In
    They stack. Also, there will be different tiers differentiated with numbers in the upper right corner. Right now they all have the same icon, but I'll add the numbers on soon. And also, some of the skills share an icon, and I might add some unique icons later.
     
    • Thanks! Thanks! x 1
    ^ Top  
  4. Thac0 JRPG ambassador Patron

    Thac0
    Joined:
    Apr 30, 2020
    Messages:
    2,745
    Location:
    Arborea
    The tiles look gorgeous, and your current card skill upgrade system is certainly one of the weakpoints of Himeko Sutori.
    This looks strongly FFXII license board inspired, and imo it will be a sizeable upgrade to your game, as that is a fun system.

    If it is possible I would add a number which shows the base stat. So in this case instead of just a blue 70 have it show 40 -> 70 and the 70 in blue. Gives just an ounce of information more.

    Also I would put all of these pics with a little text on the Steam community tab as news, at least that is how other indies do it. I constantly get community tab news from Age of Fear for example to gather hype for the next patch. Currently Himeko Sutori only has patch notes on the news tab, which looks a little dry.
     
    • Brofist Brofist x 1
    • Thanks! Thanks! x 1
    ^ Top  
  5. vortex Fabulous Optimist

    vortex
    Joined:
    Mar 25, 2016
    Messages:
    3,715
    Location:
    Temple of Alvilmelkedic
    What does it mean deferred rendering? I know to google but can someone expain it in layman's term?
     
    ^ Top  
  6. Bad Sector Arcane Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    1,210
    Insert Title Here RPG Wokedex
    Deferred rendering pretty much always refers to deferred shading (similarly with deferred lighting - technically deferred lighting and deferred shading are slightly different approaches but in practice everyone uses deferred rendering, lighting and shading to mean the same thing).

    The idea is this:

    The classic approach to shading (aka "forward shading") is to figure out which lights affect which meshes and calculate the shading when rendering those meshes on screen, so e.g. for each pixel the pixel shaders would go over every light that could affect that pixel and figure out if and how the light affected it. Usually this was done by first figuring out which lights affected the meshes, then when rendering the mesh, information about those lights would be sent to the shaders. The issue with this approach is that often lights would be taken into consideration even though they barely affected the pixel and there was limited space for the shaders to get info about those lights (this isn't much of a concern these days though). Most often engines only took a single light into consideration and rendered the affected meshes multiple times with additive blending for each additional light, so a mesh that was affected by -say- 10 lights would be rendered 10 times.

    In deferred shading instead of rendering the final shaded image to the screen, the scene is "rendered" into separate textures which (usually) have the same resolution as the final image with each texture storing information that can be used to calculate lighting - e.g. the position of a pixel in 3D space, the color of the texture at that pixel (but without any lighting done), the normal (direction) of the surface at that pixel, etc, with these textures often being called together as the "g-buffer" (for geometry buffer, though that name might be misleading as it doesn't store the geometry itself, just information about the geometry at the pixels that were rendered). After this is done, the renderer finds the lights that are inside the camera's pyramid/frustum and for each one of those lights it performs a separate pass over scene in the area that the light would affect. Traditionally this was done by rendering a sphere around the light with a shader that did the lighting calculations but other approaches were used too (e.g. full screen quad with clipping around the light bounding box) and nowadays this is often done in small "tiles" in screen space using a compute shader. But pretty much every approach has more or less the same idea of instead of calculating the shading when rendering the mesh, to calculate at a later step from the data stored in the g-buffer.

    The positive of this approach is that it is much faster to handle multiple lights, especially with complex geometry, since if 10 lights are affecting a mesh it will still only rendered once and only the part that calculates the lighting will care that there are 10 lights there (but that will be done only for the affected pixel(s) which is way cheaper).

    The negative is that it only works with opaque geometry, transparencies do not work with it (because the g-buffer can only store data for one surface per pixel) and they are often done with forward rendering (or a forward-like approach). Also the g-buffer requires more memory and has much higher memory bandwidth demands - which increase a lot if you add MSAA in the mix. But often the pros outweigh the cons - e.g. it enables a lot of screen-space algorithms, such as screen space decals which can affect the underlying color and normal data of complex non-planar surfaces with little performance impact.
     
    • Brofist Brofist x 4
    • Prestigious Prestigious x 1
    • Informative Informative x 1
    ^ Top  
  7. The Avatar Pseudodragon Studios Developer

    The Avatar
    Joined:
    Jan 15, 2016
    Messages:
    313
    Location:
    The United States of America
    Forward rendering fully draws each object, lighting and all.
    Deferred rendering draws objects to separate offscreen buffers and then does the lighting in screen-space.
     
    ^ Top  
  8. curds Savant

    curds
    Joined:
    Nov 24, 2019
    Messages:
    472
    Vodyanoy, Kappa, Neck, Merrow.

    Stolen from here: https://en.wikipedia.org/wiki/List_of_piscine_and_amphibian_humanoids

    Some Lovecraftian name is always a safe bet for fishpeople, too.
     
    • Brofist Brofist x 1
    ^ Top  
  9. 50726f73706572 Arcane Patron Developer

    50726f73706572
    Joined:
    May 30, 2021
    Messages:
    268
    I normally don't post here. But here's a look at the status of my game:

    https://vimeo.com/578955725

    Believe it or not you're looking at my gui after i "redesigned" it.
    Made tweaks to gui since making the video.

    I can't predict the future but once people give my game a chance, they'll like it.
     
    • Informative Informative x 2
    ^ Top  
  10. Nathaniel3W Rockwell Studios Patron Developer

    Nathaniel3W
    Joined:
    Feb 5, 2015
    Messages:
    606
    Location:
    Washington, DC
    Strap Yourselves In
    You and TheDeveloperDude really need to collaborate on a project. I feel like your styles are very complimentary.
     
    • nice nice x 1
    • :M :M x 1
    ^ Top  
  11. 50726f73706572 Arcane Patron Developer

    50726f73706572
    Joined:
    May 30, 2021
    Messages:
    268
    I've lost most of my social skills getting to where I am, so a true collaboration with another person will never be possible.
     
    ^ Top  
  12. 50726f73706572 Arcane Patron Developer

    50726f73706572
    Joined:
    May 30, 2021
    Messages:
    268
    New main menu today, among other things.

    [​IMG]
     
    • hopw roewur ne hopw roewur ne x 3
    • incline incline x 1
    • Balanced Balanced x 1
    ^ Top  
  13. TheDeveloperDude Educated

    TheDeveloperDude
    Joined:
    Jan 9, 2012
    Messages:
    52
    Does anyone use Test Driven Development method here?
    Or any automated test/unit test for game development?
     
    ^ Top  
  14. Twiglard Arcane Sad Loser

    Twiglard
    Joined:
    Aug 6, 2014
    Messages:
    3,791
    Location:
    Poland
    That's a retarded idea, no. You can't design an API without properly implementing it. Otherwise you have to constantly rewrite the tests. All abstractions are leaky.

    Good luck making your game logic deterministic and invocable in a non-interactive fashion. It absolutely can be done, but it's not an easy thing to do and to maintain.
     
    • Agree Agree x 1
    • Thanks! Thanks! x 1
    ^ Top  
  15. Finitron Learned

    Finitron
    Joined:
    Sep 1, 2020
    Messages:
    344
    The video doesn't work for me. It says:
    "
    Sorry, we couldn’t find that page


    Reasons you might be seeing this page
    • It exists, but you don’t have permission to see it, or you need to log in.
    • Nothing has ever existed here. Spooky.
    • Something once lived here, but has been deleted".
     
    • Despair Despair x 1
    ^ Top  
  16. RPK Learned

    RPK
    Joined:
    Apr 25, 2017
    Messages:
    190
    if you make your game logic accept a random number provider interface as a parameter to either a method or as a class constructor, it's easy. It's basic dependency injection. That's how all unit testing is done.

    Your real class injects the real random provider and your unit test inject an implementation that always provides the same value. that way your "random" value is now deterministic.

    all of your game logic should be in separate classes from the classes that provide interaction with the player or the world in any way so that it can be tested via unit tests.

    Test driven development is a perfectly valid approach.
     
    ^ Top  
  17. Bad Sector Arcane Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    1,210
    Insert Title Here RPG Wokedex
    I haven't seen that be done in practice in released projects anywhere, not to mention it doesn't really work with the script-based approach pretty much all engines use.

    I have seen unit tests for stuff like the low level matrix, math, etc stuff but i always felt they were a waste of time since a) anything that breaks there will be immediately obvious since a TON of stuff are built on those and b) these are pretty much written once and rarely touched while unit tests are mainly useful for refactoring.

    I have seen other forms of automated testing that helps though, but that is for high level stuff, like loading a map and having automated (recorded) input played to ensure the engine wont crash.
     
    ^ Top  
  18. Nutria Cipher Patron

    Nutria
    Joined:
    Mar 12, 2017
    Messages:
    1,682
    Strap Yourselves In
    I have absolutely no idea wtf I'm talking about, but from what I've heard that's something that works best when you scale it up to running a factory or something. Probably doesn't help much in a small team. IIRC it's best when the people writing the tests and the people writing the code are separate, so it wouldn't help that much if you're not on a huge project.
     
    • Agree Agree x 1
    ^ Top  
  19. zwanzig_zwoelf Graverobber Foundation Developer

    zwanzig_zwoelf
    Joined:
    Nov 21, 2015
    Messages:
    2,758
    Location:
    デゼニランド
    And what exactly are you trying to achieve with this?

    From what I know, it's a waste of time if you're a solo dev / tiny team working on a project with a reasonable scale.
     
    • Agree Agree x 2
    ^ Top  
  20. rusty_shackleford Arcane

    rusty_shackleford
    Joined:
    Jan 14, 2018
    Messages:
    31,993
    who needs automated testing when you have early access?
     
    • Funny Funny x 2
    • How about this as a button How about this as a button x 1
    • :M :M x 1
    ^ Top  
  21. Bad Sector Arcane Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    1,210
    Insert Title Here RPG Wokedex
    Yeah, unit tests aren't useless by themselves but they aren't a magic hammer that makes things better with every wack. They are useful largely to ensure that assumptions are still valid (test-driven development is just writing code that has those assumptions first), but they do not fit all purposes and even where they work their "RoI" depends heavily in your team's structure.

    Personally i wouldn't bother with unit tests for anything related to games, but i would bother with unit tests when it comes to things like scripting languages that i want to keep backwards compatible. I'd also consider automated tests (many people confuse the two but unit tests are just a form of automated testing, not the only one) for stability tests and if i had a dedicated building PC i'd most likely have it perform such tests. 99% of time they'd work but they are also trivial to implement and can help especially with crossplatform projects (e.g. your work on one platform could accidentally break some other platform which can be easier to fix immediately after you notice it rather than at a much later point).
     
    • Agree Agree x 1
    • Informative Informative x 1
    ^ Top  
  22. RPK Learned

    RPK
    Joined:
    Apr 25, 2017
    Messages:
    190
    I've written unit tests for everything from character creation to the combat engine. I'm currently sitting at nearly 300 unit tests in my project. and yes, all of the logic of the engine is in scripts separated from the code that anything to do with user interaction or game physics or anything else that has to do with the game engine. I can't imagine what a nightmare testing must be otherwise.
     
    • Brofist Brofist x 1
    • Funny Funny x 1
    • (autism) (autism) x 1
    ^ Top  
  23. TheDeveloperDude Educated

    TheDeveloperDude
    Joined:
    Jan 9, 2012
    Messages:
    52
    I am a solo developer.
    It sounds a great idea to have tests. I modifying a program and running the tests I am sure I have not ruined the system.
    But I cannot imagine how I can achieve that.
    For example one of the player characters is attacking a monster. I have to create a PC and a monster. Then execute the attack, look at the result. But there is a lot of randomness. It is crazy.
     
    • Agree Agree x 1
    ^ Top  
  24. RPK Learned

    RPK
    Joined:
    Apr 25, 2017
    Messages:
    190
    this is why you have your characters and attack logic and everything that doesn't have to be "physically" represented on screen separated out into their own classes so they can be instantiated by themselves. Then you have a container class that gets attached to whatever is managing the visual elements on screen that also contains these objects and refers to them as needed.
     
    ^ Top  
  25. Bad Sector Arcane Patron

    Bad Sector
    Joined:
    Mar 25, 2012
    Messages:
    1,210
    Insert Title Here RPG Wokedex
    I have heard about people attempting this for years now in games, even doing "proper" test-driven development. The thing is, i never heard of any released games doing this which is exactly why i wrote "I haven't seen that be done in practice in released projects anywhere" (note that i do not include trivial proof-of-concept games like, e.g. pacman, boulder dash or some match-3 game where you do not see or can 'bruteforce' through the overhead imposed by unit testing/TDD).

    I mean there might be some but it is so incredibly rare that i think it is a testament towards its (in)applicability in games.

    (also FWIW i have a personal bias since with only a single exception, pretty much everyone in my career who tried to push unit tests, TDD and similar buzzwords were mediocre-at-best busybodies and every single competent programmer i know is at best not fond of and most often against unit tests - note that all this is in the context of game development, not general development, unit tests are very useful in some cases in other contexts)

    Scripts are also code, but what i meant is engines that have you put scripts here and there alongside the scriptable elements. It is certainly not impossible to do what you describe but it works against design and intent of an engine that uses scripts like that.
     
    ^ Top  

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.