logo enkisoftware
Independent game developer making AVOYD
en  fr

Devlog - Billets Publiés en 2013

Developing Avoyd, a Voxel Editor able to handle large models and a six degrees of freedom movement Game with editable terrain.

LAN discovery with multiple adapters

Doug Binks - 05 Dec 2013


I was recently testing my LAN server browser dialogue menu with multiple machines running servers when I encountered an unusual issue. I had two machines, each running a server and a client. On one machine the client could see both servers, but on the other machine only the local server was found. The application had firewall permissions, and since the server was both sending and receiving packets without problem the firewall didn't seem to be the culprit.

Avoyd screenshot - user interface showing LAN discovery with two servers running on two different machines Working LAN discovery with two servers running on two different machines. Note the two IP addresses listed for Machine 1.

Continue reading

Playing with material worlds

Doug Binks - 30 Oct 2013


It's been a busy couple of months since my last technology update. After being laid low by a viral modification program masquerading as an Autumn cold, I have emerged into my cold weather form with time to spare for a bit of programming.

Avoyd screenshot - voxel world inside a voxel world

Some of my work has gone into improvements in the Runtime Compiled C++ I use to help program Avoyd with which you can catch up on over at the RCC++ blog. The rest has been on two fundamental features: materials and multiple voxel models.

Continue reading

Developer Diary archive

Juliette Foucaut - 30 Oct 2013


There's still a lot of work to do on the site as it's still pretty basic, but one thing I've been able to do thanks to the automation is to import the entire archive of the Developer's Diary which Doug wrote in 2001-2002 when he was working on the first version of Avoyd. It's been quite emotional to go through those old posts as it brought up a lot of memories, both good and bad.

The original Developer's Diary page on our old website

I hope you enjoy having a peek at the archive (list of posts below), and if you're one of the people who supported us all those years ago by testing the game and/or buying it, I'd like to give you a big thanks. You're part of the reason why we got back to working on our dream game. And also, there's you, thank you! :)

Note: you can find an overview of the Avoyd v1 (a.k.a Avoyd 1999) story and download the full game here.

Continue reading

Website redesign

Juliette Foucaut - 30 Oct 2013


A couple of months ago, my friend bananako made great suggestions to improve the looks of our website. I started tinkering and I hope the changes do justice to her input. (I recommend checking her blog, her drawings always put me in a happy mood :)

I also finally made a home page about Avoyd. I've been struggling to figure out what to say on that page, but we're happy with the result for now and I can easily change it as the project evolves. I still have to come up with a logo for Avoyd.

Avoyd

Continue reading

First Person Editor

Juliette Foucaut - 22 Oct 2013 - edited 07 Oct 2018


I think we should call sandbox first person games First Person Editors (FPE).

I was doodling around in Avoyd looking for inspiration: how do I describe our game? It's an FPS, but there's more to it and I think it's not the only game in that category.

Avoyd screenshot - First Person Editor (FPE), writing in-game If I can write in-game, it's probably an FPE.

Continue reading

First Avoyd tech update video

Doug Binks - 30 Aug 2013


Our first technology update video is available on Youtube. I wanted to show how modifying the environment works since I've recently improved this area. The graphics are still in the early prototype phase and I'm only rendering debug colours rather than materials - I find the aesthetic oddly pleasing though.

Continue reading

Implementing a static website in Google App Engine

Juliette Foucaut - 23 Aug 2013 - edited 15 Apr 2019


A robust website that successfully weathers spikes in traffic is a must when trying to sell and support a game over the internet. Last July Picroma suffered temporarily when they released their game, Cube World, for purchase. They then had to deal with a DDoS attack. More recently, Oculus Rift's site stalled when they tweeted about John Carmack's involvement in their technology.

Whilst we can only dream of enjoying the same level of interest, we'd like to spare ourselves the worry. When Doug researched a web hosting solution, he spotted that Wolfire used Google App Engine. They list their reasons clearly on their blog, and given that they have years of hands-on experience on the matter, we decided to follow their lead. As an added bonus, this solution is free for low levels of traffic.

Continue reading

Multiplayer editing

Doug Binks - 29 May 2013


I've just added networking using RakNet, and implemented level load from a server along with synced editing. This proved to be very simple to add as RakNet has a fairly clean interface. I'll admit to being very tempted to develop further the network code I used for the original Avoyd, but RakNet has a number of features I'd need to implement which aren't trivial.

Avoyd screenshot - multiplayer editing

Continue reading

First screenshots

Doug Binks - 09 May 2013


One of the key features we wanted for the new Avoyd was to support large environments. The old version of the game used a simple three dimensional array for storing the voxel data which restricted the size of the world. So for the new code I've implemented an optimized octree structure, which both helps with data storage limits and the calculation of lower level of detail (LOD) graphics for distant structures.

Avoyd screenshot - large world

Continue reading

Thoughts on gameplay modes

Doug Binks - 27 Apr 2013


Our plan for the new Avoyd is to expand upon the original free-for-all gameplay with single player, co-op and team vs team. We intend for all modes to use the same ruleset to create a consistent universe.

Competitive games are normally symmetric. This means players on either side have access to capabilities of the same power, though often with different styles. For example, in Quake Arena, every player is equal and has access to the same weapons.

Continue reading

Back in 1999

Juliette Foucaut - 11 Apr 2013


Over 13 years ago, Doug Binks (mainly) and I started working on a shareware-style game called Avoyd.

old Avoyd logo (Avoyd v1)

A first-person shooter set in zero gravity, gamers could play deathmatches against bots or other people on a LAN. To our knowledge, it was the first editable voxel game in which the players could build and destroy the entire environment.

Avoyd v1 screenshot

We sold digital copies of Avoyd over the internet for a few pounds, steadily increasing the price as we added more features. After Doug joined a games development company, we slowly stopped development and released the last version, Avoyd 1.7.1, in 2003. At that stage, many features and designs we had in mind had yet to be implemented in the game.

Our current project is based on the original Avoyd 1999. For more information and screenshots of Avoyd 1999, visit its press kit page.

  • We've released the original Avoyd, which we'll call Avoyd 1999 from now on, for free.
    To install and play on Windows 95 to current: and follow the remaining instructions.
 › 2023
 › Avoyd Release Streams and Minecraft Lit Materials
 › Avoyd Beta Stream
 › 2022
 › Isometric Render of a Minecraft Map in Avoyd Voxel Editor
 › 2021
 › Importing Minecraft maps in Avoyd Voxel Editor improved
 › 2020
 › Runtime Compiled C++ Dear ImGui and DirectX11 Tutorial
 › 2019
 › Boxes in Space: procedural generation of abstract worlds in Avoyd
 › Procedural python word generator: making user names out of 4 syllables
 › In-game building
 › Player-deployable turrets in Avoyd
 › 2018
 › Avoyd Game Singleplayer and Coop Multiplayer Test
 › Voxel Editor Evolved
 › 2017
 › Speeding up Runtime Compiled C++ compile times in MSVC with d2cgsummary
 › Multiplayers toxic last hit kill and how to heal it
 › Avoyd Editor Prototype
 › 2016
 › Black triangles and Peter Highspot
 › Colour palettes and lighting
 › Concept art by Rebecca Michalak
 › 2015
 › Internals of a lightweight task scheduler
 › Implementing a lightweight task scheduler
 › Feral Vector
 › Normal generation in the pixel shader
 › 2014
 › Python Google App Engine debugging with PyCharm CE
 › Lighting voxel octrees and procedural texturing
 › Patterns and spheres
 › Python Google App Engine debugging with PyTools
 › Interview
 › Domain masking using Google App Engine
 › Octree streaming - part 4
 › Black triangles and nervous_testpilot
 › Presskit for Google App Engine
 › Octree streaming - part 3
 › Octree streaming - part 2
 › Octree streaming
 ›› 2013 
 › LAN discovery with multiple adapters
 › Playing with material worlds
 › Developer Diary archive
 › Website redesign
 › First Person Editor
 › First Avoyd tech update video
 › Implementing a static website in Google App Engine
 › Multiplayer editing
 › First screenshots
 › Thoughts on gameplay modes
 › Back in 1999
 › 2002
 › ECTS 2002
 › Avoyd Version 1.6.1 out
 › Avoyd Version 1.6 out
 › 2001
 › Biting the bullet
 › Avoyd version 1.5 out
 › Monday Mayhem
 › Avoyd version 1.5 alpha 1 out
 › Avoyd version 1.4 out
 › ECTS 2001
 › Fun with Greek letters
 › Closer just a little closer
 › Back already
 › Artificial Humanity
 › Products and promises
 › Ecommerce
 › Explosions galore
 › Spring fixes
 › Open source and ports to other operating systems
 › Avoyd LAN Demo Version 1.1 is out
 › Thanks for the support
 › Avoyd LAN Demo Ready
 › Game Tech
 › Importing Minecraft maps in Avoyd Voxel Editor improved
 › Runtime Compiled C++ Dear ImGui and DirectX11 Tutorial
 › Boxes in Space: procedural generation of abstract worlds in Avoyd
 › Procedural python word generator: making user names out of 4 syllables
 › Speeding up Runtime Compiled C++ compile times in MSVC with d2cgsummary
 › Internals of a lightweight task scheduler
 › Implementing a lightweight task scheduler
 › Normal generation in the pixel shader
 › Lighting voxel octrees and procedural texturing
 › Octree streaming - part 4
 › Octree streaming - part 3
 › Octree streaming - part 2
 › Octree streaming
 › LAN discovery with multiple adapters
 › enkiTS
 › Internals of a lightweight task scheduler
 › Implementing a lightweight task scheduler
 › RCC++
 › Runtime Compiled C++ Dear ImGui and DirectX11 Tutorial
 › Speeding up Runtime Compiled C++ compile times in MSVC with d2cgsummary
 › Web Tech
 › Procedural python word generator: making user names out of 4 syllables
 › Python Google App Engine debugging with PyCharm CE
 › Python Google App Engine debugging with PyTools
 › Domain masking using Google App Engine
 › Presskit for Google App Engine
 › Implementing a static website in Google App Engine
 › Avoyd
 › Avoyd Release Streams and Minecraft Lit Materials
 › Avoyd Beta Stream
 › Isometric Render of a Minecraft Map in Avoyd Voxel Editor
 › Importing Minecraft maps in Avoyd Voxel Editor improved
 › Boxes in Space: procedural generation of abstract worlds in Avoyd
 › In-game building
 › Player-deployable turrets in Avoyd
 › Avoyd Game Singleplayer and Coop Multiplayer Test
 › Voxel Editor Evolved
 › Multiplayers toxic last hit kill and how to heal it
 › Avoyd Editor Prototype
 › Black triangles and Peter Highspot
 › Colour palettes and lighting
 › Concept art by Rebecca Michalak
 › Feral Vector
 › Patterns and spheres
 › Interview
 › Black triangles and nervous_testpilot
 › Playing with material worlds
 › Website redesign
 › First Person Editor
 › First Avoyd tech update video
 › Multiplayer editing
 › First screenshots
 › Thoughts on gameplay modes
 › Back in 1999
 › Avoyd 1999
 › Developer Diary archive
 › Back in 1999
 › ECTS 2002
 › Avoyd Version 1.6.1 out
 › Avoyd Version 1.6 out
 › Biting the bullet
 › Avoyd version 1.5 out
 › Monday Mayhem
 › Avoyd version 1.5 alpha 1 out
 › Avoyd version 1.4 out
 › ECTS 2001
 › Fun with Greek letters
 › Closer just a little closer
 › Back already
 › Artificial Humanity
 › Products and promises
 › Ecommerce
 › Explosions galore
 › Spring fixes
 › Open source and ports to other operating systems
 › Avoyd LAN Demo Version 1.1 is out
 › Thanks for the support
 › Avoyd LAN Demo Ready