Internal World Editor And Architecture Improvements

Architecture Improvements

After my last blog post I have been finishing up automatically generated Level Of Detail (LOD) for the terrain system that has a configurable level count and scales based on other terrain settings. At this point I had completed all the tasks related to performance and optimization of all currently added features. The entire game engine was built in a way that made it very easy to test and debug core components, but as the engine is now in a more mature state I thought it was the right time to improve the architecture of the engine to allow for more dynamic development and automation. The goal was to make the engine a seperate library that is automatically included and set up using a project template. All components in the engine can be customized by inheriting classes and injecting project specific types on initialization. By doing this the development process feels like native programming using a graphics API, and all of these features are accessible through the game project when desired, but instead you are skipping the hassle of building every core and render feature by yourself. It’s a balanced combination of simplified component based development and lower layer programming.

Internal World Editor

Now with the new architecture all set I was able to build new systems on top of the engine. With game prototyping on the agenda I had to start building a good world editor to make maps/levels with. I considered multiple implementation options including making a seperate project that spit out map files. But this created a lot of programming overhead having a seperate tool and code base along side the engine itself, and it would make my plans concerning customizability and extensibility of the engine and game projects very hard to combine with the editor. Therefor I decided that implementing the editor inside the engine would be the best option. I didn’t have to start a new project, there was no need to update it along side the engine in the future and it automatically works together with the engine and game specific types. Only developers will need this world editor to create their game and it doesn’t have to be included in the final game release. To cut the editor out of the game automatically I assigned it to the debug build of the game exe by default, but it’s still configurable to enable it in the release build as well. The world editor currently supports moving, rotating, scaling, adding and deleting of objects and morphing of terrain shapes. There is also an undo and redo feature available that makes designing a little bit easier. More features will be added to the world editor while engine development continues.

So to sum things up, it’s now possible to create a new game project with just a few clicks. And by writing a few lines of code you can build custom objects, scripts or work with the underlying graphics API. You can inject game specific types into the engine and world editor, and design your worlds while you are playing the game. A final deployment of your game is done using a single build mode switch and automated asset file packing into a game folder.

Read More

A New Round Of Performance Testing

Hey again! Progress on FPEngine is currently slowed down a bit because I’m in the process of rewriting core parts of the renderer for performance improvements. And since a culling system was added, a bug was fixed related to certain GPU’s and some optimizations are done, I thought it was time for a new performance test. At this point I’m simply testing the performance by checking the framerate with all graphical options enabled and maxed, using the same hardware for every test. I use this method to make sure that while I’m rewriting things the performance goes up and not down.

Using an Intel Core i7-4720HQ combined with an NVIDIA GeForce GTX 970M (3GB dedicated VRAM), the engine managed to reach 5.3 million visible polygons drawn on screen per frame before dropping below the 60 frames per second minimum. This is a massive improvement as the previous test resulted in 1.3 million. Right now the scene contains a point light that isn’t optimized yet. It draws every single car mesh that’s visible in its light camera’s into the cubemap for shadowing. So that means those 5.3 million polygons are all rendered for a second time in a depth shader. Performance will greatly improve once I get to implementing light range and selective lighting/shadows. Directional lighting (e.g. sunlight) is also coming up to light up the scene after I complete the core rendering tasks.

The next thing up the list is Level Of Detail (LOD). While currently having about 16k polygons per car mesh for the performance tests, it doesn’t mean that lower resolution meshes will improve the overall performance in a scene. I have to make sure that no more vertices are being processed than the ones required to make a scene look good. The engine will need LOD for both terrain and objects to filter out those unnecessary vertices in the distance, where you can’t see details in an object no matter how many you are drawing because it’s simply too small on the screen.

Read More

FPEngine – What Is It?

Today I decided to put up a page explaining some things about FPEngine. It is a 3D game engine that I have been working on for quite a while now.

It started out as playing around while still doing other work on the side, without any designing or planning ahead. But it kept growing, to the point where there was no other way around it anymore. FPEngine became the main project for Flying-Potato as the smaller ideas I had were all on hold while I worked on the engine.

For more details about FPEngine and some preview images, visit its page here: FPEngine.

I would love to hear your thoughts about this project and I’m open for collaborations. While the engine isn’t public yet and only used from inside Flying-Potato, there could be opportunities to make games with it before it gets released.

Read More

Asteroid Storm on IndieDB

Our newest game Asteroid Storm has just been authorized on IndieDB. You can now follow us here or on IndieDB to get the latest updates on the game. Please support us by giving feedback and by rating the game so we can improve future games and updates! You can find the game on IndieDB here:

 

Read More

Asteroid Storm Released

Asteroid Storm is an improved version of the famous arcade game “Asteroids”. We plan to add more content and features to the game if it is received well by the public. The game is still waiting for approval on IndieDB but we couldn’t wait to release it, so it is only available here on Flying-Potato for now! It is completely free so download it now at our games page!

Read More

3D Modeler Position

Flying-Potato is searching for an experienced 3D modeler that is able to create detailed monsters and simple objects for our current horror game project, and maybe for future projects as well. We are developing the game with Unity, so most 3D modeling applications are supported. This job is not paid, but your desired name will be added to the game credits so the game can be added to a portfolio if needed.

Information about the project:
We are currently working on a 3D horror game that needs simple objects and detailed “enemies” to make the game feel scary. The game is being made in Unity and will be released for Windows, Linux and Mac. For more information about the project please contact us. The game is currently in a very early stage of development so we will not release too much information in public just yet. This also means you can have some influence in the development of the game. You may give feedback, suggestions, etc.

We prefer to keep contact by email or skype.

Interested?
Send us an e-mail at flying.potato.games@gmail.com and please attach some pictures of models you have made.

Read More

We are still alive

We haven’t posted anything in a while so I thought I’d let you know that we are still alive. We are still working on the horror game, which I can’t give more information about just yet. We also started a new project that is progressing pretty fast, we were able to build the main parts of the game in 1 month but there is still a lot of work to be done. Keep an eye on our website for more information on both games! :)

Read More

Scared of Pixels Update 2

Scared of Pixels has been updated with another new item! You can now pick up the yellow pixel to slow down the red pixels for a limited time. This will make it somewhat easier to dodge between them and get the blue pixels, but be careful when the speed of the red pixels goes back to normal! The longer you live, the longer they slow down and the faster the yellow pixel respawns. Good luck increasing your highscore!

Read More

Scared of Pixels Update

Scared of Pixels has been updated. We added another type of pixel, a blue one, that you can pick up to gain more points. It spawns at random positions across the map. The longer you live, the faster the blue pixel will respawn. Have fun increasing your highscore!

Read More

Scared of Pixels Released

Our newest game Scared of Pixels has just been released! It is build on a simple concept, dodging. You have to stay away from the giant pixels that fly across your screen. The longer you live, the harder it gets and the more points you gain. There is no ending, no final level, it is endless, so keep increasing your highscore to become the best! It is now available on our games page!

Read More