Otter FNA Progress

Otter FNA Progress
Sorry for the huge gap of silence. I got back from Game Developers Conference at the beginning of the month and then some kind of super heavy depression hit me hard. I'm starting to crawl out of it and making some progress on things again. Starting to get really annoyed at my brain and will probably have to take this a little bit more seriously in the future. Maybe some kinda doctor can help me out or something. Anyway!...

One of the projects I'm spinning up more now is a new version of Otter that uses FNA. FNA is an open source implementation of the XNA framework. A lot of people seem to think that XNA is somehow dead but with the advancements of things like FNA and Monogame I don't believe that to be true at all. As long as Game Maker wont let me use C#, and as long as using Unity for 2d is a gigantic pain, I'll be sticking with my current plan of making my next game with FNA.

The beginnings of Otter FNA in a somewhat broken state can be found on Github. I'm migrating over from Bitbucket so that hopefully more people can contribute and discover Otter. I personally really like Mercurial and Bitbucket, but the bigger audience is definitely over on Github.

The framework is somewhat useable right now, but has a long way to go. It's missing a lot in the realms of graphics and collider types still as I port those over from Otter SFML as I need them. I'm going to be building it out along side a game project. More on this as it develops, but I don't have as much time as I usually do because of another secret project that I'm involved with.


Hey Kyle! I really like the idea of Otter being ported to FNA, but I have a question. How are you gonna handle shaders? AFAIK, FNA cannot compile shaders at runtime and you need to use an external program to compile them. I personally think this approach makes FNA pretty much unusable. I tried to make a small 3D game engine in FNA a while back but also stumbled into this problem. Have you found a solution/workaround? Or are you planning on forcing shaders to be pre-compiled?
Posted July 2nd 2017 11:12 PM
This *is* one of the main issues. I was able to pull the exe that compiles shaders out of the direct x development tools sdk, or something like that -- it's been awhile since I did it now so I dont recall exactly what sdk it came from or what exe it was. With that approach though I can hook up a quick script in visual studio that will use that executable to build the shaders before the program itself whenever I do a build.

Unfortunately there's just not a perfect solution right now. SFML is starting to have more and more problems with C# with the updates it has in its current repository, and I would like to move away from it for porting purposes, and that would mean losing the ability to have just GLSL sitting in your assets to use as shaders.

In a perfect world I would figure out a way better way, and I would spend more time on learning more about graphics APIs to replace SFML with something of my own, but I don't think I'll ever have the time or the smarts unfortunately. Gotta have trade offs somewhere.
Posted July 5th 2017 11:55 PM
new comment!

Post your comment!