We got in touch in Nick Fallon the lead creator of F3D Engine to know exactly what wonders can it do. What differences will it make to developers as well as gamers, Shaders, Particle Systems and a lot of things about F3D Engine.
Starting as a software engineer, getting into Fashion Photography for nearly four years and now going strong as the Technical Director of F3D Games, Nick Fallon talks about his very own creation: F3D Engine.
Read on to find out what F3D Engine is all about:
Gamepur: Tell us about F3D Engine, what does it do?
Nick: The F3D Engine allows game developers to build real time 3D games and deliver them directly to your web browser via HTML5 and WebGL. This allows us to build the sort of games you might play on your Playstation or Xbox, but accessed just by clicking on a link and downloaded in seconds! The engine doesn't need of any plug-ins to do this, this is becoming increasingly important as users become more and more suspicious of installing unknown plugins for fear of getting a virus.
The F3D Engine has a number of key features that make it easy to quickly build 3D games using a simple API, the key features are real time collision detection, spatial audio, chroma keyed video, particle systems and social APIs.
Gamepur: What knowledge should a developer have before working on f3d engine?
You should also have a good understanding of 3D geometry, which is essential to putting together exciting environments.
Gamepur: What difference will it make to the gamers?
Nick: The key difference to the user is how quickly we can deliver 3D content directly to them. If the user connects via facebook, they can directly access their content without entering an email, making a big download, installing gigabytes of files on their computer. Its just easy and fun! So many times I have seen an interesting game, then waited an hour to download a huge install, then lost interest and gone and done something else!
Gamepur: What are Shaders? What does Chroma Keying , Rim Shaders, and Blending Shaders each do?
Nick: Shaders are mini-programs that run on your graphic card instead of on your CPU.
We have all seen the making of documentaries where you see actors being shot with a green background behind them, then by the magic of film, the green colour is substituted for another scene like outer space. Well this is chroma keying (chroma for colour), where the key colour in this case green is replaced by pixels from another scene.
Our first game Cimmerian Space is a space combat game, and much like Star Trek our ships have shields, we use Rim Shaders to create the shield ‘bubble’ effect outside your ship.
Many of our effects take one image and lay it on top of another, for instance if we want to make a fire effect we can use ADDITIVE BLENDING to add the fire texture to the background, this will make the background lighter and more orange where the fire texture is added, if we do this lots of times the additions build up and make the fire glow in the center. There are other sorts of blending to, and a bit like math you can add, subtract, multiply your textures with your background.
Gamepur: Can you tell us more about the particle system?
Nick: We have a super flexible particle system that allows us to combine different actions on each particle in different combinations to produce different effects. Each particle is basically a single square texture that we can blend with the background. Each particle has some Initialisers that tell it how big to be, or what position to start in, and some Actions. Actions might be a lifetime, so the particle only last say 3 seconds before it gets recycled, a colour change, a size change, or maybe add some random noise to its position. Lets take a look at a smoke effect:
So our particle starts at point we choose, very small and transparent.
Each part lives for 3 seconds, during which time its gets more opaque, and rises upwards. But this would just give a column of smoke, so to make it spread out we add some random drift to it so it diffuses.
We can combine the Actions and Initialisers in different ways to create an endless variety of particle effects.
Gamepur: F3D Engine is for sites which have online gaming.What kind of games can be created using this engine?
Nick: At the moment the engine focuses on real time 3D games that require collisions, so that would be first person shooters, driving games, flight sims that sort of thing.
The Engine also has application in areas other than games, we recently did a demo for a visualization company in the US to create a virtual shopping mall, and we have had enquiries about making virtual museums for the edtech industry also.
We are seeking investment to expand the feature set, so for example we could build a real time strategy game in the future.
Gamepur: What effects are possible with Spatial sorting and Collision Detection?
Nick: So these two features allow us to make a 3D environment feel solid, without these features when you moved through the environment you could walk through the walls, and when you shot at an enemy your "bullet" would pass straight through them.
One approach to solving this problem would be to test your "bullet" against every single player or wall in the environment; however this would be really slow. So we use Spatial sorting to speed this up, we only test the players or walls that are in front of us and near to us instead reducing the time taken dramatically.
Gamepur: Why did you feel the need for creating F3D engine?
Nick: I have always had a love for real time 3D, in fact I have a Masters in it! I also spent some years as a web designer, and I had always wanted to see real time 3D on the web. Then one day about 3 years ago I saw a demo by MrDoob (mrdoob.com) that blew my mind, it was fast real time 3D in a web browser! I was fascinated; he had used a library called THREE.js to build the demos. At the time they only ran in Chrome, but I thought it was worth the risk and begin build the F3D Engine as THREE.js's lacked some of the features Cimmerian Space needed. 3 years later WebGL now runs in all major browsers and we also have a Google Play Store App. It was a big risk but I think it will pay off.
Gamepur: Any difficulties you had to face while creating this engine?
Nick: Math Math and more Math, oh and money too. If you are thinking of becoming a games programmer you had better like mathematics as that is how we simulate all these things on your computer! Fortunately the F3D Engine takes away most of your mathematical headaches so you can focus on building a cool game.
We are a start-up company and our budgets have been tight, so we have had to do allot with a little. However I am proud of my team of now 4 people, and I am positive that Cimmerian Space will be a success!
Gamepur: How much time did it take for you to create F3D engine?
Nick: 3 years
Gamepur: Any more information about F3D engine you want to give our readers?
Nick: One of the key things we haven't talked about is our touch tools for Android. We have developed a touch interface for Cimmerian Space that allows you to play the game on any android device using just your thumbs. The really cool thing is when you get home and sit down at your PC, you can carry on the game from exactly where you left off using your mouse and keyboard! So you can be out and about one minute chilling and playing in a café, or blast some space pirates at the end of a long day of work on your PC!
Cimmerian Space is going to be going to live Beta soon, if you would like to join us please sign up.