Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - JackOatley

Pages: [1] 2 3 ... 6
Discussion / Call me crazy!
« on: April 18, 2017, 04:30:37 PM »
This may be crazy, but I'm remaking Terrablox again!
OK, put down the pitchforks and torches. I have lots of reasons.
So read through and let me know your thoughts. :)

Current Version:
I will likely be coming back to the current version to get it into a game/playable state. But it's going to be difficult to ever evolve it too much. And the time I can spend on it is very limited as it doesn't, and probably won't, generate money. So I have to concentrate on things that do. It also won't port to GMS2, the shaders are over-complex, which is my mistake, yes they are cool and fast but then YYG took out DX9 support and screwed them all over, and their support to DX11 was broken for so long and there's still issues. And even if it did port, the new IDE does not lend itself well to it's current structure.

The Hate:
On top of those issues, I'm finding GM just toxic these days. I no longer have belief in it. The experience of using GM is a bumpy road, from something always being broken, to fixes breaking other things, to rubbish/incorrect documentation, to the only decent reference material (the old GMC) vanishing from the internet (can't google it). I just got fed up.

The Solution:
Anyway, enough of the rant. I have a new plan. So I entered a game jam recently, and for it I decided to use pure Javascript, using HTML5 canvas for rendering. Now I was already familiar with JS, but I hadn't actually made and released a full game with it before. So I did and it went really well and was enjoyable. So for the sort of games I usually make, 2D pixel art stuff, I'm more comfortable with that now. But what about my 3d stuff? I only really have Terrablox. So, can I make that with pure Javascript?

The Attempt:
OK, so I have already set up a project and have things actually working. I'm using the Three.js library for all the 3d stuff at the moment, it's quick to set up and do stuff with and will demonstrate viability sooner. It manages things like the renderer, scene, camera, geometry, etc. Voxels are now objects, so they can have all the properties they need, rather than just being a single value. It has multi-threading using web workers, currently I have this building the mesh. Web workers are tricky as you can only transfer object data as strings, so string>object conversion still happens in the main thread.

Despite Javascript not having any "include" command by default, it does lend itself well to being modular. So this project will also be open source. That way I finally keep that promise, and can easily keep any game (art, audio, game logic, etc) separate from the engine. Not being able to easily separate engine and game before was the reason it didn't happen.

I have not much to show atm, currently there is a chunk that can fill up with voxels, and then build a mesh in a separate thread, and then return it, and finally add it to the scene. My next goal is to have the world object load in a bitmap (heightmap), create chunks and generate voxels based on the world heightmap data. There's also currently no culling or any optimizations. I'm still in the viability stage. So don't get too exicted. You'll see it when I get it looking like something. :)

So to recap, I know these are things that have been requested before:
  • Open Source
  • Multi-threading

Spoiler (hover to show)

Discussion / What's been happening
« on: January 20, 2017, 10:47:48 AM »
So before anyone starts proclaiming the Terrablox End Of Days again, I thought I'd let you know what's been happening and the reason for a lack of updates in the last couple months.

Obviously, I was very busy over Christmas with family things. We've been painting/decorating/cleaning/fixing the house a lot too, it's something we have to do sooner rather than later. I'm helping Dadio on his big project, though he's been just as busy with his family as well. Also will be starting work on an update for an android game me and Dadio worked on ages ago as it picked up in December for some reason and is generating decent money (if we can keep the trend steady). I'm also re-working my websites from scratch (especially my wordpress blog, that's basically done though), and this may later include the main Terrablox site (finally, lol). I've also been working on a web game, it's an old-skool text-based strategy game inspired by one I used to play in 2004 (which no longer exists in any form, it seems), it's user/database driven (it doesn't have a persistent server, but it does catch-up time and game ticks are on the back of client updates, so it emulates a persistent server), the bulk of which is also done.

So I've got a lot of little things on the go atm. Some are opportunistic, so it's better to do them now then any later. Once I've dealt with them, then you'll start seeing Terrablox updates again. Terrablox, I feel, is very close to a well rounded state, so I'm eager to get back to it! :)

Discussion / External File Specs
« on: November 21, 2016, 10:49:26 PM »
I thought I'd put this up so you guys can see what's going on and provide feedback. This is mostly in regards to modding and what you might want to do with the provided tools/structure. For now I'm just going to show the main things I've been working on recently; Block Index, Item Index and Crafting Recipes. But I'll add new format explanations when they're created or requested. The goal is that all these things can be added to/overwritten via matching file structures inside mod packs, so feedback is helpful! :)

Block index format:
Here we have a name:value pair for each block, this is required in world generation, where I don't reference the name, but the number. And after the index we have an object for each thing named in the index, which has it's own display label, type of block, color on map, tileIDs for each face and a list of objects that spawn from the block with chance and number values.
Code: [Select]
    "index": {
        "dirt": 1
    "dirt": {
        "label": "Dirt",
        "type": "solid",
        "color": "00337F",
        "faceTop": 17,
        "faceBottom": 17,
        "faceNorth": 17,
        "faceEast": 17,
        "faceSouth": 17,
        "faceWest": 17,
        "spawn": [
            {"item": "inv-dirt",  "chance": 100, "number": 1, "onDestroy": 1}

Item index format:
No name:value pairing here as this is unique to the inventory and everything is referenced by name. We have two types of items currently, blocks and items. The block type simply says that this item has an associated block that can be placed in the world and we can pull it's data/graphics for the inventory. The item type has no representation in the world and can't be placed, but can be used everywhere else. For blocks, "data1" is the block index and for items it is the tile ID of it's graphic on the item sprite sheet. Items can have a "use", which determines what the player can do with it, for example; "consume" mean the player will eat/drink the item, and "vessel" means it can be used to gather resources from world blocks (like water). "uforms" (Use Forms) provides more information for the "use" cases, the bucket item below has a uform "water": "bucket-water", this means when the item is used on water it'll change into the item "bucket-water". "bucket-water", you'll see, is a consumable and it's uform is "consume": "bucket", which means when consumed it'll change back into "bucket". Items can also have "hunger" and "thirst" values, though currently these only come into play with "consume" items, these restore the player's respective stats.
Code: [Select]
    "inv-dirt": {
        "label": "Dirt Block",
        "type": "block",
        "data1": 1

    "bucket": {
        "label": "Bucket",
        "type": "item",
        "data1": 6,
        "use": "vessel",
        "uforms": {
            "water": "bucket-water"
    "bucket-water": {
        "label": "Bucket Of Water",
        "type": "item",
        "data1": 7,
        "use": "consume",
        "hunger": 0,
        "thirst": 20,
        "uforms": {
            "consume": "bucket"

Crafting recipes:
This is basically a list of items that already exist in the Item Index, but here you define the ingredients (other items/blocks) that can be used to make the item, and how many of each. Up to 4 ingredients can be defined.
Code: [Select]
    "bowl": {
        "recipe": [
            {"item": "inv-wood", "number":1}
    "torch": {
        "recipe": [
            {"item": "stick", "number":1},
            {"item": "coal", "number":1}

Creations / Terra Art
« on: April 28, 2016, 11:13:10 PM »
I thought I might do pixel art in Terrablox occasionally.

To start it's a copy cause I'm lazy and unimaginative, but I still like it. :P

Registration & Login / Trouble signing up? (guest posting)
« on: March 31, 2016, 12:29:49 PM »
This topic is for people who are unable to sign up for whatever reason, they can leave a post here and help will be given to creating them an account.

Discussion / Demos!
« on: October 29, 2015, 03:27:34 PM »

  • Fixed Tiaga tree model having 2 extra stray blocks.
  • Hunger and thirst dependant on biome.
  • Added simple day/night system.
  • Fixed a chunk saving/loading issue that caused extra unwanted changes.
  • Greatly improved memory usage in several areas.
  • Added point lights (they can handle multiple colors, this will be future update).
  • "useDistribution" setting now obsolete.
  • Optimized generation by preventing remodelling of chunks.
  • Added in final missing blocks.
  • Added new "cross" block type, like frill but intractable.
  • Added definable items using a new external item index file.
  • Rewrote inventory system.
  • Block drops can now be defined, as well as drop chance.
  • Tree generation now distributed over several steps, should help with FPS drop when generating heavy forests.
  • Fixed glitch when loading adventure mode games.
  • Added basic crafting system (currently doesn't have the planned "tempering" system).
  • Added consumable items (food, drink, vessels).
  • Limited block selection distance in adventure mode.
  • Fixed bug that allowed placing blocks in invalid locations.
  • Added vessel items that can collect from water.
  • Added colored chat to easily recognize message meaning.
  • Player stats now saves and loads.
  • Inventory now saves ans loads (in both modes).
  • Player health reduces when hunger or thirsty.
  • Player can now die and respawn (at 0, 0).
  • Added "fontSizeStats" setting.
  • Revised font, should be clearer to read, especially numbers.
  • Player hunger/thirst depletes faster when walking & running.


To see new changes you can now click the "restore default settings" button in the options menu!
Remember, to see some changes you made need to delete or edit your INI file. This can be found in AppData\Local\terrablox_source

Older demos:

Discussion / Terrablox: Source
« on: February 19, 2015, 12:41:42 AM »
(No, you don't get it yet!)

So I don't think I'm ready to do videos of it, but I'll write up articles on my blog about it.



Terrablox: Source! :P

Discussion / New Version! alpha-0.2.9
« on: September 03, 2014, 09:44:05 PM »
I wanted to put this right up on the site but I seem to have "mislaid" the site source... So I'll have to get all that back off the server to make changes again. So that's too awkward atm. But I am able to upload the new version and give you a link to it here! :)


Change log:
  • Options to change lots of graphics settings.
  • Options to change the kind of world you can play in.
  • Ability to delete save games.
  • Game mode is displayed on the save game.
  • Semi-Asynchronus loading screen, so you don't feel like you're waiting for nothing.

(Really do need to get the site sorted though!)

Creations / Texture Pack Compendium
« on: August 10, 2014, 01:07:54 PM »
Here we'll keep a list of links to the topics + direct links to texture packs. You can post these to submit and I'll add them to the list in this post. I know there's some missing, I can't find them right now! :)

The List:
Funky Blocks (UPDATED) by trg601
MonoRpg by R34LD34L
Minecraft TP by mattbeech2
Bubble by R34LD34L

Discussion / Screenshots!
« on: July 20, 2014, 07:14:03 PM »
Went so long without thinking of a dedicated screenshots thread! >.<

When you want to put up a screenshot, you can use the attachment option, or if you host the image somewhere and use the [ img ] tag, please put [ img width=640 ] there instead so that massive images don't get cut off. :)

Oh well, here it is, I'll start!

I'm king of the world!

Discussion / Version 0.2.6
« on: July 18, 2014, 10:11:44 PM »
So here's the version from the last video with some other fixes. The file system extension is completely out now, so this will be pulling files from a new location, you should still be able to load them back in though (not that I tested it, DOH). And the UI images now save/load in properly, so they shouldn't magically vanish after a couple of runs...

I want to make this version public because the site version is still 1.5... And I need to update the site in general. So give this one some good hammering if you can. Thanks for your support guys!

Other Stuff / My other website
« on: July 16, 2014, 10:32:34 PM »
Hey guys,  I made a website for me and peps' team a while back and I only just got round to uploading it. We had one before but it sucked and was on a more expensive host that cost me a lot unexpectedly one morning. But, I made this new one from scratch, it's basically my second released one after the Terrablox site (which is slightly sucky as well), but I think this one is nice and clean. So check it out! Especially the open-able screenshots and trailers, I'm proud of that. :)

Discussion / Devblogs!
« on: May 25, 2014, 11:46:10 PM »

Discussion / Version 0.2.5
« on: May 23, 2014, 09:39:27 PM »
Here we go, finally. :)

alpha 0.2.5 Changelist
  • Fixed bug on texture loading if it was listed and didn't exist.
  • Game now keeps modelling chunks even when paused.
  • Can now select Adventure Mode for a different style of play!
  • Game mode is recorded in save file.
  • Mobs are now culled when they are out of view range. Slight performance increase.
  • Adventure Mode has a limited effector distance and world curvature gets it's first release, and block degradation.
  • Game now creates the "Splash" folder on startup, so you can put your own loading screen in it.
  • Cloud opacity increase, makes them more visible.

Random awesome image:

Creations / Tools For Modding
« on: May 19, 2014, 06:44:49 PM »
Tools For Modding

So this is meant to be a list of things that you can use that may help in modding Terrablox. This will include software specific to it, but also other things that can just be useful! Hopefully can build through contributions. :)

True-Space Modeler:
Mod Structure Maker:

Character Skinner:

Seeing as the files for the game are all JSON format, having easy viewers and editors for this is really good. Means to share JSON are also handy:

So for sharing:
are good because you can copy all the text to clipboard with one click.

For checking, viewing and editing:
are good because you can view JSON in a collapsible tree + Open from a URL.

For example, to view the current block index, check this out:

Pages: [1] 2 3 ... 6