Export Voxels to Optimised glTF Mesh for Unreal Nanite
This post covers the specifities of exporting voxel assets for Unreal Nanite and how Avoyd optimises meshes for games.
Developing Avoyd voxel editor and renderer, and the technology we create in the process.
This post covers the specifities of exporting voxel assets for Unreal Nanite and how Avoyd optimises meshes for games.
We've introduced a new PRO licence for the voxel editor together with a new payment system using Paddle on our independent store. In order to concentrate on the voxel editor we've put the game development on hold.
A good introduction to the Runtime Compiled C++ (RCC++) technique, the video, transcript and slides of the talk Doug Binks and Matthew Jack gave at the 2012 Develop in Brighton conference.
We've added a GPU accelerated path tracer to Avoyd Voxel Editor for faster renders. I outline the renderer development, cover performance data, and our plans.
We've been selling Avoyd on the internet since 2001 using payment providers WorldPay then FastSpring. A recent event with FastSpring has pushed us to investigate store front Itch.io. In this post we describe how we've moved from FastSpring to Itch.io and what we think about it.
Reducing the number of polygons in 3D objects helps improve a game's performance. In this tutorial you export a voxel model to mesh, clean it up in Blender and export to game engines like Unreal, Godot, Unity.
Learn from my mistakes as I implement a GPU voxel octree path tracer based on my current CPU implementation in Avoyd. I cover the C++ to C conversion, buffer upload issues and data visualisation, enhancing the shader error logging along with a basic comparison of the performance on CPU and GPU.
Avoyd 0.13.0 is out. We're introducing the full, beta and demo release streams. Read about the full release including Minecraft lit blocks, how the demo is changing, how to teleport using the camera, and the workaround for exporting materials to Unreal Engine 5.1.
Introducing the new Avoyd Beta stream: fixes, updates and in-development features to download almost daily. Compare the 3 Avoyd streams Beta, Full and Demo. The free Avoyd demo will start to fall behind the full version.
Tutorial: how to make an isometric voxel render of a Minecraft map in Avoyd voxel editor, arcball camera, atmosphere and lighting, graphics quality and UI customisation
Minecraft maps import faster and have specular lighting, technical details about the data structure and starter guide for opening, exploring, editing in Avoyd.
This tutorial takes a small DirectX11 project, the Dear ImGui Example, and adds Runtime Compiled C++ to it for live editing.
How we use procedural generation to create large abstract worlds from simple boxe shapes in our game and voxel editor, Avoyd.
A procedural word generation and python tutorial using four simple building block: the four syllables of the 'Shadok' language.
In-game building is finally here. It's taken us a lot of time to refine and the result seems pretty simple, but we went through a number of iterations for getting in game building working fluidly and intuitively in six degrees of freedom - how do you build a 'floor' when rolling around in space?
The main addition to Avoyd 0.3.4 is in-game turrets. In this post we take a look at how the turrets work and how to deploy them, the new in-game tool selector user interface, and a brief overview of turrets AI, networking and HUD tech choices.
With version 0.3.0 of Avoyd we hit a significant milestone in development with the first release of gameplay along with multiplayer coop over Local Area Networks (LAN). Available for download now, this simple test features two enemy types, a drone spawner and drone fighters along with friendly drones. We have also simplified the movement modes to mitigate motion sickness. Watch our gameplay…
Why Avoyd's voxels are weirdly shaped, all the things you can do with the voxel editor, and what's coming next: the movement system and procedural generation.
Speeding up compile times for Runtime Compiled C++ up to 10x using the internal Microsoft Visual Studio C++ compiler flag d2cgsummary for compilation timing.
Last hit kill scoring in multiplayer team based games feeds toxic behaviour by encouraging competition within teams over cooperation. I propose that we take a different approach to scoring where two equal player attacks at the same time do not result in one player arbitrarily reaping all the reward. As a multiplayer cooperative game, Avoyd is likely going to suffer from problematic player…
We just stealth launched the Avoyd Voxel Editor Prototype for download, along with a purchase button for Avoyd.
Musician and sound designer Peter Highspot surprised us by producing original music and sound effects for the 2014 in-game fly-through. We couldn't resist sharing the video, and hope you enjoy it as much as we do! Peter Highspot is a freelance artist available for music and video sound design, contact: peter@highspot.fr.
Concept artist Rebecca Michalak explores colour palettes and lighting for Avoyd.
Working with artist Rebecca Michalak on concept art for Avoyd.
This is the second in a series of posts describing the implementation of the task scheduler along with its design goals and tradeoffs. Following on from implementing the interface to a lightweight lock free task scheduler in C++ I describe the internal workings. covering the task thread function, running tasks and task waiting.
First in a series of posts describing the implementation of the open source multithreading task scheduler enkiTS along with its design goals and tradeoffs.
Feral Vector took place in Hebden Bridge in May. This is a writeup about some of the many game we saw and played there. We hadn't planned to but we ended up showing Avoyd for the first time during the festival. We received nice feedback from people who played our prototype, which makes us think that releasing it sooner, even without gameplay, could be a good idea.
Precision issues when generating face normals in the pixel shader using the derivatives of position fixed by using eye relative position instead of world space.
How to configure the free PyCharm Community Edition to debug Google App Engine python projects, enable smart code navigation and completion, and use path variables.
Adding shadows, AO and AA procedural texturing to the game Avoyd. Use of voxel octree data to generate lighting and AO using ray casts and 3D textures.
Doug has recently made some changes to the visuals and the editing tool in Avoyd. On top of performance improvements, he added a spherical brush and started experimenting with procedural texture patterns. We want to use those patterns to show different properties of the materials in-game, such as health, culture, etc. as well as give a better idea of the scale of the world.
When using PyTools to debug python for GAE, breakpoints don't work due to a known issue. A workaround is to configure PyTools to use the old GAE dev_appserver.
Chris Priestman interviewed us and wrote an article about our work a couple of weeks ago. We went into more details about our plans than we have so far on our website, so do check it out if you want to find out more about what we're putting into Avoyd.
How to use Google App Engine to masked redirect a URL to a desired domain. Our proposed method of URL redirection involves a python script using the webapp2 framework running server-side on GAE. As a result of this setup, you can have visitors requesting content from one domain, say www.new-url.com, see content which is hosted on another such as www.old-url.com. This is particularly useful if you…
Avoyd now uses voxel octree streaming from the server to clients in order to get rapidly loaded large environments with long view distances. This is part 4 of the series on Octree streaming. Getting rapid movement to work well without framerate hitches required a few optimizations to the client side octree streaming system, which I've detailed in this post.
How we started with a bug and ended up with a music video collaboration with the awesome nervous_testpilot. This post is also a retrospective of the last few months: loads of screenshots of Avoyd in various states of evolution and bugginess.
presskit() is a free, open-source tool that enables game studios to present information to the press in a unified format. If you would like to use presskit() on GAE, I explain in this post how to download and install our implementation as well as give an overview of the changes we made.
Avoyd now uses voxel octree streaming from the server to clients in order to get rapidly loaded large environments with long view distances. This is part 3 of the series on Octree streaming
Avoyd now uses voxel octree streaming from the server to clients in order to get rapidly loaded large environments with long view distances. This is part 2 of the series on Octree streaming
Avoyd now uses voxel octree streaming from the server to clients in order to get rapidly loaded large environments with long view distances.
Solving LAN network discovery issues on machines with multiple ethernet adapters.
New features in Avoyd: materials and multiple voxel models
The entire archive of the Developer's Diary Doug wrote in 2001-2002 when he was working on the first version of Avoyd is back on our website
Our website is updated with a new front page about Avoyd, and is now generated using a Python script
Suggesting a name for sandbox first person games like Avoyd: First Person Editors, or FPE. List of FPE games and links to their websites.
First video: editing the environment
How to host a static site on Google App Engine. This tutorial covers basic html, css for the looks, configuring app.yaml, how to handle a custom 404 - page not found, Disqus integration and a list of useful links and tools. No programming knowledge is required.
Networking using Raknet and multiplayer environment editing
First images of the rebuilding of Avoyd. The new optimized voxel octree structure enables large environments. The view distance is now around 2km with a voxel size of 1m.
Single and multiplayer gameplay modes and the role of AI