Giter VIP home page Giter VIP logo

bna's Introduction

BNA

A minimal game framework inspired by XNA for the Beef programming language

Third party dependencies

BNA depends on a handful of third party libraries. Windows 32 and 64 bit lib+dlls of these are included, if you want to compile for other platforms such as Linux or Mac you'll need to compile these yourself:

  1. FNA3D - https://github.com/FNA-XNA/FNA3D
  2. SDL2 - https://www.libsdl.org/download-2.0.php
  3. SoLoud (compiled with WITH_SDL2) - https://github.com/jarikomppa/soloud

Usage

See Wiki for getting started guide + documentation (Getting Started)

bna's People

Contributors

fxgenstudio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bna's Issues

Content

My application crash in GraphicsDevice class, LoadBuiltins() doesn't find contents files .
How to add them to ResourceUtility ?

	private void LoadBuiltins()
	{
		// built-in effects
		let blitBytes = ResourceUtility.ReadAllBytes("./Content/Shaders/blit.fxo");

Enhancement: Support more platforms out of the box

Right now binaries and project configs for 32 and 64 bit Windows builds are already provided, but anything else (Linux, Mac, etc) requires some extra legwork from end users not only having to compile FNA3D, SoLoud, and get SDL2 binaries, but also having to configure the project too. Would be nice if I can find a way to get these other binaries compiled and provided along with the right project configs.

I don't currently have access to a Linux machine, though I've been thinking of snagging a LattePanda as a home build server so that might be a good candidate for making Linux builds. Mac, I think I'll need some outside help with making builds. Don't exactly have the funds for a Mac right now.

Other platforms should be investigated too (Android & iOS), but I don't think Beef directly supports them from the IDE yet so likely a low priority.

Effect.SetMatrix4x4 does not check for row/column major matrices

Effect.SetMatrix4x4 currently does not check if it's assigning to a row major or a column major matrix property - and it really should, because I just lost an entire day to realizing that I was passing row-major matrices to a shader that expected column-major.

I should add a Transpose function to Matrix4x4 and then have Effect.SetMatrix4x4 automatically apply the transpose if it's assigning to a column major matrix property, so users don't have to worry about this detail.

Enhancement: Auto copy built-in resources to dependent project's Content folder

At some point, it would be nice if BNA automatically copied any built-in effects it needed directly into a game project's Content folder as a post-build step, and additionally if as part of the Getting Started guide a post-build step was added to have the game automatically copy the entire Content folder from the project folder into the output build path.

Currently blocked on CopyToDependents hard-crashing the IDE when given a folder path to copy (need to gather crash log and send to Beefy so they can investigate)

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.