FiSSION 3D Game Engine for Wii homebrew

[PunMaster] wrote in to tell us that he has just released the first public demo of FiSSION Project. It’s a homebrew 3D game engine for the Wii. He’s hoping it will make development easier for other people that want to get into the Wii hacking scene. The project was originally spun out of similar work he was doing targeted at XNA for the 360. This is just a demo to generate interest in the project and hopefully get some feedback as to what’s needed to make a full release possible.

b) not exactly fly mode either – technically “no clipping” mode where the user isn’t affected by gravity or walls; used for testing maps in-game or by map editors for camera control.

nice post – I’ve always loved messing with the various game engines, APIs & SDKs; projects like this always give a lot of power to the hobbiest on a professional level. stuff like this is what got me into coding and development–now my job! ;P

this looks like a really promising engine, what with its no TEV shader support and no decent lighting support leading to N64-quality graphics, and no demonstrable audio / scripting / networking / physics support.

Let’s be honest, this is less a game engine and more a college student’s side project when not doing bong hits.

i’m so unbelievably sorry that my game engine isn’t better!! how will you ever forgive me? i mean, this project is such a waste of the volumes of clear documentation, 200-man dedicated developer team, and the millions of dollars in funding i am getting from nintendo! especially since i have no other purpose in life but to fulfill your every demand!! what was i thinking, producing such mediocre work?? seriously! what’s an early concept demo without amazing graphics, perfect physics simulation, lifelike audio, a massive online multiplayer community, and a fully developed scripting system??? my project is total crap!! i should never have even signed that well paying contract! i am deeply sorry i have failed and offended you, my master!!

interesting, but since you can get a pc to recognize input from the wiimote, i wonder why bother making games to use the wii console. would’nt a pc game using the wiimote be more or less the same and much easier?

Pretty cool game engine! I like the fact that you were actually able to port out to the wii in the first place. So how does your engine work? I mean to say, does it load up into the wii’s memory and then you walk through it? or does it run in the Opera browser?

What software did you use to build your environment? and what is the scale of the environment?

Also will you be releasing your engine to the community for others to be able to build environments?

I ask such newbie questions because I am considering trying to build environments for a wii homebrew game and really couldn’t find any info on how to do this.

FiSSION runs through the Homebrew Channel (as seen in the video). This means that it runs as a full-power executable program, the same as a store-purchased game does. It is not running under a web browser or any other “virtual environment”. It is real application code just like any official Wii application. The only difference is that my applications requires a modded, Homebrew Channel installed, Wii (because my code is not signed by Nintendo).

In a nutshell, FiSSION works by loading 3d objects and textures from a memory card, decompressing them, putting them into the Wii’s memory, and telling the video card in the Wii to draw them. Then it receives input from a usb mouse and keyboard to allow the user to change their viewpoint.

I am using devkitppc, a c++ compiler / toolkit for the Wii, to build my applications. See the tutorials on wiibrew for more information on how to get started using devkitppc to build your own homebrew apps.

I eventually plan on releasing the full source code for FiSSION, but not immediately. I want to develop it a little more before I let the world dig their claws into it.

The game content (the actual objects and graphics that the engine is loading) has been converted from files taken from from Bungie’s Halo. I used them because I didn’t have anything original made yet (and because I’m not the best at modeling). Please (please!) note though: this is not by any means a port of Halo. It is an original game engine that I am demoing using objects taken from Halo. As soon as I make some new levels, all traces of Halo will be gone from FiSSION permanently. I’m not going to go into the details of model / map creation, but if you’re interested, google the keyword “blender”.

Well I hope that clears things up. Glad to see you liked it. :) See ya.

oh ya, punmaster is completely right. blender is an amazing modeling, and texturing program. its also really really well documented. in fact i think it would be really useful if you could set up your game engine to use the blender model types. it would save you, and a lot of other people, a bunch of time. you don’t have to code a modeling system, and people could use the easy system that blender provides. its a win win :) but this is just a suggestion its an awsome project as is so don’t think im demanding anything.

PS. im woundering what you are currently working on for your engine at the moment. good job and keep it up.

@totter333
You said my thoughts exactly. :) I have no intention on reinventing the wheel in terms of model creation. In fact, I am currently working on a set of game / level development tools that will work in conjunction with blender for the creation of FiSSION content. Likewise, FiSSION is not by any means an abandoned project. I have been actively working on it whenever possible, and have certainly made some decent progress since the first release. Still, I have some pretty high goals (and a lot of tedious coding) between me and my next planned release, so it might be a few weeks or more before you see anything new. Either way, check back often, and have fun. :)

do u know exactly how you are going to connect your engine with blender? like simply making the model extensions compatible, or (in an extreme example) make the whole blender modeling engine available in your project. not quite sure if the latter will be a reasonable expectation for anyone, but it sure as heck would be cool XD

The current system I’m working on goes more along the lines of your first statement. You export your models from blender as “obj” files, and import them into the level designer, where you combine all your objects (level, scenery, weapons, etc.) into a game map. I am hoping to eventually write a custom export plugin for blender that pulls out additional information that could be useful to the editor / engine. Even tighter integration might come later, but for now, this system seems to be working. :)

I am an XNA developer and have recently started looking to Homebrew. The fact that FiSSION has roots in XNA may encourage me to use it over Wire3D. However there is no source. It’s 2014 and nothing has been updated…perhaps you wouldn’t mind sharing the source with the world now ;-)