Jump to content
Site Stability Read more... ×
  • Advertisement

House On The Borderland Details



The Engine

The engine for this project, tentatively, will be Voxyc. Links to the Android editor appGithub source and existing games are on the Voxyc project page. The editor and the games it produces also run on Windows and iOS (the Visual Studio and Xcode projects are in the /platform folder of the repo). I'm open to other alternatives, but ability to edit on mobile is essential for me. Another way would be writing a mobile editor and a voxel plugin for Godot, or merging Voxyc and Godot.

All buildings will be made out of voxel blocks. This allows for easy level creation. I've already blocked out the basic outline of the landscape, the house ruins and the little hamlet (the roofs should be triangular prisms, I know; they will be). You can find main.sc scene with them in the attached project (Voxyc can open this file). As @JoeJpointed out, this will also allow for the swine creatures to break into the house by taking away blocks, which sounds awesome.

The characters will be animated models. I used MakeHuman to create some of them already. The first four .dae files are included in the attached project. They are not animated yet. The engine does not yet have skeletal animation, so we may resort to .obj frame animation, like in Fateless. But I'm working on skeletal animation.

List of characters: Camper (player for chapter 1), Old Man (player), Tonnison, Sister, Dog, The Swine Man, My Love
Full text of the novel

How To Edit And Run The Game Build

On Android:

Install Voxyc. Download the attached project file. Unzip the folder HouseOnTheBorderland into /Android/data/com.voxyc.voxyc/files

To run the game, in Voxyc, click on File->Clear and run script->Picker and select loadch1.lua in the HouseOnTheBorderland folder.

To open the main scene in the editor to edit, in Voxyc, click on File->Load Scene->Picker and select main.sc in the HouseOnTheBorderland folder.

On Windows:

Clone Voxyc source from the Voxyc github repo. In Visual Studio, open /platform/windows/Voxyc/Voxyc.sln. You can run the game with the following command line parameters:

-m luaprogram -a <path to extracted HouseOnTheBorderland dir>

-m means module and luaprogram is the module that runs lua scripts.
-a sets the main project dir. The Windows port will then automatically launch load.lua there on startup (rename loadch1.lua to load.lua).

You can edit the scene by pressing Tab->Load Scene

Breakdown of Voxyc C++ features

Here is a brief overview of important files for the C++ codebase

app/main.cpp - Entry point for desktop
app/VoxycApp.cpp - The engine core app file that runs different modules (game, editor, etc) and has the highest-level load/tick/draw functions
app/LuaProgram.cpp - The module that runs a Lua program; the game is essentially a set of Lua scripts (load.lua, tick.lua, etc)
editor/Editor.cpp - The editor; essentially one big loop with everything; needs splitting up/refactoring
engine/Engine2.cpp - The engine core; main interface into the engine; any client that uses the engine calls this class
engine/ShapeRenderer.cpp - Renders geometric shapes, terrain
engine/ModelRenderer.cpp - Renders models
engine/SpriteRenderer.cpp - Fast sprite/particle system renderer; only works on Android at the moment
engine/Voxels.cpp - The voxel memory storage and converting voxels to mesh are here
engine/TextureAtlas.cpp - Essential for the fast sprite renderer and the batcher; only works on Android
engine/Batcher.cpp - Batcher; combines voxel meshes into one big mesh to reduce draw calls; only works on Android
engine/Billboarder.cpp - Billboarder; pre-draws models as sprites for far-away rendering; does not work yet (but would be nice!)
engine/ShadowMap.cpp - Shadow map for real-time shadows; used to work on Windows and Mac OS, but currently probably broken. Essential for horror, though.

Feel free to ask any questions. I figured that you guys would appreciate me finally getting specific and technical instead of whining about Unity. I really hope so and I'm trying to avoid downvotes. In case, if I'm doing something wrong, please let me know as I'm new here.




1 Comment

Recommended Comments


As @JoeJpointed out,

Oh, so my post worked? I still can't see it. I tried to submit it multiple times over the day and just gave it up - probably you have it 10 times on the page i guess. 

Game devs... talking about 'proper OOP' or 'maintaining code base at the size of a universe', but unable to run a simple webpage. Ahahaha... sorry guys ;)

Share this comment

Link to comment
1 hour ago, JoeJ said:

Oh, so my post worked? I still can't see it. I tried to submit it multiple times over the day and just gave it up - probably you have it 10 times on the page i guess. 

Yeah, the old thread seems to have stopped working. I can still see it in the e-mail, though.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!