Tile-Based Build/Exploration Game DevBlog 4
by Jesse Allen · 01/09/2014 (9:01 am) · 3 comments
You can find the last blog here:Tile-Based Build/Exploration Game DevBlog 3
It has been 2 months today since I began this project as a theory in a forum post. Extraordinary progress has been made since my last update, and I have begun to dig deeper and deeper into the engine's various capabilities. During my time sifting through the source, studying GUI elements, and learning how to improve user interactivity I gained a great understanding of how to make the game GUI both interesting and functional. I spent a great deal of time with the GUI this time around, and so far my results are extremely satisfactory. I even gave myself some creative freedoms and took the time to create some custom original GUI art!
Here's a teaser shot for this blog, previewing my new GUI artwork(Very basic, will be improved, also the hotkey bar is hard to see here at bottom mid - will be changed a bit anyhow):

Updates:(build 062.5)
GUI
The GUI still requires tons of work, as of course this game will be very GUI-heavy for crafting menus etc. I'll continue to generate graphics for these panels as required. So far I'm very happy with what I've come up with and will be even happier once the 'base' panels are done. At that point I'll go ahead and add a few 'details' to the graphics :)
I wanted to give a shout out and thanks to Richard from the GG forums, his Inventory module really helped me to understand certain ways of using the GUI elements. Thanks Richard!
I'm fairly proud of all of the visual progress that has taken place. The 'Interactive Cursors' are basically square brackets that change color depending on what the player hovers over. Additionally, when clicked, the brackets 'close' so they are really neat to use! I could go on and on about the GUI, my plans around it, what's been added, etc... but for now suffice it to say the GUI is looking very good and will look even better!
World Interaction
I took some time to improve the interaction with the world. I made scripts so that the player now holds down the mouse for a certain amount of time before blocks are removed. This feels much better while playing, and gives more of a 'digging' feel. Also, now I have 'digObjects' that spawn when blocks are removed. These are very cool looking, and add an entirely new layer of fun to the game (screenshot spoiler below)! digObjects can be clicked on and picked up, incrementing the value of that item's Inventory variable. These Inventory values will also be saved on exit of the game! I have the start of persistence here, but I haven't started to set up any sort of save/load features yet. digObjects using placeholder graphics:

Expanding Horizons
I'm really beginning to grasp the different elements of Torque. As I study more examples I manage to find, my own abilities to solve problems are improving drastically. For the most part, when presented with a problem I am now able to logically work out a solution with the TorqueScipt. This is all fairly exciting for a newbie like myself! It's all very refreshing to be traveling around my game world that I've created, dig through it, pick up items, and gaze at my shiny new HUD! I am definitely expanding my horizons by study and use of Torque, and having a good time doing it.
Here are a few general goals that remain since my last blog update. The top 2 goals here are the biggest goals of the entire project at this point. Once they are successfully completed most of the rest of the game in its entirety can be developed with the creative freedom I desire(yes that's really exciting!):
It has been 2 months today since I began this project as a theory in a forum post. Extraordinary progress has been made since my last update, and I have begun to dig deeper and deeper into the engine's various capabilities. During my time sifting through the source, studying GUI elements, and learning how to improve user interactivity I gained a great understanding of how to make the game GUI both interesting and functional. I spent a great deal of time with the GUI this time around, and so far my results are extremely satisfactory. I even gave myself some creative freedoms and took the time to create some custom original GUI art!
Here's a teaser shot for this blog, previewing my new GUI artwork(Very basic, will be improved, also the hotkey bar is hard to see here at bottom mid - will be changed a bit anyhow):

Updates:(build 062.5)
- Fullscreen 1080p resolution added(no stretching!).
- Added new Gui Cursor.
- 'Interactive' cursors.
- Added 'digObjects'.
- Added Inventory Gui!
- Inventory can persist!
- Added new Gamelog gui element.
- Created new modular button design.
- Created new modular scrollbar design.
- Created new HealthbarHUD gui element.
- New scripts for picking blocks.
- Created new Building Mode toggle.
- Completely revamped BiomeGeneration to use global positioning variables.
- Certain boundaries now move with player.
- Added new NPC 'wander' behaviors.
- Added 'firefly' particles on certain bushes.
- Fixed small jump console bug.
- Various other small fixes.
GUI
The GUI still requires tons of work, as of course this game will be very GUI-heavy for crafting menus etc. I'll continue to generate graphics for these panels as required. So far I'm very happy with what I've come up with and will be even happier once the 'base' panels are done. At that point I'll go ahead and add a few 'details' to the graphics :)
I wanted to give a shout out and thanks to Richard from the GG forums, his Inventory module really helped me to understand certain ways of using the GUI elements. Thanks Richard!
I'm fairly proud of all of the visual progress that has taken place. The 'Interactive Cursors' are basically square brackets that change color depending on what the player hovers over. Additionally, when clicked, the brackets 'close' so they are really neat to use! I could go on and on about the GUI, my plans around it, what's been added, etc... but for now suffice it to say the GUI is looking very good and will look even better!
World Interaction
I took some time to improve the interaction with the world. I made scripts so that the player now holds down the mouse for a certain amount of time before blocks are removed. This feels much better while playing, and gives more of a 'digging' feel. Also, now I have 'digObjects' that spawn when blocks are removed. These are very cool looking, and add an entirely new layer of fun to the game (screenshot spoiler below)! digObjects can be clicked on and picked up, incrementing the value of that item's Inventory variable. These Inventory values will also be saved on exit of the game! I have the start of persistence here, but I haven't started to set up any sort of save/load features yet. digObjects using placeholder graphics:

Expanding Horizons
I'm really beginning to grasp the different elements of Torque. As I study more examples I manage to find, my own abilities to solve problems are improving drastically. For the most part, when presented with a problem I am now able to logically work out a solution with the TorqueScipt. This is all fairly exciting for a newbie like myself! It's all very refreshing to be traveling around my game world that I've created, dig through it, pick up items, and gaze at my shiny new HUD! I am definitely expanding my horizons by study and use of Torque, and having a good time doing it.
Here are a few general goals that remain since my last blog update. The top 2 goals here are the biggest goals of the entire project at this point. Once they are successfully completed most of the rest of the game in its entirety can be developed with the creative freedom I desire(yes that's really exciting!):
- Tile Orientation - Still need to peg this down, this will be probably the biggest challenge to overcome for quite some time.
- Biome Loading/Unloading - Getting fairly close with this. Testing triggers and different ways of doing this right now. These tests will ultimately determine what my size constraints are going to be on these 'Biome' bodies.
- Sound Testing - Need to get my feet wet experimenting with general sound effects. I've taken a look at an example module and this doesn't appear to be too complicated at first glance.
About the author
Skilled Artist and Musician. Intermediate Torque Developer.
#2
I have a terrain line, and below that line is filled with collidable blocks.
Each block should 'know its orientation' so that it will render the correct image frame if other surrounding tiles are touching it (or not touching it).
Example
So we've established that the blocks should render the correct tile depending on position on a pre-conceived grid. But what if that grid is random(the terrain line I use is randomly generated)? Well, I've theorized that if each tile itself were to hold values for 'orientation' (i.e. location in relation to other tiles) perhaps these values could be checked against other tiles in order for all the tiles to 'know' where they are...whoa, okay, that may be a little out there sorry...Nonetheless, this is where I'm at currently. Just theorizing with little application of said theory.
I do have scripts that will give me the local positions of every surrounding tile depending on which tile is clicked. This does me little good atm, until I can figure out exactly what to do with that data. See the input is important here because if a block is removed the tiles that were touching it need to change image frames to suit as well, not just the targeted tile.
01/09/2014 (12:37 pm)
Absolutely, any help with that subject in particular will be invaluable. Here are some examples of what I'm trying to achieve:I have a terrain line, and below that line is filled with collidable blocks.
Each block should 'know its orientation' so that it will render the correct image frame if other surrounding tiles are touching it (or not touching it).
Example
- We have a 10x10 grid of blocks. The top row of blocks should render image frames that show dirt with a grass edge on the top.
- The bottom row of blocks should render image frames that show dirt with a grass edge on the bottom.
- The top left block will render an image frame that shows dirt with grass edges on the top and side (a corner tile).
So we've established that the blocks should render the correct tile depending on position on a pre-conceived grid. But what if that grid is random(the terrain line I use is randomly generated)? Well, I've theorized that if each tile itself were to hold values for 'orientation' (i.e. location in relation to other tiles) perhaps these values could be checked against other tiles in order for all the tiles to 'know' where they are...whoa, okay, that may be a little out there sorry...Nonetheless, this is where I'm at currently. Just theorizing with little application of said theory.
I do have scripts that will give me the local positions of every surrounding tile depending on which tile is clicked. This does me little good atm, until I can figure out exactly what to do with that data. See the input is important here because if a block is removed the tiles that were touching it need to change image frames to suit as well, not just the targeted tile.
#3
I'll continue to experiment and build on this concept and see where it takes me (I have a few ideas currently to test).
Update Again: Took a bit of tinkering and math, but I have the top tiles now working well! This is pretty promising, looking forward to upcoming progress here.
01/10/2014 (6:27 am)
Update: Just wanted to post here that last night I took a closer look at the tile orientation. I managed to get the tiles on top to render as 'top' tiles on initial creation, which is at least a small start. I'll continue to experiment and build on this concept and see where it takes me (I have a few ideas currently to test).
Update Again: Took a bit of tinkering and math, but I have the top tiles now working well! This is pretty promising, looking forward to upcoming progress here.

Associate Mike Lilligreen
Retired T2Der