Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 3.5 - WoG and Beyond > Thread: Complete Rewrite?
Thread: Complete Rewrite?
MadTurkey
MadTurkey

Tavern Dweller
posted January 16, 2005 12:39 AM
Edited By: MadTurkey on 15 Jan 2005

Complete Rewrite?

Piggybacking on the [url=http://heroescommunity.com/viewthread.php3?FID=12&TID=14008] Source Code thread[/url] that Jakester started a few weeks ago, I'd like to float the idea of restarting the entire WOG project from scratch and see what the community thinks.  I agree with Jakester that the WOG team has done an excellent job under very difficult conditions and deserves a huge standing ovation. My suggestion is not intended to disparage what they've done in any way. Instead, it's intended to address some problems that are beyond their control and making progress difficult.

Here are a few specific problems:

From what I've read in this forum, the team has run up against a hard limit with the number of creatures and available castle types.

The ERM script language is ugly. It reminds me of assembly language. It is difficult to read and difficult to debug. It is nearly impossible to design reusable code. Because all variables are global, scripts run the risk of overwriting each other's data. I could go on, but I think I've said plenty. The end result is that the ERM language slows development and discourages all but the most bold among us from writing scripts.

HOMM3, at least in the form that can be upgraded to WOG, is a 32 bit Windows(tm) application. This is unpleasant for those of us who prefer other operating systems, but it is more than simply unpleasant going forward as we are on the cusp of an industry-wide move from 32 to 64 bit computing. In a couple of years, 32 bit applications will be obsolete and will most likely be usable with old hardware or an emulator.  

Lack of source code restricts the addition of radically new features and makes it difficult to implement even some not-so-radical ones.

At least on my gaming system (XP Professional), WOG crashes so much that many maps are simply unplayable. I just had a problem with Eternal Love map 1 today that required a hard shutdown and frustrated me to the point that the Windows box is still turned off. The problem is most likely with an ERM script and I probably shouldn't have WOGified the map in the first place, but the fact remains that we have an unstable product where some components are incompatible with other components.

I am sure that the WOG team could produce a much longer and more specific list than mine because they are much more intimiate with the situation and I suspect get far more frustrated than I am. Again, I have nothing but admiration for the team. They've done exceptional work in spite of a long list of problems beyond their control. I'm suggesting that we discuss the possibility of creating an environment where they have total control.

I don't have a specific solution in mind, but I have seen the talent of the team and the pool of ideas from the community and I believe that we can produce something special if we are willing to put out the effort.

Just to show you that I'm serious, here is what I bring to the table. I've been developing software(at varying levels of competence) since the early 1980's. I've spent the last 10 years working for small software companies in all phases of the development process. My greatest strengths are in the areas of system architecture, design, and development process management. I'm also a competent (but not extraordinary) coder in several languages. I'm good with network protocols and interprocess communication but lousy with sound and graphics. My ability with artificial intelligence is like my ability with volleyball. I'm not very good but I like to play.

For some time, I've been looking for a community software project that I can work on outside of my day job. I've been watching the "help wanted" postings on [url=http://www.sourceforge.net/]sourceforge[/url] but nothing has caught my eye. I've been playing HOMM for years and have admired the work of the WOG team from afar. I'd love to do something to keep the project moving forward into the indefinite future.

Please tell me your thoughts. Do you think a rewrite is worth doing? Would you be willing to contribute?





____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fnord
fnord


Promising
Famous Hero
posted January 16, 2005 03:59 AM

Quote:
Piggybacking on the Source Code thread that Jakester started a few weeks ago, I'd like to float the idea of restarting the entire WOG project from scratch and see what the community thinks.  I agree with Jakester that the WOG team has done an excellent job under very difficult conditions and deserves a huge standing ovation. My suggestion is not intended to disparage what they've done in any way. Instead, it's intended to address some problems that are beyond their control and making progress difficult.


I'm just one member of the team but I'll give you my initial thoughts on some of the points you address--both the problems you mention and your suggestions/offer.

Quote:

Here are a few specific problems:

From what I've read in this forum, the team has run up against a hard limit with the number of creatures and available castle types.



Yes, that's essentially correct. However, we haven't used up the remaining available creatures yet and I think there's even a very small chance that Slava could find a way to extend the number somehow, but that may just be wishful thinking.

For the castles, I think it's very hard to integrate a new one (without source code) but whether or not it's possible is hard to say. I imagine that if someone made all the town and creature graphics, music, etc. needed, Slava might give it a try and may or may not be successful.

Quote:

The ERM script language is ugly. It reminds me of assembly language. It is difficult to read and difficult to debug. It is nearly impossible to design reusable code. Because all variables are global, scripts run the risk of overwriting each other's data. I could go on, but I think I've said plenty. The end result is that the ERM language slows development and discourages all but the most bold among us from writing scripts.



There have been a few proposals from people in the forums who wished to make a more user-friendly version with commands based on English language words, but as far as I know, nothing came of it.

However, I and a number of other script writers are now quite used to ERM and manage quite well with it. This doesn't mean we couldn't get used to something else, and perhaps a simpler language would increase productivity and reduce errors..or maybe not.

In any case, there seem to be more ERM script writers now than ever and new talented scripters keep popping up out of the woodwork, so despite everything, it's really not doing so bad.

Quote:

HOMM3, at least in the form that can be upgraded to WOG, is a 32 bit Windows(tm) application. This is unpleasant for those of us who prefer other operating systems, but it is more than simply unpleasant going forward as we are on the cusp of an industry-wide move from 32 to 64 bit computing. In a couple of years, 32 bit applications will be obsolete and will most likely be usable with old hardware or an emulator.



Heroes 3 (and therefore, WoG) are definitely getting quite "old" in terms of computer software. However (and I may be wrong), I imagine that the Windows operating systems will continue to include full support for 32 bit applications for a long time to come so I don't think this is a big worry.

And if it were converted to 64 bits, would it run on an older computer and OS? If not, there are many people who wouldn't even be able to use it, myself included.

Quote:

Lack of source code restricts the addition of radically new features and makes it difficult to implement even some not-so-radical ones.



Quite true for the most part. My only quibble is that I think some features such as stack experience are fairly radical for Heroes 3, and Slava did manage to implement them anyway, albeit with a fair bit of difficulty.

Quote:

At least on my gaming system (XP Professional), WOG crashes so much that many maps are simply unplayable. I just had a problem with Eternal Love map 1 today that required a hard shutdown and frustrated me to the point that the Windows box is still turned off. The problem is most likely with an ERM script and I probably shouldn't have WOGified the map in the first place, but the fact remains that we have an unstable product where some components are incompatible with other components.



It's hard to know what's going on there that's causing the crashes. I know some people use XP and report that WoG is quite stable. Perhaps, as you suggest, it was a script bug, or perhaps something else.

Ideally, WoG would give fewer people problems on all supported operating systems, and would work flawlessly in MP. I can see that a rewrite might be able to address those issues better.

Ideally, ERM scripts would have no errors too, but I think script errors are something that will occur even with a rewrite given the nature of computer programming, especially using a team with many people contributing their own scripts the way we do.

Quote:

I am sure that the WOG team could produce a much longer and more specific list than mine because they are much more intimiate with the situation and I suspect get far more frustrated than I am. Again, I have nothing but admiration for the team. They've done exceptional work in spite of a long list of problems beyond their control. I'm suggesting that we discuss the possibility of creating an environment where they have total control.



The only immediate thing that springs to mind is the map editor. We haven't got much control over that at present although you never know what might happen in the future.

Quote:

I don't have a specific solution in mind, but I have seen the talent of the team and the pool of ideas from the community and I believe that we can produce something special if we are willing to put out the effort.



The active WoG Team members are currently pretty involved in their own scripting efforts, etc. so I'm not sure how willing they would be to either divide their time or switch to a completely new project that would be starting from scratch and probably take quite awhile to get up to speed, and then also take awhile to spread through the community and acquire a good sized player-base.

There may be some interest but I imagine there will also be a lot of skepticism about such a "rewrite from scratch" project actually getting anywhere. This means it will be hard to motivate people until they see a lot of progress has been made.

Furthermore, I think the actual hard-coding could only be done by a few people, and aside from yourself, probably only Slava and perhaps Alexander Trifonov would be able to contribute much in that area, aside from testing and ideas.

Quote:

Just to show you that I'm serious, here is what I bring to the table. I've been developing software(at varying levels of competence) since the early 1980's. I've spent the last 10 years working for small software companies in all phases of the development process. My greatest strengths are in the areas of system architecture, design, and development process management. I'm also a competent (but not extraordinary) coder in several languages. I'm good with network protocols and interprocess communication but lousy with sound and graphics. My ability with artificial intelligence is like my ability with volleyball. I'm not very good but I like to play.

For some time, I've been looking for a community software project that I can work on outside of my day job. I've been watching the "help wanted" postings on sourceforge but nothing has caught my eye. I've been playing HOMM for years and have admired the work of the WOG team from afar. I'd love to do something to keep the project moving forward into the indefinite future.

Please tell me your thoughts. Do you think a rewrite is worth doing? Would you be willing to contribute?



I'm not entirely sure of what you're proposing but it sounds like you're suggesting to essentially write a new version of Heroes 3 from scratch but use the existing graphics, plus integrate the extended features of WoG (or similar features) including a scripting language similar to WoG but written in a way that makes it more user-friendly (a higher-level language). Is this what you're suggesting?

If you are, there may be copyright issues to consider--it's one thing for a Mod to be created based on a product and requiring that product to work (i.e., WoG requires SoD) but quite another to create new "Heroes of Might and Magic 3" from scratch that duplicates Heroes (plus WoG-style additions) and uses their graphics.

Also, even given your and Slava's experience, I imagine this would be a collosal effort just to get it the same stage that Heroes 3 is normally, let alone all the additions. I'm not quite sure how many programmers worked on Heroes 3, nor exactly how long it took them, but it doesn't seem like something that could easily be done in one's spare time without spending 5+ years on it. Correct me if I'm wrong.

I hate to be negative, but those are my initial thoughts. To summarize: it's an interesting idea, but it doesn't seem very practical.


____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
IYY
IYY


Responsible
Supreme Hero
REDACTED
posted January 16, 2005 04:17 AM

I think it would make more sense to just make a fan based HOMM. And I'm not saying this as a joke - it's actually possible. Think about it. Coding the engines would be a breeze, since HOMM is a turn based 2D game (that's easier to code than a platformer). Network code would be a bit more tricky, but definatly do-able.

With the graphics there is a bit of a problem. Namely, it's not too easy to make all of those pretty pictures. What is possible, is to allow players to make a set of regular graphics and to allow players to import sets of custom graphics. Then another team (completly unrelated to the first) would rip and release the graphics from HOMM3 in the format required for the new game. This would most likley be illegal (unless we find a loophole of sorts that will allow everybody who owns the original game to use such content), but meh.

The gameplay elements would not be too difficult to implement since we have a community here that knows VERY well how HOMM works. In fact, we could improve it greatly.

So I am thinking of around a year or two for such a project. Possible.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
MadTurkey
MadTurkey

Tavern Dweller
posted January 16, 2005 07:41 AM

Fnord, I think you're right to be skeptical and you raise some good objections. It might sound strange but I'm grateful for them. The last thing you need when you're weighing the possibility of starting a new project is a cheering section so loud that you can't hear the potential problems. From what I've been reading in trade journals, something like 80% of commercial software projects fail completely. I'm surprised the number isn't higher. Most fail due to inadequate understanding of the problem domain or a lack of institutional support. In this case, the "institution" is the current WOG team and community. I would be a presumptuous idiot to start running with this and assume that the rest of you would jump on board at some point in the future. The undertaking is too big and I lack skills in too many important areas.

I was deliberately vague about what such a project might look like because I wanted to avoid imposing my own outline on it before asking if the avenue was even worth pursuing. Someone else might have thought about it and come up with an idea better or more developed than mine.  Fnord, it turns out that you and I are thinking along exactly the same lines, so I'll be a bit more specific. Keep in mind that this is all just a partially developed outline at this point. Everything is fair game for discussion.

At the highest level, I'm thinking about doing exactly what Fnord suggested: scrapping the existing code but keeping whatever other assets we can. I realize that there are copyright issues here. Certainly we can't keep the "Heroes of Might and Magic" name and we probably can't keep the pre-WOG images but who owns the images that were created by the WOG team? Who owns the stories, maps, and scripts that were created by community members? As far as I understand copyright law (and I'm no attorney), they're the property of the authors unless there was a specific agreement otherwise.

I was thinking about starting with a stable, well-established cross-platform development framework. Two that come to mind are [url=http://www.wxwindows.org/]wxWidgets[/url] and [url=http://java.sun.com]java[/url]. There may be other, better choices, but the idea is that we'd be looking for a solid foundation for writing cross-platform code that will not force us to write low-level interface routines or develop our own data structures.  We certainly do not want the hassle of needing to maintain a separate code base for each platform. Let the framework deal with that stuff so we can focus on the game.

The framework would support a number of semi-independent modules. Some of them are obvious from the way HOMM looks today. There would be a module for drawing each part of the display, a module for sound, a module for combat, perhaps a module for the adventure screen, and so on. Some of them are not so obvious. I envision separate modules for each building type on the map, and perhaps separate modules for each hero class. The modules are only loosely integrated. Each has a lifecycle completely independent from the others and they communicate using some sort of messaging protocol. This buys us the ability to write modules in any language we'd like, provided that we can integrate the required compiler or interpreter. The lower level modules (video and sound) will necessarily be written in the same language as the framework but the higher ones could be written in perl or ruby or BASIC or whatever floats the author's boat.

Maybe I'm going a bit wild here. Maybe it would be best to stick to one scripting language, but the big picture is a small core that handles essential common operations with a large number of modular scripts that could do practically anything. Want taverns to include a multi-player poker game that uses players from a certain server on the Internet? Go for it.

The other thing that such a radically modular approach would provide is stability. If a non-critical module (such as the Internet poker game) misbehaves, the central application can terminate it, log a message, and continue processing.

The project I describe is not trivial, but its design allows it to be developed in stages. The most difficult part would be designing and building the core and lower level modules. The higher level modules could be rolled out independently and the system could be released in stages as it is being developed. I could see a first release that did nothing but combat, and a second that included the adventure map with a few buildings, and so on.

On the issue of talent, I would not be too surprised if we had to reach outside of the existing WOG community for developers, but I know they're out there and games tend to be pretty attractive -- especially if we can show some momentum.

The last part of my outline is the ownership issue. It seems to me that work developed by the community should belong to the community. I like the [url=http://www.fsf.org/licenses/gpl.html]GNU General Public License[/url] because it so specifically protects the freedom of everyone to enjoy the game, but it's only one choice among many. I'm happy so long as we all agree that this is a community project and no single one of us owns it.

Of course, this is all assuming that a project gets off the ground and nobody (not even I) has made a commitment to it. Right now, we're just knocking an idea around.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
zvs
zvs


Hired Hero
posted January 26, 2005 01:33 PM

Quote:
Of course, this is all assuming that a project gets off the ground and nobody (not even I) has made a commitment to it. Right now, we're just knocking an idea around.

 The biggest problem I see here:
 1. The majority of the WoG graphics are still Heroes III images. Until you find a good artist or two, who will to work for free (that is quite possible) for a year at least, your idea is impossible.
 2. Any *extra* environment like JVM will be too haevy for ordinary PC. Writing WoG in Java will make it (I expect) 5 times slower, if not more.
 3. To recreate the same game that is already exists (with all its minuses) is not too atractive I think. I can imagine a people who say "I played WoG, it is not bad but not stable. But why should I pay for a *more stable* WoG?". If you are not going to sell the game, I am not sure that you will find enough volunteers. WoG is not *epic* game of all times.
 Sorry that I add more scepticism, but this is how I see the problems.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
greatergnoll
greatergnoll

Tavern Dweller
posted February 01, 2005 07:14 PM

just wanted to throw out there that a similar project -- i.e. re-writing h3 from the ground up -- was started about a year ago (year and a half?). I think it was called "WOG Rebels." as you might imagine, a group that so explicitly defines itself in opposition to another is likely to have trouble. at any rate, the project was to have been coded in VB6. I think the project lasted about a month.

at any rate, the leader couldn't drum up significant support from the community. of course, I think the project had serious management problems as well. and  name was not an auspicious choice if the leader wanted to recruit from the pool of wog aficionados.

anyway, that's my short story about a previous project. all that not withstanding, given the right direction, I think that people might well become engaged in the project. WOG itself is evidence enough that there is still a community interested in a game that's 6 years old, or whatever it is now. my main concern is the amount of time it will take to develop the project. people are already dropping like flies from the doom3 modding community, and d3's been out, what?, 3 months or something. modding "takes too long!". especially with an older game, people are going to want to see results pretty instantaneously.

also, with slava, I wonder about the value of recreating h3, albeit a potentially much more extensible h3. if you really want to devote yourself to such a project, why not create your own game? perhaps one that is "heroes-esque" rather than "heroes-plus."

peace.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Bergfader
Bergfader

Tavern Dweller
Berserker
posted February 02, 2005 12:08 AM

I like the idea of a total rewrite of the game but it should be a bit diffrent to homm3 perhaps somthing new story ways and so. Im not in the wog team but im intresting in geting involvd in a project like this. My strenghts lays in art, im studying Art and shape in the gymnasium. I have good knowlage of photoshop as well. I have some ideas for the graphics how they could be made if you are intrested in help concerning the grapichs fell free to contact me by sending a message or mail.
____________

[URL]http://www.aftonfall.tk/[/URL]

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread »
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0932 seconds