Code Monkey home page Code Monkey logo

Comments (2)

persn avatar persn commented on July 22, 2024

One potential problem with this, is that asset files are pre-processed by the MonoGame pipeline tool. We can't exactly provide a copy of every asset for every platform/graphic renderer since this would essentially mean doubling our game size for a minor feature.

We should probably figure out if which assets can and cannot be used over multiple graphic renderers, audio is probably fine, shaders is probably not, unsure about sprites/textures. If for instance we only need to include multiple variations of shaders, then that is probably doable as it wouldn't increase size much, or any.

from hero6.

persn avatar persn commented on July 22, 2024

I was a able to hash out a functional prototype, I was actually really impressed with how great the result turned out, I was expecting having to make some hacks for this, but it's all kosher.

Textures works on both DirectX and OpenGL, not surprising since I believe they're raw bitmaps. Sound effects work, however music does not to my surprise. The MonoGame platforms pre-processes music files differently, "WindowsDX" makes files in the .wma format, and "DesktopGL" in the .ogg format, and then most likely the MonoGame software has a pre-processesing directive to include interpreter only for the relevant format.

The easiest way to resolve this would be to include a copy of the soundtrack for each platform but that takes too much space on the user's expense, the soundtrack is most likely one of the most space consuming things we'll have in this game.

We could also open an issue at the MonoGame repo and ask to have playback for multiple audio formats for single platforms implemented. However, they might have had a reason to not include this feature in the first place.

Alternatively we could also make our own audo handler, which is probably out of scope for this project.

https://github.com/persn/Hero6/tree/develop/feature/renderer

Either way I'm done with this for now.

from hero6.

Related Issues (20)

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.