Game Development Community

dev|Pro Game Development Curriculum

First Project Started - Warcraft3 tech demo

by John McArthur · 01/05/2006 (3:38 pm) · 10 comments

Warcraft3 style tech demo

Estimated Completion Time: 2-3 months.
Start Date: Sunday 11/06/2005
End Date:
Actual Completion Time:
Warcraft 3 Campaign Map: "Prologue: Exodus of the Horde, Chapter Two: Departures"


Project Description

The idea is to basically make a single map (mission file) with the look of a Warcraft 3 (W3) scenario. No, this does not mean I rip map files, graphics, or artwork from the actual game and put them into torque (but it would be cool wouldnt it). This comes straight from my plans when I was developing my own engine/game. I played the demo of W3, took some screenshots, listed entities and artistic style. My goal is to be able to traverse a map that looks like your in a warcraft3 setting, either in first or 3rd Person, with a simple goal, like reaching the marker on other side of map, similar to the tutorial in the actual game.

Desired Accomplishments

First, this should be a great way to learn the basics of Torque: how to edit mission files, about different game objects, basics of GUIs, and what can Torque do easily and not-so-easily. Secondly, am I able to create art that doesn't look like 'programmer art'? Become proficient with Milkshape, not just familiar with it. Become proficient with Photoshop, not just familiar. Finally, this satisfies the urge, to make a W3 styled RPG I first started working on when I was coding my own game engine. Maybe this isn't the game I envisioned, buy it will be satisfying to actually interact with a real idea I had on a small scale. Also, I think this will be nice use to showcase any abilities which may be desirable to a company hiring Torque or game developers.


Some Notes I should have blogged... 11/29/2005

Terrain:
Terrain creation is very tuff starting. Every time I try using Torque's detailed texturing on terrain, it washes out a lot of the original texturing for a generic look, so I think I am not going to use details. Creating the scale and likeness of Warcraft 3's terrain is very difficult in Torque. I didn't expect editing terrain heights and painting textures would be so hard. I scaled the terrain down to a blocksize = 4 (instead of 8), which basically shrank the terrain by half in all directions. Its very hard to determine what squaresize I should have used and I guess the gameplay would really determine this. I think a squaresize of 0 or 1 is really needed to get textures with decent details. With squaresize = 4, the amount of detail you can add visibly to terrain textures of size 256 (without the use of detail textures) is way too small when its stretched out so much. And its not just creating these textures, but going in game and seeing what the results are, opening Photoshop, making adjustments, reloading torque, seeing them, etc. This all adds to a lot of time and trial-and-error.

A Single Tree:
It took me 3 days of modeling to get a stupid little tree with less then 200 polys to render correctly in Torque...3 days. Alpha rendering, polygon sorting, mesh 'group' ordering, and about 100 variations of these three were tried to figure out how it works (something NOT mentioned, but more of a detail only an artist would know I guess). I *assumed* that sorting would do the entire job, but actually in Milkshape the order in which triangles are grouped has a huge impact (something that took 3 days to discover)! There is a polygon here or there that doesn't quite render correctly, but its 90% correct, and that's 'DONE' on this project.

Game Production:
I notice how I am thinking to myself (with my manager cap on), while performing tasks, how taking X amount of days will extend the amount of development time on project. When you see an object by itself and its not great looking, it stands out, but when its in game will with a lot of other visuals, will it matter? Also, I find myself having to decide on when to call a task 'done,' even though spending more time on it may, for instance make it look better/more professional. Very tough for a 'tech' project that wont really turn into a game as it stands, but something I don't want to look cheap either.


Some Notes I should have blogged... 12/14/2005

Terrain:
Found a resource that modifies the terrain to allow for 8 texture support, which adds 2 textures I really needed. Found out that using a squaresize = 4 for terrain actually destroys rendering of waterblocks. Started modifying the waterblock code but it was a cascading effect where changed created more changes to be made. Bah, the time to fix this would take weeks of coding and its not acceptable, so I found a hack that renders the entire water object without it culling sections which are under terrain. Done, moving on. Most of the textures are similar to what is in the Warcraft3 map that I am looking at, with one or two really needing another week or more of effort I cant give (just warming up to photoshop). It is now time to create the objects to populate this world. I think just some minor modification to terrain will be required once I start populating the world.

Game Production:
My original idea of doing this really didn't include a bigger picture which includes things like the GUI interface in Warcraft 3. If I ever wanted to demonstrate this to someone, to really give them a full experience of this tech demo, I think its best to try to include as much of the bigger picture as possible. I will only try for the interfaces which are required to get the mission to load plus some of the in-game interfaces. Damn feature creep, time will tell.


Some Notes Now... 1/05/2006

Well, real life stuff has been more important then this 'just a hobby' stuff. Unfortunately, looking for a paying job along with all the holiday stuff that comes with November and December, really didnt leave me much time to work on this project. Learning what Torque can/cant do also takes time that I may not have accounted for as well. So, I got the terrain, water, sky, and trees setup. Most of the time now will be for game objects, possible player model, some kind of simple goal, sounds/music, and GUI interface. All of this is taking time and I got to ask myself, is it worth it? Well, if it helps me get close to answering whether I should be in game development or not, I guess so (see previous blog on that).

Clickable Thumbnails:
(Note: the large screenshots at links are piss-poor, will do better quality next time.)

Blizzards Warcraft 3 game screenshot (used as a REFERENCE, start of 'Chapter Two' campaign)
img8.picsplace.to/img8/5/thumbs/WC3_startarea.jpg

Same area, but from in TORQUE(scene shot of area, not from players view)
img8.picsplace.to/img8/5/thumbs/torque_startarea.jpg

Another in TORQUE shot(scene shot, not from players view)
img8.picsplace.to/img8/5/thumbs/torque_bridgearea.jpg

(EDIT: fixed thumbnail link and missed an italic)
John

#1
01/05/2006 (4:51 pm)
John,

You can solve the water block problem by switching to a size 8 square.
#2
01/05/2006 (5:16 pm)
Todd,

Quote:
Found out that using a squaresize = 4 for terrain actually destroys rendering of waterblocks. Started modifying the waterblock code but it was a cascading effect where changed created more changes to be made. Bah, the time to fix this would take weeks of coding and its not acceptable, so I found a hack that renders the entire water object without it culling sections which are under terrain.

He knows ;) I think he wanted it to be strictly size of 4.

- This is a cool plan though! I'm looking forward to the updates.
#3
01/05/2006 (5:35 pm)
The size 8 does allow it to cull the water that is under the terrain. He did not seem to be aware of that.
#4
01/05/2006 (9:57 pm)
Torque can look every bit as good as WC3. Check out Todd's upcoming RTS pack:

www.garagegames.com/mg/snapshot/view.php?qid=1072
#5
01/05/2006 (11:23 pm)
Wow, Thanks very much Jeff.

You are absolutely right about Torque. You can do great things with this engine.
#6
01/06/2006 (1:52 am)
Looks very promising, I would say work on the ground textures or expose them more as this would strongly enhance your game. Similarly for the fog. Once that's sorted you'll be able to make nice maps!

Toby.
#7
01/06/2006 (11:27 am)
Hehe, thanks Todd, but yeah, I know about water working correctly at its default size of 8. I do have 3 waterblocks, two small and one taking up have the map (the ocean and stream). Theres a slight performance hit, but its acceptable for this. There are a lot of constants in the waterblock code that relate to the squaresize value, or multiples of the squaresize * the number of terrain blocks, etc. Well, long story short, I decided on the code that just rendered the entire block.

Next time I will take some *quality* 3rd person shots so you can see what the textures look like. At home the preview of those pics looked better, but on a page they looked twice as bad (I dont know what sort of jpeg quality people are use too).

The way Warcraft3 gets its high impact terrain textures is through tiling, like in isometric games. Its VERY difficult to get the exact look. The cliffs especially. In W3, the terrain can go from cliff on one side of a triangle's edge, to grass on the other - torque blends between two. Creating the cliffs was difficult as well.

I left out of the blog my actual list of todo items. I think once I get more of the other objects in, it will look much better. I dont have my design doc on me but off the top of my head here are some of the other things to go in:
- about 5 different shapes of rocks
- water spashes around rocks that are in water
- 3 different bushes
- wheat crop bush, wheat/hay bail, wheat/hay harvested stack
- 2 different fallen/chopped tree stumps
- fence sections
- lamp post, lamp (animated) + glow effect
- simple house: single story, two story, three story
- fancy shop
- wall section
- windmill
- bridge
- weapons cache & archery target
- orc grunt (as player)

Then, there is the whole GUI situation I have to consider (not to mention also Warcraft3 has a 3d environment playing in the background I want to do...good grief). Seems like a lot for just a tech demo huh...LOL. :/

Thanks for the comments all,
John
#8
01/06/2006 (7:15 pm)
I like the little waterfall, how'd you do it?
#9
01/07/2006 (3:08 am)
great screenshots, and yeah how'd you do the waterfall?
#10
01/09/2006 (11:29 am)
Thanks.

Waterfall...
Basically its a curved dts shape (two of them) with ifl animated (scrolling) transparent water, plus some particle emitters ejecting over the edge to create some mist, adjacent to a upper level waterblock. Unfortunately, when I worked on my own engine, I had the particle emitters designed such that I could eject from something like a line, not just a point...something I would need to code up in torque, and I dont really have time to dig into coding on this first project.