• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Questions about limitations for Game Design Project

Status
Not open for further replies.
Level 2
Joined
Jul 25, 2017
Messages
9
Hello Hive Workshop- I'm glad to see that there is a community that is still committed to Warcraft 3 map creation. Awhile ago inspiration struck me to design a game for Warcraft 3 and I am moving forward towards putting together a comprehensive game design document in the hopes that my project will eventually be adopted and published, however I have run into quite a few questions regarding the limitations for the project which may ultimately define the scope and direction of the game that I am seeking to create.

The game is titled Fortress Run and it isn't about fighting as much as it is about collecting treasure throughout a variety of different stages, although I think that there is room for a variety of different game modes.

The first question that I came up with was whether or not I would be able to make a map that is big enough with all of the stages that I'm planning on developing and whether or not I would be able to use all of the tiles that I want to to make them. In my research about tiles I found out that I could have tiles replaced to fit the theme that I want to despite that there is a limit to the number of tiles that I can use- which got me around to thinking, what if I could procedurally generate my stages in the first place?

I like the idea of procedurally generating a stage because I think that any amount of randomness, no matter how simple, is an effective way to add depth to a game which I hope may be taken seriously as a competitive video game. So, I'm wondering:


1) What sorts of mapping elements are capable of being generated procedurally in game?
(Tiles may be, as I understand, but what about water, cliffs, boundaries and complex height?)


The sorts of elements which I'm considering developing procedurally would be as simple as various modules- rooms, corridors, etc, which have all been pre-designed and then are implemented in-game using an algorithm. In order for this to be the case then these pre-designed modules would need to be stored as information in the code- so for my second question:


2) Would it be possible to store map element information in the coding engine?
(I imagine that this would require that terrain information be exported.)


One more question along this line of reasoning- supposing that this is possible:

3) How time & resource intensive would the procedurally generating process be in-game?
(I can imagine how terrain height may require so much information that it is impractical to implement.)

4) Would generating only a limited amount of content reduce the processing load for players?
(Essentially would generating less content contribute to less lag and lower system requirements.)


Considering that this may not be a viable approach to creating a map then a traditional static map with all stages included would be the way to go- if this is the case then I'd ideally require a useful mapping tool in order to complete this aspect of the map myself.

5) What world editing tools would you recommend that I use if I wanted to, for example: increase or reduce the size of a map (cropping the map) after having worked on it, copy or paste elements, exceed the tile limitation, or perhaps something that I can not think of.

Lastly, I'm somewhat aware of some of the ability and character design limitations in Warcraft 3 (I used to create character designs for Defense of the Ancients) such as Cooldown Reduction, Mana Cost Discounts, etc. (Spell Lifesteal?) (Although I may be mistaken and that these things are possible but simply require more work than Icefrog was willing to devote to DotA 1.) but I am considering using a "Vision Cone" mechanic for certain neutral mobs to include a Stealth element to the game. With this mechanic certain neutral mobs wouldn't be capable of detecting units outside of their 120 degree vision cone. Questions:

6) What other kinds of limits are there on Units and Abilities that I may not be thinking of?
(I intend for my game to be rather simple, but I figure asking this questions can't hurt.)


7) Would a "Vision Cone" mechanic for neutral mobs be possible and practical?
(I am wondering whether such a mechanic would be resource intensive when applied to dozens of units.)


Thank you for your help and thanks for reading- I'm looking forward to working on this project. I know that I have what it takes to create a comprehensive game design document for a game that has a lot of potential to become a great game in the Warcraft 3 custom game's list and which even has the potential to go further on to become its own game, but I have a lot of work ahead of me. I hope that I will be able to complete this project and then that it will be picked up by map creators who are passionate about my project!

Let me know if you're interested in hearing more about my game- so far I have a rough concept for various stages and some rough concepts for some of the playable characters. The fundamental principles of my game's design are fun, intentional and interactive game designs which will appeal to a competitive player-base. I imagine that there will be two testing phases- first to ensure that the game is fun, and then second to progress into competitive design testing.


To throw out some examples, I have concepts such as:

A) A stage where invisible spirits indicated by a floating eye follow players around which alert powerful doom guards to a players location which can be evaded in one way by teleporting through portals that are found around the map (or another way by turning invisible, teleporting to another location, etc).

B) A Spell Thief character that has a host of unique spells (as well as perhaps the ability to learn other characters spells)- the Spell Thief can for example make an area of objects turn invisible while being capable of seeing invisible objects herself, making her capable of denying other characters items or treasures that are dropped and taking them for herself, or take an object from a distance using Telekinesis.

C) Coins which when dropped from a dead enemy or another object scatter in random directions bouncing along the way.

D) Game modes such as "Boss Runs" (defeat empowered Bosses as a team), Team Treasure Hunts, Single Player campaigns or potentially difficult game modes for competitively minded players giving them the ability to control multiple characters at once.

E) An intriguing Lore behind the characters and stages as well as optional Cinematic elements which detail a characters lore, introduce stages to new players, introduce players and the character(s) they are playing, lead players from stage to stage or more.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,287
The first question that I came up with was whether or not I would be able to make a map that is big enough with all of the stages that I'm planning on developing and whether or not I would be able to use all of the tiles that I want to to make them. In my research about tiles I found out that I could have tiles replaced to fit the theme that I want to despite that there is a limit to the number of tiles that I can use- which got me around to thinking, what if I could procedurally generate my stages in the first place?
You are limited to loading at most 16 tile times in a single game session. Yes you can dynamically load times in whatever remaining tile space you have, but once a tile type is loaded it cannot be unloaded. After 16 tile types are loaded, new tile types that are dynamically requested instead become one of the already loaded tile types. This limit is due to the terrain mesh only allocating 4 bits (16 values) for tile type identifier.

If one sacrifices tile variation, one can create "tile sheets" which are a single tile type containing many visually different tiles as different variations.

1) What sorts of mapping elements are capable of being generated procedurally in game?
(Tiles may be, as I understand, but what about water, cliffs, boundaries and complex height?)
One can modify terrain height to some extent. One cannot modify water as far as I am aware. Cliffs cannot be created dynamically in game. Boundaries can be created dynamically, and so can the camera area be changed. One can modify the pathing map 1 cell at a time. One cannot dynamically modify the tile and cliff types declared in the w3e file. One cannot dynamically modify the minimap image outside of adding basic overlay icons on top of it Once can dynamically create destructables, but not doodads.

2) Would it be possible to store map element information in the coding engine?
Yes it is possible and other maps have done this before. You can either store the data inside arrays, or inside hash tables. I would recommend avoiding using strings as the data storage types as WC3 does not have garbage collection for unique but unreferenced strings so parsing data in such a format can result in massive leaks and degraded performance.

3) How time & resource intensive would the procedurally generating process be in-game?
Depends on algorithm. For a large map with decent pacing (to prevent waiting for player dialog) it may take anywhere from 15 to 60 seconds. One can always optimize this later (do not care about speed at first).

4) Would generating only a limited amount of content reduce the processing load for players?
Less content generally makes the game run faster.

5) What world editing tools would you recommend that I use if I wanted to, for example: increase or reduce the size of a map (cropping the map) after having worked on it, copy or paste elements, exceed the tile limitation, or perhaps something that I can not think of.
Sharp Craft is currently the best World Edit extension available. You can always write your own software if there are limits with the editor (but not game) you have problems with.

6) What other kinds of limits are there on Units and Abilities that I may not be thinking of?
Not sure what you are asking... However after enough custom abilities and units are defined the map might take a very long time to load.

7) Would a "Vision Cone" mechanic for neutral mobs be possible and practical?
Vision cone mechanics are really difficult to implement, and can be highly resource intensive for large numbers of units.
 
Level 2
Joined
Jul 25, 2017
Messages
9
Thanks for the reply! That's a very comprehensive answer to my questions- it looks like I will have to adjust the scope of my project quite a lot more than I thought in order to make something for Warcraft 3, and then I may have to wait for a Warcraft 4 to come out before fully realizing my vision!
 
Level 6
Joined
Aug 28, 2015
Messages
213
I would recomend to think about splitting your modes in different maps, so you don't have to think to much about how you can squeez all in one map and spend to much time on how to optimize all, instead you can use the time to work on each of the different modes, and just copy paste the common things between the maps. You could give all maps the same name and as suffix the mode so players can search them easier. When you really keen to store all in one file you could create a custom campain containing all maps and create a "menu" map as the first where the player can choose which map/mode they want to go to.
The project sounds really ambitious, I wish you the best luck for it.
 
Status
Not open for further replies.
Top