Tile-Based Build/Exploration Game Blog
by Jesse Allen · 12/15/2013 (1:17 pm) · 4 comments
So begins my blog for my project. This all started as a concept, and its humble origins can be found in the GarageGames Forums: Concept to Proof of Concept Forum Post . I'll use this blog to post my 'patch notes' and document progress on the project here as I go.
For those who are just checking out the project, it's based off of games like Terraria or Darkout. The preliminary goals are to allow players to explore and add/remove tiles (build/dig). Most of the preliminary goals have been met at this time, there is only one problem that persists with removal of collision shapes due to indexing. Once this problem is fixed, I will set broader goals dealing with the actual gameplay.
Much has changed with the project since it all began as a concept. At the time of this blog posting, I've worked on the project about 1 month and 1 week. When I started, I had no prior knowledge of the T2D engine. Here's a list of everything that's been added to the project recently:
I am really taking huge strides with all of this. I can now click any tile and have the local position values for every tile surrounding it returned! I feel I am definitely gaining a deeper understanding of the CompositeSprite and manipulation of its contents. With some time, I honestly think I can get individual picked tiles to 'know' what tiles are surrounding them. I would have taken a bit longer to understand all of this had I not had help from the GarageGames Community! Thank you Community!
The Future
Thus far my progress has been rather unstructured and chaotic, as I am learning everything as I go along. Moving forward, I'm just refining my understanding of the engine and its various functions. With greater understanding, I will be able to better structure and manage my time while building (i.e. goals and hierarchy).
For now, the biggest goal is figuring out the indexing/collision problem. I've approached this from multiple angles, and made progress in several other areas, but I just can't understand how to delete these collision shapes. I can easily create them on demand, and even do so creatively, but deletion is another issue entirely due to indexing problems. Once this is fixed, I will move on to broader goals involving the actual gameplay elements.
Tile-Based Build/Exploration Game DevBlog 2

For those who are just checking out the project, it's based off of games like Terraria or Darkout. The preliminary goals are to allow players to explore and add/remove tiles (build/dig). Most of the preliminary goals have been met at this time, there is only one problem that persists with removal of collision shapes due to indexing. Once this problem is fixed, I will set broader goals dealing with the actual gameplay.
Much has changed with the project since it all began as a concept. At the time of this blog posting, I've worked on the project about 1 month and 1 week. When I started, I had no prior knowledge of the T2D engine. Here's a list of everything that's been added to the project recently:
- Tree Generation scripts.
- Bush Generation scripts.
- Cloud Generation and Behavior scripts.
- Customized console and debug menu Dialogs further.
- Updated Player movement Behavior (still improving).
- Monster and Critter Behavior scripts.
- Basic Tile Orientation function.
- Lots and lots of art assets!!
I am really taking huge strides with all of this. I can now click any tile and have the local position values for every tile surrounding it returned! I feel I am definitely gaining a deeper understanding of the CompositeSprite and manipulation of its contents. With some time, I honestly think I can get individual picked tiles to 'know' what tiles are surrounding them. I would have taken a bit longer to understand all of this had I not had help from the GarageGames Community! Thank you Community!
The Future
Thus far my progress has been rather unstructured and chaotic, as I am learning everything as I go along. Moving forward, I'm just refining my understanding of the engine and its various functions. With greater understanding, I will be able to better structure and manage my time while building (i.e. goals and hierarchy).
For now, the biggest goal is figuring out the indexing/collision problem. I've approached this from multiple angles, and made progress in several other areas, but I just can't understand how to delete these collision shapes. I can easily create them on demand, and even do so creatively, but deletion is another issue entirely due to indexing problems. Once this is fixed, I will move on to broader goals involving the actual gameplay elements.
Tile-Based Build/Exploration Game DevBlog 2

About the author
Skilled Artist and Musician. Intermediate Torque Developer.
#2
12/16/2013 (7:08 am)
Great progress! I'm looking forward to following your project's progress and your T2D learning experience.
#3
The reason it didn't make it into the main branch was because this adds a HashTable to every single SceneObject, which might become problematic in terms of performance and memory consumption if not monitored very carefully.
You can find Jon's branch here
12/17/2013 (7:50 pm)
Jon Arsenault had a solution for indexing collision shapes.The reason it didn't make it into the main branch was because this adds a HashTable to every single SceneObject, which might become problematic in terms of performance and memory consumption if not monitored very carefully.
You can find Jon's branch here
#4
Simon: First let me just say thank you for all you have done and continue to do for Torque and its community here. As I've been engaged in my learning process, at every turn I find your postings that are always informative and insightful. For that, I thank you.
I've taken looks at Jonathan's repository on several occasions, although I have to admit at my level of understanding I find it difficult to actually 'home in' on what Jonathan's actually changing to achieve his solution. Never fear, at the time of this posting it's all been solved with a 100% TorqueScript solution!
Torque's able to handle all of this, albeit in a fairly confusing way that requires absolute precision when handling certain indexing calls. Full credit goes to my Mentor and comrade Doc308 for ultimately pinning this down. Thank you Doc!
Part 2's up:
Tile-Based Build/Exploration Game DevBlog 2
12/20/2013 (1:12 pm)
Thank you for your kind comments guys :) I'm very proud of how far I've come in such a short time with all of this.Simon: First let me just say thank you for all you have done and continue to do for Torque and its community here. As I've been engaged in my learning process, at every turn I find your postings that are always informative and insightful. For that, I thank you.
I've taken looks at Jonathan's repository on several occasions, although I have to admit at my level of understanding I find it difficult to actually 'home in' on what Jonathan's actually changing to achieve his solution. Never fear, at the time of this posting it's all been solved with a 100% TorqueScript solution!
Torque's able to handle all of this, albeit in a fairly confusing way that requires absolute precision when handling certain indexing calls. Full credit goes to my Mentor and comrade Doc308 for ultimately pinning this down. Thank you Doc!
Part 2's up:
Tile-Based Build/Exploration Game DevBlog 2

Torque Owner Robert Fritzen
Phantom Games Development
Looking good so far!
Best of luck!