• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

RtC - MindWorX Interview

Status
Not open for further replies.
RtC - Reinventing the Craft

Q: First off, what is RtC?
A: Project "Reinventing the Craft"(Thanks to Whitehorn for name idea!) is a project that aims to add more functionality to Warcraft III, while at the same time keep it a low size, so it's still useful for mappers. RtC will be available for any type of mod, be it a map or a mod, or even a Total Conversion.
My Goals are to make a small expansion for Warcraft III, that i hope people will use for their maps. It's already really easy to install, doesn't contain any intrusive files, so you can safely use it, and then switch to normal wc3, without any hassle. I even have a "Jass" wishlist, where you can request natives that you think are missing in wc3. I'm already planning to extend wc3's Math natives and I've already added Mouse natives.

Q: What made you start this large and exciting project?
A: Well, first of all, I've always hated some of the small quirks Warcraft III, like missing Math natives, that should really be included, and takes no time to add. This was the first things that sparked me to do this. After seeing what my possibilities really were, i decided to add some more natives to that package too. When i realized what I'd made, i decided to make it a mod, for people to use.

Q: Why did you choose to call it WarSoc?
A: Because of the name windows uses for network traffic. Windows calls it WinSockets, which at first made me call it WarSock, but later, WarSoc.

Q: Did you start this project completely alone or do you have a great team?
A: Currently I'm working alone of the WarSoc project itself, but i'm also working on a map that's using it, where I'm working with a friend of mine.

Q: What are basic features of this project?
A: The project called WarSoc, aims to add WinSockets to warcraft III, so people can use it for all manners of network communication, one easy feature would be mIRC. Other features includes Mouse Support and Extended Math, but they're part of Reinventing the Craft.

Q: Is it true that you actually play as singleplayer? How does it work?
A: The game itself is started as singleplayer, but when you play it, it will look like multiplayer, by synchronizing how the game looks on each computer. This will also introduce a unique new feature, that allows client side only variables. Every client will look like the server, but only the server will decide on what happens on the clients.

Q: How would you make multiple team colors for players?
A: You can't.All enemies will be one color, all allies will be one, all your units will be one.

Q: Do you have a full-version release date?
A: So far, there's already an alpha version released of Reinventing the Craft, which includes the basics of WarSoc. The alpha is stable, and has a single demo map too, that shows Movement using a mouse. But the extended multiplayer part is far from done.

Q: Does use of RtC overwrite any of wc3 in-game files?
A: No, it doesn't overwrite any of your Warcraft III files, and you'll be able to switch between RtC and normal Warcraft as freely as you want. RtC is completely standalone, all it requires is that Warcraft is installed, so it can start itself, using the files

Q: With WarSoc, how many people will be able to join a game?
A: This is soft capped, meaning, the better you code, the higher the limit.

Q: Does project "Reinventing the Craft" means that creation of first person shooters will be far easier?
A: Yes, and many more things, involving the use of the mouse.

Q: Will there be a any key detection event?
A: Nope, but there will be key state checking, so that you can check to see if a key is pressed. That, along with a periodic trigger, will make custom events easy.

Q: Is RtC going to use already made attaching system, such as Structs and HandleVars or a new, native and custom one?
A: For now, you'll have to make do with HandleVars for attaching to units, but i'll add a native system at some point.

Q: Are there any large obstacles in creation of RtC? Like hardcoded stuff etc.?
A: That's one of the beauties with RtC, the main thing it does, is breaking hardcoded things in warcraft III. One thing that aren't possible yet, is to use wc3's own types, that is, location, unit, boolexpr and other things like that, since we don't know how blizzard handles them. That's the same reason i can't make functions work for a specific player. As you would see using my MouseAPI in->
Multiplayer would cause a desync, and there's no way around that yet. But i'm working on a way to make it possible.
And with the help of some skilled users, i think it's going to be possible.

Q: Is use of this custom engine legal?
A: Using this modified engine is perfectly legal, nothing is being reverse engineered.

Q: What kind of connection is needed to run such games?
A: Same as Warcraft III does now.

Q: What kind of editor would mapmakers need in order to make maps with those features?
A: They wouldn't need a special editor, everything in this pack will work from a normal editor.
 
Last edited:
Level 7
Joined
Nov 12, 2005
Messages
299
> nothing is being reverse engineered
Well japi does include a certain amount of what can be called reverse engineering.
The whole project being legal is pretty gray until Blizzard gives a response, if that ever happens.
 
Level 7
Joined
Nov 12, 2005
Messages
299
> blizzard DOES benefit from this.
True, but the first thing that comes to my mind when it comes to custom natives is exploiting. Blizzard will probably be blamed if there is a security issue. I'm sure Mindy wouldn't do this purposely, but a bug may just slip though.
If it isn't already then a disclaimer/license should be distributed with this project to clearly state that neither the creator nor Blizzard is responsible for any potential damage.

Moving on they might simply proclaim custom natives illegal as some other people may make viruses that work though Warcraft.

Of course heads up, this was just a worst-case scenarios. For the time being it's not worth worrying about and I doubt that Blizzard pays much attention to WC3 anyway (consider this a good thing). ;)
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
> blizzard DOES benefit from this.
True, but the first thing that comes to my mind when it comes to custom natives is exploiting. Blizzard will probably be blamed if there is a security issue. I'm sure Mindy wouldn't do this purposely, but a bug may just slip though.
If it isn't already then a disclaimer/license should be distributed with this project to clearly state that neither the creator nor Blizzard is responsible for any potential damage.

Moving on they might simply proclaim custom natives illegal as some other people may make viruses that work though Warcraft.

Of course heads up, this was just a worst-case scenarios. For the time being it's not worth worrying about and I doubt that Blizzard pays much attention to WC3 anyway (consider this a good thing). ;)

As a comment to that, i'd like to tell that i'll never add anything that can modify or in any way harm windows, this includes but isn't limited to File Writing, File Execution and Registry Editing.
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
Question, since you could break the player limit, will you break the limit of ground textures as well? It would be so great if we could use all the ground textures in one tileset...

Breaking the limit of doodads and map size would be good too.

We don't need HUGE maps, but it would certainly be wonderful if we could make a bigger map without the editor constantly yelling.

Doodad limit should be possible to change, since that's already possible now, same with map size. I could add some of the more usefull things from WEU. But breaking the texture limit is impossible i'm afraid, since the file that specifies the amount of tiles can't hold anymore data, than it already does. Making more tilesets in one map would require me to recode big parts of Warcraft and Worldedit, which isn't legal, and is something i'm not even sure how to do.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
I understand. Doodad & map size limit should be enough, and maybe higher elevation as well? In WEU you can sink a part of the terrain without having other terrain around it sinking too.

I asked about ground textures because it would be useful for both LotR, WoW, and Third War maps. There are editors that can hold all of the ground textures :-\ damn Blizzard and their limits.

Good job if you can get everyone's requests acomplished, though.
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
I understand. Doodad & map size limit should be enough, and maybe higher elevation as well? In WEU you can sink a part of the terrain without having other terrain around it sinking too.

I asked about ground textures because it would be useful for both LotR, WoW, and Third War maps. There are editors that can hold all of the ground textures :-\ damn Blizzard and their limits.

Good job if you can get everyone's requests acomplished, though.

One thing that will make the terrain problem obsolete is the fact that WarSoc might support multimap multiplayer. Like the rexxar campaign, but with multiplayer.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
That means that you can travel from map to map and be able to control your forces throughout the conection of maps? That'd be great.

I don't know how to make that conection between maps though. I know how to store heroes and all that, but I have no idea how to do the rest.

By the way, there is one little bug with the Play Movie action. It does not play the movie, it only plays when you quit mission. I don't know if the JASS function works (I was told that GUI won't work in this 'mod'), though, but I doubt it does.
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
That means that you can travel from map to map and be able to control your forces throughout the conection of maps? That'd be great.

I don't know how to make that conection between maps though. I know how to store heroes and all that, but I have no idea how to do the rest.

By the way, there is one little bug with the Play Movie action. It does not play the movie, it only plays when you quit mission. I don't know if the JASS function works (I was told that GUI won't work in this 'mod'), though, but I doubt it does.

You'll only be able to control the units in the current map you're playing :) And, linking maps isn't that hard, might add an example of doing so when i release
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
I'm going to make WarSoc ignore file size limit completely.

In exchange, you wont be able to download the maps off an other persons server, but since the Warsoc community is going to be rather small as i expect, everyone will know what is available and therefore download maps prior to play.
 
Level 7
Joined
Nov 12, 2005
Messages
299
> the player lags out
Well that I understand. But in warcraft if the server does not receive some response from a client then the game pauses and gives a certain amount of time until the player is kicked out. I'm curious on when/how would this work in WarSoc...would it be possible to improvise such a wait?

> That would be awesome
It would indeed, but it's unfortunately facing some difficulties.
We don't fully know how handles work yet so you can't, for example, make a native that does something to a unit (change his life for instance).
In addition individual units do not have their names stored, only their type. So if this was ever to happen then you wouldn't be able to go further than changing the name of all units from a selected type.
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
> the player lags out
Well that I understand. But in warcraft if the server does not receive some response from a client then the game pauses and gives a certain amount of time until the player is kicked out. I'm curious on when/how would this work in WarSoc...would it be possible to improvise such a wait?

Lag would behave much like in a firstperson shooter, it could be jassed differently, but in a game with 30 players or so, making them wait for a single person would be stupid. But in the end, it's really up to the user, you could reward people with less lag with gold :p
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
Possible? :p

SFilip said:
It would indeed, but it's unfortunately facing some difficulties.
We don't fully know how handles work yet so you can't, for example, make a native that does something to a unit (change his life for instance).
In addition individual units do not have their names stored, only their type. So if this was ever to happen then you wouldn't be able to go further than changing the name of all units from a selected type.
He got it right on.
 
Level 21
Joined
Aug 21, 2005
Messages
3,699
yes but how about the map dimensions? e.g. a 1024*1024 with multiple tilesets so we have a large loadingtime but no loading time for maps in between as there is only 1 large map?

On the tilesets: isn't it possible to "fake" it somehow? I mean, the trigger editor has the action to change a tile in a region, and after testing I could make a map using 20 tiles... so it's possible...

A question on the teamcolours: as I understand it now, "Player 1" (red) will contain all "players" that are hostile, player 2 (blue) all "players" that are allied, and player 3 will be you (or something like that). That still leaves 10 playerslots (technically 13 but neutral players are usually hard to use) open, so I'm wondering if there's anything like a neutral player, and if you could still create a computer controlled "ally" that uses one of those 10 slots and thus has a different colour?

Which makes me think of something else: if I change the teamcolour of a unit in the object editor (to e.g. Player 4 - purple) and this unit is controlled by your ally, will it be purple or blue?

IMO, It'd be useful if you make every player 1 team, like:
Player 1 = You
Player 2 = everyone else in your team
Player 3 = everyone in team 2
Player 4 = everyone in team 3
etc.
This way you can - through teamcolours - notice who's in which team... Taking fully advantage of all player slots and allowing you to create maps with more than 2 sides (because right now it seems that things could become complicated if you only see 3 sides: allies, hostile and neutral... especially if you see hostile units attacking hostile units with the same colour, it's going to confuse you and in normal melee maps, you won't be able to see what team is winning in a hostile battle...
 
Last edited:

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
yes but how about the map dimensions? e.g. a 1024*1024 with multiple tilesets so we have a large loadingtime but no loading time for maps in between as there is only 1 large map?
I don't know if that's possible, i think the reason WEU didn't have a higher size was because it caused crashs in WE.

On the tilesets: isn't it possible to "fake" it somehow? I mean, the trigger editor has the action to change a tile in a region, and after testing I could make a map using 20 tiles... so it's possible...
I don't think so, the best way, i guess, would be to create a set of functions that did some of the features alot easier. But i'll look into it.

A question on the teamcolours: as I understand it now, "Player 1" (red) will contain all "players" that are hostile, player 2 (blue) all "players" that are allied, and player 3 will be you (or something like that). That still leaves 10 playerslots (technically 13 but neutral players are usually hard to use) open, so I'm wondering if there's anything like a neutral player, and if you could still create a computer controlled "ally" that uses one of those 10 slots and thus has a different colour?
That's possible. Read the last answer.

Which makes me think of something else: if I change the teamcolour of a unit in the object editor (to e.g. Player 4 - purple) and this unit is controlled by your ally, will it be purple or blue?
Purple, as it's set to be.

IMO, It'd be useful if you make every player 1 team, like:
Player 1 = You
Player 2 = everyone else in your team
Player 3 = everyone in team 2
Player 4 = everyone in team 3
etc.
This way you can - through teamcolours - notice who's in which team... Taking fully advantage of all player slots and allowing you to create maps with more than 2 sides (because right now it seems that things could become complicated if you only see 3 sides: allies, hostile and neutral... especially if you see hostile units attacking hostile units with the same colour, it's going to confuse you and in normal melee maps, you won't be able to see what team is winning in a hostile battle...
That's exactly how i'm doing it. The example provided in WarSoc, is for a map with only one player faction. But, you could essentially have 11 "factions". Each faction requires a player slot, but some slots should be reserverd for special things, like in my current setup, player yellow represents developers, and purple represent GM's.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
I thought the color system of Warcraft would be used; your units are blue, enemies are red, and your allies are teal, no matter what player slot they are in.

I don't like this idea though, I would rather stick with the colors and have some more of them (for example, dark red, magenta, light brown, etc), but I guess that's another limitation of the engine?

And yeah, the ground texture limit is SO annoying. There are lots of games where you can use all the textures, why did Blizzard limit it in their game?
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
Not that I want team colors, I think every model has a color that fits him/her best.

For example, Priests and Sorceresses fit better with Orange, while Spell Breaker fits better with Red, etc. But you'd best allow players to choose whenever they use these colors or not^^
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
Which will be great since we will finally be able to use custom music and voices without worrying about sizes.

Speaking of voices, is it possible to add new voices as well? To use custom voices we have to replace an already existing one, so I suggest allowing a way of creating empty sound slots for us to use, or just add them yourself, like 5 for-replacement-sounds.

I guess nobody is going to understand what I wrote above.
 
Status
Not open for further replies.
Top