July 15, 2020, 04:12:22 am

The shoutbox is currently out of service. Join us on Discord instead.
You can help CodeWalrus stay online by donating here.

WARNING: DO NOT UPGRADE your TI-83 Premium CE or TI-84 Plus CE to OS 5.5.1 and higher. It removes all compatibility with most games and removes ASM/C programming! DOWNGRADING IS IMPOSSIBLE. BE WARNED! Likewise, do NOT update your TI-Nspire CX past OS 4.5.0, else using Ndless and ASM/C programs will be impossible.

Open World Engine for RPGs (OWERPG?)

Started by c4ooo, July 19, 2017, 09:44:41 pm

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


I got bored so i started programming an engine for open world RPGs. (In c++ with openGL 2). The world is split into "cells"/"chunks" which are loaded/removed as you move around. Alpha-mapping is used to shade different ground textures onto the ground mesh. (the ground is a mesh, not a hightmap, to allow for more freedom.) I am also programming some sort of "construction set", which currently allows you to edit some values of the cell, adding/removing/manipulating prefabricated objects in the cell, and a utility to paint textures onto the ground.

Prefabs will range from things like rocks on the ground, to entire dungeons.

Terrain rendering / resource management- mostly done.
Prefab rendering/manipulation - started
loading .ini files - need to start
construction set - lots of tedious work needs to still be done, but its not necessarily hard;
proper saveing/loading of cell data.
Resource manager for materials/textures/prefabs - started;
lighting - light is magical right?
physics - some progress, mostly on hold for now.

things that need to be done in feature that i haven't thought about yet:
Entity system.
Actual RPG elements like questing, etc.
Event Scripts.
Mesh editor (?!)


This is how the construction set looks so far: The ground repeats like that becomes i am too lazy to make proper terrain, so i just made it repeat.

Texturing the ground: (In this case removing textures.):

Added a prefab (that pink thing) to the cell: (as well as some texturing to the alpha map).


Ooh, looks pretty nice. Gotta check this out.
Read Zarmina!
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here


Quote from: Juju on July 20, 2017, 02:35:00 am
Ooh, looks pretty nice. Gotta check this out.


I have been working on proper saveing/loading, and it works OK, except for this one bug.

A whole 'nother problem i have been having though is that even though loading from disk->ram is done in a separate thread, and thus has no effect on performance, loading ram->vram must be done on the main thread, becouse openGL is not thread safe. This causes the FPS to hiccup when new chunck need to be loaded. (I make sure to only load one new chunk into vram per frame, so its not one long frame, but rather several *longer* frames in a row. I dont know if i will have to mask the hiccups by having a few frames between each ram->vram transfer, or if some actual multi-threaded solution can be found.


Started working on some basic lighting:

DJ Omnimaga

Interesting. I hope this comes to fruition, after all that work you did in learning 3D in the last year or so (remembering past WIRC discussions). What grapgical style do you plan to go with? Semi realistic? Celshaded? Etc

Powered by EzPortal