|
My Motivation behind OpenBW
It is time to write a couple words about the OpenBW initiative. After a short introduction describing what it is, I will give two motivations that led me to work on OpenBW. The first motivation is technical, the second motivation is ideological. If you are not into technical stuff, feel free to jump directly to the ideological motivation section.
Introduction
In short, OpenBW is an open-source and free recreation of Brood War. Our vision statement reads:
OpenBW aims at bringing the greatest game of all time to a new generation of gamers and developers, at a higher level than ever seen before. While OpenBW contains a new game engine, it is fully compatible with Brood War by Blizzard.
OpenBW is developed entirely by us. We own the copyrights of our work and we do not violate copyrights of other parties. In particular, OpenBW does not contain any IP (intellectual property) owned by Blizzard.
Although the entire project is a volunteering effort by unpaid contributors the team and project setup matches professional equivalents and we set high standards of quality. In our view, this is the key to our success and acceptance by you.
Everything in OpenBW revolves around the game engine, which we call the “core engine”. It is written entirely by the one and only tscmoo. But OpenBW is much more than that. The project started with three additional modules, called “BW HD”, “Replay Viewer”, and “BW AI”.
As the names suggest, the “BW HD” module brings a beautiful HD version to the community. The “Replay Viewer” module lets you watch replays in your browser, with all the functionality you would expect from a modern tool. And the “BW AI” module aims at facilitating development of AI bots.
See also: http://www.openbw.com/project/
Even these four modules are just the start. The limits are really only given by the imagination of the community. It goes nearly without saying that our goal is a fully compatible game client and I am also secretly working on a tournament module (well, not so secret anymore now :p ).
Technical Motivation
After working on my bot for about three months, as documented in this blog, I hit a wall. My bot did reasonably well in the “marines only” version of the game (only units allowed are SCVs, marines, command center, barracks, supply depot). The bot could expand and produce as many marines as possible given its income. It could predict the size of the enemy army accurately based on mathematics. It scouted decently and had a very rough idea of more important and less important regions of the map.
But how would I ever be able to teach it the concept of blocking a ramp for defense? Or the concept of flanking? All micro operations it uses are “hard-coded”. That is, I wrote code explicitly to set up an arc, pull back weak units, etc. However, I am in it for the AI part. It is not my goal to create a good bot by hard-coding its behavior. The Facebook research group seems to have spent considerable time with only limited success in an attempt to machine-learn such micro.
Up to now applying machine learning and training neural nets was cumbersome. Development is limited to windows, because the original Brood War is required to run. Running several instances on the same machine is error prone. A lot of valuable time is lost to create and start a game. This overhead becomes substantial when playing thousands of games. Reading values from a memory print via BWAPI is not as robust as I would wish.
BWAPI is without doubt the best thing that ever happened to bot developers and amazing by itself. But it is time to take the next step and overcome the limitations that are currently holding us back.
- Run everything on Windows or Linux (or MacOS) - Run as many instances in parallel as you wish - Execute only the code necessary to machine-learn the specific part you’re interested in - Programmatically set game states - etc.
The “BW AI” module aims at solving those issues and giving more powerful tools to the community of bot developers by using the OpenBW core engine instead of the original BW.
Ideological Motivation
To many of us StarCraft is special. It is more than just a game. It has been an important part in our life and holds a special place in our heart. I must admit I had not touched Brood War in years when SC2 came out. I was very busy with my own company, often working insane hours (literally) and exploring my personal limits regarding (lack of) sleep, performance, leadership, etc.
A few weeks after SC2 was released I was sucked back into the StarCraft universe. The memories came back and I was hooked again. The WoL era was a blast, playing tons of games with friends. Then HotS arrived. Obviously I immediately bought the expansion, clicking that login button relentlessly until I could finally enter bnet the night it launched. I continued to play, observing the whole patching process and the work of the SC2 design team. But I felt more and more uncomfortable. Then, one day I woke up and the passion for SC2 was gone, just like that. It was like waking up from a dream. The moment you realize it wasn’t real and you are disappointed. I imagine this was the time when I fully realized how devastating it can be when commercial interests of a profit-oriented company clash with the interests of a community of enthusiasts.
I had been reading a lot about psychology at the time. How the brain works, reward mechanisms, perception, non-verbal communication, etc. Right from the start I saw how design decisions were taken to accommodate the average or new player, with the goal of ultimately increasing sales (hey, you could be ranked number 1 in your gold league division now!). But now I could, at least I thought I could, also see when casters and streamers talked positively about the game and hyped it without actually meaning it. Their words said one thing but their non-verbal communication another. I figured they were paid by Blizzard. An insight I could live with, telling myself I’m probably a couple of years older than their target audience and such attempts of influencing customers are common nowadays. But when I fully understood it was Blizzard who killed off Brood War just to push SC2 in Korea, that’s when the last bit of trust and hope was irreversibly lost. This move to me is exemplary of how monetary interests are prioritized above all others. Ready to sacrifice EVERYTHING for the extra buck.
Luckily, regarding Blizzards interventions at SC2, I can now fully identify with the following statement, which was given as a response to the latest “Community Feedback Update”:
On January 07 2017 10:22 Parcelleus wrote: oh thats right I dont play LOTV, so whatever man, do what you want.
However, statements like this still hurt:
On January 07 2017 21:18 Strelok wrote: Usually, when i see Community feedback updates made by David Kim - i feel happy about my decision to quit progaming.
I bought LOTV. Not sure why. Nostalgia? Loyalty? Anyways, I never touched it.
My true love is Brood War. I am sorry I cheated on you. The affair I was having with SC2 was a mistake, she means nothing to me. I pledge to make it up by protecting you, taking care of you, and doing everything in my power such that you thrive and relive past glory.
Through OpenBW we as a community take control. It’s a FEBE project: for enthusiasts by enthusiasts. Whether we are 300 or 300’000 doesn’t matter much to me. As long as I can watch good games, maybe occasionally try my rusty fingers at a game myself, and enjoy what I do without anybody enforcing anything upon me just for $$$ I will be happy and see a bright future.
Disclaimer: This is my personal view. I do not represent the views of any other members contributing to OpenBW. I just wanted to give some personal insight on why I decided to do what I do.
|
ya I need to learn more about ur projectz. I am pretty interested in ur channel bot and tha heat mapz. Ima make a heat map 2 1 day. u should check out sc2mapster.com if u rly think sc2 is that bad. tbh DrSuperEvil & some other made some cool stuff if u check out the Project Workpace section u can see they got electronic creep n' shit.
electronic creep would look badass w/ heat map just my opinion tho
|
I honestly have to tell you I was quite skeptical about this project: I couldn`t put it anywhere in my mind. With your reasoning now it all makes sense. I wish you good luck and success!
|
On January 09 2017 00:17 YokoKano wrote: ya I need to learn more about ur projectz. I am pretty interested in ur channel bot and tha heat mapz. Ima make a heat map 2 1 day. u should check out sc2mapster.com if u rly think sc2 is that bad. tbh DrSuperEvil & some other made some cool stuff if u check out the Project Workpace section u can see they got electronic creep n' shit.
electronic creep would look badass w/ heat map just my opinion tho
It's not that SC2 is bad per se. And projects like sc2mapsters are awesome. I am just disappointed by how things are handled by Blizz. Many of us are in their twenties and thirties. No need to threat us like a group of 12 year olds. Also Blizz gets a lot of value out of the community and all the countless hours of effort put into the game for free. I dont feel this is appreciated enough, although they do pretend to care.
Personally I dont want to be just another volunteering resource ready to be exploited monetarily by a profit hungry company while I get absolutely no say or influence on the future development of the game. Such a deal is a tad too one-sided for me.
|
On January 09 2017 01:00 imp42 wrote:Show nested quote +On January 09 2017 00:17 YokoKano wrote: ya I need to learn more about ur projectz. I am pretty interested in ur channel bot and tha heat mapz. Ima make a heat map 2 1 day. u should check out sc2mapster.com if u rly think sc2 is that bad. tbh DrSuperEvil & some other made some cool stuff if u check out the Project Workpace section u can see they got electronic creep n' shit.
electronic creep would look badass w/ heat map just my opinion tho It's not that SC2 is bad per se. And projects like sc2mapsters are awesome. I am just disappointed by how things are handled by Blizz. Many of us are in their twenties and thirties. No need to threat us like a group of 12 year olds. Also Blizz gets a lot of value out of the community and all the countless hours of effort put into the game for free. I dont feel this is appreciated enough, although they do pretend to care. Personally I dont want to be just another volunteering resource ready to be exploited monetarily by a profit hungry company while I get absolutely no say or influence on the future development of the game. Such a deal is a tad too one-sided for me.
yeah but you'll see how often people will just spam out some brilliant idea and then a few lines of code r missing. i dunno how many people work for blizz but i think it's not that many. there's always that one guy like "the mutalisk micro guy" who takes his work home with him, builds a million side projects and just leaves them in the editor. i'm studying the sc2 editor and there's tons of stuff from unit tex and rotators to entire editors like "text editor, cinematic editor, interface editor" that seem unrelated and partially incomplete (text editor example). blizz just leaves that stuff. i don't think they're disinterested in the fanbase but i get the impression that they're real one-track like top streamers and there just aren't enough manhours to alter projects until decades later.
|
This is seriously awesome. I hope it grains traction/momentum.
|
Great post imp42. So if I understood it correctly, you are currently working on 2 + Show Spoiler + modules of the openBW project, BW AI and the replay viewer?
With almost zero previous coding experience, I recently dabbled in some javascript coding. The experience made me appreciate projects like this considerably more.
I still look forward to your periodical blog posts about your bot development and really hope you'll continue working on it, even if that means finishing the BW AI module first.
|
On January 09 2017 07:16 B-royal wrote:Great post imp42. So if I understood it correctly, you are currently working on 2 + Show Spoiler + modules of the openBW project, BW AI and the replay viewer? With almost zero previous coding experience, I recently dabbled in some javascript coding. The experience made me appreciate projects like this considerably more. I still look forward to your periodical blog posts about your bot development and really hope you'll continue working on it, even if that means finishing the BW AI module first. thanks B-royal. Yes, I'm mostly working on those two (3) modules. For the replay viewer I just do the overlay parts though (info bar, info tab, ...). tscmoo is in charge of the rest. Also, quuad is taking over the BW HD lead, which is great news. This will be announced soon separately.
|
OpenBW is developed entirely by us. We own the copyrights of our work and we do not violate copyrights of other parties. In particular, OpenBW does not contain any IP (intellectual property) owned by Blizzard.
Could you be more specific about that? Do you think that Blizzard will let this project be if it gains considerable publicity? I'm a programmer (websites, full stack), and not a lawyer, so I don't really understand how you can recreate a game without violating IP rights of Blizzard. Are there precedents, old games remade by fans/enthusiasts that were allowed to exist? And I understand that you will are not using any assets of regular BW. I just think that a good lawyer hired by Blizzard would find a way to stop OpenBW.
Edit: Your FAQ answers that I guess, www.openbw.com
And I do appreciate your effort, I do. I've tried the replay viewer, it's nifty. And BW:HD is what most BW fans have dreamed about - higher quality sprites, while engine stays the same.
What I am confused about is how well currently active BW projects fit together. Iccup server has been around for a long time and it has been the only shelter for foreigner community for years. There is Fish server, sure, but it's only suitable for less than 10% of BW players because of the skill difference. And hacker plagued Blizzard servers don't count... Shield battery is looking to recreate the ladder system. OpenBW is looking to do the same (tournament module?). Or does it not include ladder?
Different projects, goals and approaches, I know. I just wish there would as small of an overlap as possible. If both SB and OpenBW are successful, foreign BW will have 3 different platforms and a somewhat fragmented player base.
And some questions that are probably stupid: 1. It will never be possible for someone with regular BW to play someone running OpenBW, right? 2. Will regular SC:BW maps be compatible with OpenBW? I guess they would have to be ported by some tool? 3. Screen resolution. Do you plan to offer a 4:3 mode with same amount of content per screen as regular BW? Or will everything be smaller on the screen and more of the map will fit in? Fitting more stuff into the screen would actually be an imbalance on many maps. Having your main and natural base in your view is an advantage. And a 4:3 retro mode would be a good selling point to BW fans I think.
Anyway, that's all from me, I appreciate the effort and I look forward to updates
|
On January 11 2017 02:36 awerti wrote:Show nested quote +OpenBW is developed entirely by us. We own the copyrights of our work and we do not violate copyrights of other parties. In particular, OpenBW does not contain any IP (intellectual property) owned by Blizzard. Could you be more specific about that? Do you think that Blizzard will let this project be if it gains considerable publicity? I'm a programmer (websites, full stack), and not a lawyer, so I don't really understand how you can recreate a game without violating IP rights of Blizzard. Are there precedents, old games remade by fans/enthusiasts that were allowed to exist? And I understand that you will are not using any assets of regular BW. I just think that a good lawyer hired by Blizzard would find a way to stop OpenBW. I just explained some of it here: http://www.teamliquid.net/forum/brood-war/517127-openbw-introduction?page=10#192
What I am confused about is how well currently active BW projects fit together. Iccup server has been around for a long time and it has been the only shelter for foreigner community for years. There is Fish server, sure, but it's only suitable for less than 10% of BW players because of the skill difference. And hacker plagued Blizzard servers don't count... Shield battery is looking to recreate the ladder system. OpenBW is looking to do the same (tournament module?). Or does it not include ladder?
Different projects, goals and approaches, I know. I just wish there would as small of an overlap as possible. If both SB and OpenBW are successful, foreign BW will have 3 different platforms and a fragmented player base. I have answered questions regarding SB plenty of times in the OpenBW thread. You will have to look for it there. The tournament module is just a little side-project of mine, and yes I would like a ladder system, mainly for bots at the moment. But why not expand it to humans if SB doesn't deliver. I absolutely agree with you that the overlap should be as small as possible. Although it is a valid reason too, I am less concerned with a fragmented player base than wasting valuable volunteering effort during development.
And some questions that are probably stupid: 1. It will never be possible for someone with regular BW to play someone running OpenBW, right? 2. Will regular SC:BW maps be compatible with OpenBW? I guess they would have to be ported by some tool? 3. Screen resolution. Do you plan to offer a 4:3 mode with same amount of content per screen as regular BW? Or will everything be smaller on the screen and more of the map will fit in? Fitting more stuff into the screen would actually be an imbalance on many maps. Having your main and natural base in your view is an advantage. And a 4:3 retro mode would be a good selling point to BW fans I think. Anyway, that's all from me, I appreciate the effort and I look forward to updates No such thing as a stupid question, right? only stupid answers
1. we aim at full compatibility. This includes original and OpenBW playing together. No promises though...
2. absolutely, all SC:BW maps will be compatible, no porting needed. However, many competitive maps are "protected", where protected actually means corrupted. I prefer a proper server-side versioning system for competitive maps to such a hacky solution.
3. Yes, the game client will most definitely offer the original aspect ratio and viewport. However, we don't see a reason why we should restrict players to only using the original setting. Obviously two players playing against each other should use the same setting. We will find a solution for that.
|
Great read. Amazing projects going on in the community right now, the network stack of shield battery is going to be super interesting to read as well. And to have all those FPVODs from our legends! What a time to be alive. It's very touching to read about the passion you have for Brood War as well...
|
Good to see what's behind open BW and do keep up with the good work! BW forever...
I too had a sense of betrayal (been playing a bit of sc2...)
|
|
|
|