Game Development Community

Low level programming

by Pirs01 · in Torque 3D Professional · 02/16/2013 (4:32 am) · 2 replies

Hello,

I'm looking at using Torque 3D for my new project but I'm completely new to it and not sure if it suits my needs. From what I've seen it is rather high level all in one kind of think with a predetermined workflow. I on the other hand am interested in only some very specific tools it provides. I understand that full source code is available which is great but my concern is how modular is it? Will I be able to cherry pick things I want and omit others without major or any changes to architecture like for example use Torque graphics but third party networking? To make this less theoretical here's a list of my expectations so please tell me whether I'll be disappointed:

- The game will use 3d terrain but otherwise be isometric 2d - all done with sprites.

- I would like to use Torque terrain editor to create the world but once the game started I want to modify the terrain programmatically to allow users to interact with it and change it dynamically.

- I expect the map editor to have a robust mechanism for extending its functionality with game specific objects with custom properties etc.

- The game will use big open world so streaming is required not only for sprites and sounds but for the 3d terrain as well.

- The game will be massively multiplayer. Can the built in networking handle it and can I use third party networking instead?


This questions are obviously for technical people with knowledge of the engine inner workings and source code architecture.

Thank you in advance for all replies.

Regards,
Pirs01

About the author


#1
02/23/2013 (7:19 pm)
- I would like to use Torque terrain editor to create the world but once the game started I want to modify the terrain programmatically to allow users to interact with it and change it dynamically.

This can be a bit of a challenge. T3D terrain is not networked, I've managed to network it for my project but it does have a little delay. Someone else in the community is working on a new terrain system that is networked but I don't know the details and how his work is going to be released.
#2
02/23/2013 (8:09 pm)
The engine isn't particularly modular in the sense that you can't activate/deactivate features you're using/not using. You can rip these features (such as vehicles, projectiles, etc.) out but it's not a pain-free process. The networking system in particular is heavily intertwined with everything in the engine so attempting to replace it is going to be troublesome. Luckily it's also still one of the best in the industry in terms of efficiency (remember, it was written for a fast-paced multiplayer FPS and supported servers with 128 players back in the dialup days).

There's currently no support for a 2D sprite-based player object (that is, a 2D sprite that moves around based on keyboard/mouse input, plays animations, etc.). I needed similar functionality for a project I was working on a few months ago and found that adding a proper 2D player class was going to be a relatively large amount of work.

Vince is right re: networking terrain.

The editors are all (well, mostly) written in TorqueScript so they can be extended/rewritten to fit your needs. Out of the box they support adding dynamic fields (think custom properties) to every object you place.

There is no support in the engine for streaming content and it will be a significant undertaking to get it working.

The networking system has been used (with modifications, of course) to support MMOGs. Minions of Mirth is one I know offhand but there are others.