Code Monkey home page Code Monkey logo

Comments (5)

florianvazelle avatar florianvazelle commented on May 28, 2024 1

Sorry, I may have strayed off topic by adding the notion of addon 😅

But that's because for me a template isn't really interesting, and will be unique to each developer. If someone uses a template, he'll modify the files, reorganize them ... and it's harder to update or fix the template retrieved from git. That's why I think making an addon is cleaner, because you'll really have something separate.

In my opinion, the two repositories should be merged, and the merged repository should look like what the goat template is intended to do, migrated for use as an addon (miskatonicstudio/goat#303).

There's always the demo, but we could give developers something modular (shaders + scenes + resources ...), which would allow them to recreate the demo in their own project, with their own assets, whether they wanted to do psx or n64 style.

This avoids duplication of code, for the demo and shaders (pp_band-dither.gdshader for example), and provides a single location for issues.
And using it as an addon makes it easier to add (/update) to projects, avoid copy-paste individual files, and avoid including demo assets.

My opinion is very personal, because I think you don't want to merge the two shader repositories ? If such is the case, then yes, I think that making a third repository for the demo/template is a good idea 👍

from godot-psx-style-demo.

florianvazelle avatar florianvazelle commented on May 28, 2024

Hi @MenacingMecha, why not provide shaders as addon (under an addons/psx-n64-shaders directory), you can provide it on godot asset library and exclude models or demo scenes from export ?

from godot-psx-style-demo.

MenacingMecha avatar MenacingMecha commented on May 28, 2024

Hi @MenacingMecha, why not provide shaders as addon (under an addons/psx-n64-shaders directory), you can provide it on godot asset library and exclude models or demo scenes from export ?

I did consider this at one point, but found the workflow a little too messy after looking into it. Plus, if they were to be on the asset library, I'd also want the demo available as it's own separate template entry.

Splitting the shaders into a separate repo and organising them in a way where they can be distributed on the asset library is a good shout, though. Worst case, there could always be a separate repo driven by CI magic solely for packaging for asset library.

from godot-psx-style-demo.

MenacingMecha avatar MenacingMecha commented on May 28, 2024

Example of separate demos causing duplicated labour:
MenacingMecha/godot-n64-shader-demo@f9ee31d
a44c55c

from godot-psx-style-demo.

MenacingMecha avatar MenacingMecha commented on May 28, 2024

Sorry, I may have strayed off topic by adding the notion of addon 😅

No, not at all - it's something I didn't think about, and would be a good change for how (I think) most users interact with this.

In my opinion, the two repositories should be merged, and the merged repository should look like what the goat template is intended to do, migrated for use as an addon (miskatonicstudio/goat#303).

Reviewing the shader code more closely, they are very very similar, and definitely would benefit from being merged into one location with further shader includes.

As addons can't be used without duplicating the contents, and the goal here is to reduce duplication, I think I will go ahead with having a separate repo that packages the shaders for the asset store.

In summary

  • Merge the demo repos, and have a menu setting to swap between PSX and N64
  • Merge the PSX and N64 shaders in a separate repo, added to the demo via submodule
  • Add a third repo that packages the shader repo for asset store download, as this has different requirements that are incompatible with submodule usage

from godot-psx-style-demo.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.