Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: HTML5 version of StarCraft (github.com/gloomyson)
320 points by gloomyson on Sept 7, 2015 | hide | past | favorite | 96 comments



Looks funny, but I recommend you to remove all proprietary Blizzard graphics from GitHub and possible just recreate repository without it. If you want to host assets there better to keep them in different repository.

Otherwise you'll clearly get DMCA because Blizzard has long history of banning any project even remotely copying their products no matter if it's done for fun or whatever.

PS: It's also affect repository name, etc.


Much thanks for you recommend, I make this game just because I love this old StarCraft game so much and want to realize it in web browser, no plan for make money, and it's much weaker than the original Blizzard game


Fact that you don't make money off it would work for almost any game developer, but not Blizzard. In past they take down several open source projects just because of their name or clean room reverse engineering. And you're basically pirating their game assets.


Actually only the images and audios the same as Blizzard game, the js source code of game engine are totally different with that original one, maybe I can replace those sprite images with other ones, and it will run perfectly like another RTS


Depending on what you're trying to accomplish if you make an entire game engine from scratch that can open up the files from StarCraft (and you DON'T distribute them), I think you should be fine. Although this would raise the complexity of your project. One such project exists:

http://www.stratagus.org/ - A cross-platform RTS open source game engine. http://stargus.stratagus.com/index.html - A project built on top of the same engine that opens up all StarCraft original files.

Not sure how active this project is or how far it's gone, but it seems to me from what I've seen: If your project recreates the engine and you require the original files and don't redistribute them yourself, you shouldn't get in much trouble? IANAL


that's exactly how I did it when working on scsharp (https://github.com/toshok/scsharp). you gave it the paths to directories holding assets for starcraft + broodwars. 10 years on github without a dmca knocks on wood


>Fact that you don't make money off it would work for almost any game developer

It really wouldn't. I know it's fun to imagine Blizzard as an oppressive corporation overlord, but any developer in the world will take steps to protect their IP.


I have no doubt that any developer would send take down for illegal assets usage and there is nothing wrong about it. This where project creator gone wrong and hope he won't do anything like that in future.

Though Blizzard in particular aggressive towards open source projects that recreate their games and generate a lot more lawsuits than other game development company. It's just like that 'Candy Crush Saga vs Banner Saga' lawsuit. These guys had right to do that, but it's still looks awful.

PS: As example of company that nice to the community look at Rockstar Games. Even if they're not really do anything for modding community there is tons of hobby software projects created around GTA include custom multiplayer servers, editors and any kind of mods, So far no one ever get lawsuit threats for doing anything like that. Now check Blizzard with their pro-DRM and anti reverse engineering lawsuits.


I see. That's probably true; I'm not up to date on that stuff. Still, in this particular case, I can't blame any company for protecting their IP. It's a freely distributed clone of one of their games, after all. Even if they are not making money out of it they are hurting their business.


No, there are (rare) devs who are not assholes about their IP, and will overlook small-scale non-profit work or at least act like humans instead of robo-lawyers when they approach "infringing" developers.

Blizzard has a legal right to be dicks about their IP, but that doesn't make it morally correct. We've refused to let IP holders set the narrative with regard to DRM; let's not do it here.


The problem is, if Blizzard knows of an infringement and fails to attempt enforcement, anyone can come along and legally claim "Hey, they didn't hassle this (small time) guy, so they have no right to hassle us". So the well-meaning hacker guy with a cool prototype opens the door for Zynga to come in and make StarCraftVille, which I'm fairly sure would be not so well received.


What will Blizzard normally do if they accuse me pirating their assets? Will I pay cash to them? Your words make me nervous


> What will Blizzard normally do if they accuse me pirating their assets?

Most likely, they will tell you: "shut it all down or we'll sue you into bankruptcy".

I recommend taking a look at http://opengameart.org for free (and legally free) placeholder art you can use instead, and changing any names ASAP to remove "Starcraft" and anything directly based on the unit names, etc. (Referencing Starcraft in the README or other such things should be fine, though.)

For example, "SpaceCombat" with "Troopers" and "Knights" and "Hordelings" and different art and music for everything would be fine, legally, even if the actual game mechanics were exactly the same (as long as it's your own code implementation of them).


Can they sue him if he's not in the US though? How is that legally possible?



Quick summary: it's a treaty that requires all member states to enforce their own copyright laws for works produced in other member states, and also establishes a minimum set of rights and minimum term lengths.


What do you think is special about the US? Copyright law exists everywhere.


exists, but perhaps not enforced.


Would couldn't they? They do business across most of the world already. Think about how many countries have people with WoW subscriptions.

Heck, just take a look at their list of offices: http://www.activisionblizzard.com/locations


Because US law doesn't apply to other countries.


Most countries have something approximately similar to the broad strokes of US copyright and trademark laws. Details are different, but "just using the same assets and names directly" is going to be a problem in pretty much any jurisdiction with enforced rule of law.


Just about every country in the world recognizes some form and variation of copyright and trademarks.

You do know that, right?


Likely they'll just send you legal threat and DMCA take down notice to both github and your hosting provider (if you don't use github pages of course).


Yeah, it kind of sucks but there is some ambiguity in the law when to comes to making fan art/games.

But basically as I understand it you can't publicly distribute a game with the same exact title, characters, story and look. You are given some leeway to parody but should tread carefully there too.

So for example: StellarCraft featuring Zerps, Terrags and Protians and use similar but reasonably distinct looks for everyone from the other game would be safer.


I was hoping you'd have written Proteins. But I agree, sadly sometimes projects like these provide a significant learning outcome see:

http://www.gamasutra.com/view/news/124171/Opinion_Reverse_En...


Great work, but as someone who lived through FSGS and BNETD and various WoW projects that were unsanctioned, be sure to protect yourself against Blizzard's lawyers as others say. They'll be knocking if your project takes off.


Great. Blizzard won't care. But if you like living a risky life, go on.

(And yes, I'm blown away by what you have achieved there)


They have to care in some circumstances unfortunately, if they are aware of an IP infringement and don't action it, it can be used as evidence further down the line for bigger infringement cases.


Trademark is the only form of intellectual property (IP) for which selective enforcement is a problem. Presumably the name of the game is trademarked but the images & audio are covered by copyright law, not trademark.


IANAL but if Blizzard is aware of this copyright infringement and do not act on it, the developer can go for an acquiescence defence. If successful, Blizzard surrender their rights in that particular project.

This could potentially have an effect on the value of their IP which can give leverage to potential acquirers/investors.


No. There is no such defense in U.S. copyright cases. Again, only trademark requires them to pursue infringement to maintain their protection, and by extension, value.


Please read my comment correctly. Hint: Another commenter has long clarified.


He's not from the US so what exactly is he risking here apart from the repo being taken down?


You haven't noticed the global reach of US copyright law yet? If it doesn't reach there yet, they keep trying to extend it (see free trade treaties).


To be honest, StarCraft is probably protected in most countries and don't believe that it is hard for Blizzard to find a local lawyer willing to take the case if the want to.


Please never take "not from the US so what" as a credible form of protection against any US actor, be it corporate or govermental.

There's many ways someone can still screw you, starting from making your travel to the US tricky to much worse, depending on the circumstances and what international agreements allow.


Famous last words.

As if Blizzard had no way to hire lawyers elsewhere. And maybe he wants to travel to the United States someday?


Blizzard can send a DMCA takedown to github and github must ASAP take down the repo regardless of if there was actual copyright infringement. I've seen github developers send DMCA requests to take down other developers repos before...


Ultimately? Drone strikes.


[deleted]


I'm pretty sure she/he meant: "Blizzard won't care that you did this because you liked the game, and are not making any money out of it," not "Blizzard won't care about this project and thus won't take you down."


I love the old StarCraft. Thanks for making this!


That’s really too bad. I was thinking about doing a little not-for-profit fan game project that uses entirely my own code and handmade assets, but is set in the Warcraft universe (and thus, taking on a Warcraft like art style). Would they come after me for that? To me that falls into the same realm as Machinima or fan fiction, both of which Blizz seems to have no problem with.


Dude, why creating something in an universe somebody else controls, for free? Wouldn't it be more creative to come up with your own world and characters? It would be more challenging, sure, but much more rewarding in every way (improving your narrative skills, benefiting 100% from publicity of your work, not risking to be nuked with a DMCA from orbit, etc etc).

In the end, if you really must have a Jenina Proudmoore, just call her something else and give her a similar-but-not-quite-same background.


Mainly because I like the universe and associated art style, music, etc and I (and I think most other fans, as well) would like to see it taking shape and given life in forms that Blizzard will probably never even consider.

If I try to come up with something of my own, I have the problem that first, I’m not a writer, making the creation of something with the depth and breadth of the Warcraft universe extremely difficult and if I make it stylistically similar to Warcraft I risk being seen as an uncreative two-bit copy of the real thing. It’s a tough spot to be in.


> if I make it stylistically similar to Warcraft I risk being seen as an uncreative

By doing it inside the same universe imho you're already putting your hands up, there. You're admitting it yourself when you say "I'm not a writer".

I agree you're in a top spot, but if you're going to invest significant amounts of time in your project, I think you owe it to yourself to protect it from somebody else's lawyers. There is nothing wrong with admitting your influences... Warcraft itself was a originally a Dune II clone with a fantasy skin!


Meanwhile, DOTA2 is a thing...


I suppose going to war with Valve would have been pretty bad PR. Still, Valve was forced to change a bunch of Dota characters' names and visuals so as to not infringe on Blizzard's IP.

Examples: Windrunner changed to "Windranger"; Pudge made to look less like a Warcraft "abomination"-style creature; Skeleton King renamed and remodeled to "Wraith King".


> Meanwhile, DOTA2 is a thing...

After an IP battle that was settled out of court.[1] Valve also does not use any of Blizzard's assets in Dota 2.

[1]: http://www.engadget.com/2012/05/11/blizzard-and-valve-settle...


For those wishing to play without downloading:

Open http://htmlpreview.github.io/?https://github.com/gloomyson/S... in FF (or Chrome without its security stuff on)


Thanks for promoting my project ;) I hope it will serve you well.


This is awesome, but as others have said, the Blizzard legal team will come knocking on your door very soon. If I were you and if you're serious about continuing working on this, I would take this down immediately, get in touch with their legal team and see if you can work something out with them to get their blessing on this.

They're not evil, it's their job to protect copyrighted assets, without them Blizzard would be out of pocket and SC2 might not have been created, from my experience, there are some really friendly people there, but you have to get on their good side and I'd say you've already gone about this the wrong way (by githubbing their copyrighted stuff).


Pretty sure contacting Blizzard legal team would be dumbest thing ever because you'll never get an answer or just get youself in trouble. Best solution is to remove current repository (or make it private) and then create new repo without copyrighted stuff.


That, or remove said assets and scrub the history.. as another thread mentions there are sites with open game assets that can be used... or simple sketch patterns and generated voice assets can be used in the interim until better assets can be released.


I made this game because i love Blizzard and their game, i'll be very sad if they accuse me, now i'm not feeling good...


This is great work and you should feel good about it.

I've never seen Blizzard pursue a massive lawsuit on an individual without giving them a chance / warning first to take things down.


I guess it won't be hard to partner with an indie game artist, replace the sprites and title and turn it into an original game.


Good job gloomyson! I've been working on HTML5 version of Starcraft 2, see https://www.youtube.com/watch?v=PoPNrz2LUG0 , https://www.youtube.com/watch?v=EvhUteDp3o8 , and source is at https://github.com/emnh/rts . Only free assets are included in github repository submodule, same separation strategy as Stratagus.


Looks very interesting :D

I'm currently doing the same with Baldur's Gate engine. I am using Mootools, I want to study your code more to see if Dojo would be better (Mootools introduces overhead with constructors)

Basic demo here: http://lumakey.net/labs/battleground/demo1/

For multiplayer I'm making tests with Firebase...

Also I'm looking into WebGL for some animations (explosions etc) probably it could help performance in your case as well.


Very glad to hear that; for dojo, functions in dojo/_base/lang and require.js attract me; and can you share your github URL then i can also watch your project? PS: Are you afraid if game company accuse you pirating their assets? Their words make me nervous


I have not yet published the code publicly but I plan on doing it soon.

With Mootools I like the classical inheritance style. Something else that looks interesting is TypeScript, when you reach ~10k lines of codes pure javascript gets really tricky to debug/refactor.

Yes I am worried about company reaction, I wouldnt publish game assets on a public repo. What I am considering is publishing my game engine along with the scripts I use to process the game resources into suitable web formats.


Cool.

Anybody looking for an HTML5 Startcraft-esque multiplayer game might want to check out http://littlewargame.com


Funny thing, I tried to play SC on a LAN last week. No go on my MacBook though. Wine gives graphics glitches and VMWare Fusion was too slow on my ageing MBP.

I downloaded version 1.0 of this and it seems to work quite well! The version live at http://www.nvhae.com/starcraft/ is 0.1. Guess we shouldn't hope for multiplayer, which is what I'm really after.


You can use the rawgit to view the current version (1.0) - https://rawgit.com/gloomyson/StarCraft/master/index.html


Wow, I didn't know this, but i guess you will hardly enter the game because by now my audio files are separated as a result will trigger large amounts of http requests; I will later join them together to reduce audio file amounts, will play each sound like sprite


pls link cdn rawgit, the normal rawgit is already handing 503 because the project quota ended


Actually I have the plan to make it support multiplayer using dojo.js, but before that I need to add other features like mining and routing into this game, hope won't make you wait long time^_^


Sorry, will support multiplayer by node.js, meanwhile plan to support saving by local storage; I'm studying framework dojo.js now and add its useful functions into my own framework gFrame.js


Play it online here: http://shvelo.github.io/StarCraft/

(fork with gh-pages added)


Check out the StarCraft AI competition if you need some ideas:

https://news.ycombinator.com/item?id=8884694


Anybody got this running without downloading the whole lot and hosting it locally? http://htmlpreview.github.io/?https://github.com/gloomyson/S... loads up to the splash screen but no further.


Worked for me whitelisting the site in Disconnect.


Is it just me, or it's the "gather" function to mine resources is not working? Really nice apart from that.


The "gather" function is just not added into game by now, the code is not done, you can use cheat "show me the money" to easily get resources as much as you want.


I make games all the time for myself, sometimes using copyright protected images. But I can't share the source code or publish the game in Google Play if I do that.

If I want to share or publish, I have to use free stuff or make it myself. If I want to use copyright material and publish it, I need permission and a contract with the owner of the IP, a license or agreement of some sort to use their stuff.

All this applies to everyone, not just the US, if you want to do business. If it's just for fun that's fine but you can't distribute it in anyway, including github.


Amazing work! I put this in full screen, and at times, playing the 'Protect Athena' level, I even forgot it wasn't the real thing. Must have taken you a lot of tuning :)


I suggest you use cheat code "full recovery" or "power overwhelming" or "the gathering", or finish this level is mission impossible


I would commit a change that removes the assets and see what pull request you get. or even better i'd make it load assets from a theme then anyone can theme it.


Well nice game, few days ago I found something very interesting, html5 game that is a combination of starcraft and clash of clans, with much better graphic and real time AI, but the game doesn't seems to be ready yet... http://ageofsalvation.com/ It is the most advanced html5 game I have seen though.


Amazing work! Red Alert next??


To replace sprite images and sounds in my game will easily change it to another RTS like Red Alert, but i'm nervous about the copyright now, I just want to produce my own game for fun so if I make RedAlert, will not upload to github again


You don't need to be nervous. Blizzard asking you to take down your copy of their assets is inevitable. No need to sweat it more than that, it's a fact of life.

Here's something interesting, an open source Warcraft II style engine https://en.wikipedia.org/wiki/Stratagus

You'll have to adapt the same strategy as they do, or any other engine remake: Host and share your engine, require the user to themselves supply the original game installation. That way your project is just a mod.

Another example of a great engine remake is "RttR" http://www.siedler25.org/ a remake of the Settlers II engine. They require a separate installation of the original game to play.


> That way your project is just a mod.

Little correction needed. "Mod" usually mean derivative work of original game, but open source engine projects are not derivative work.

So it's just an engine that have nothing to do with original game or it's copyright holder.


See also https://www.openttd.org a remake of Transport Tycoon Deluxe.


Which over the years and thanks to a massive effort of contributors have managed to create its own set of graphical and sound assets and is now a stand-alone game.

(Still some copyright issues remain)


For Red Alert, there might not be much problems to do it since they made it a freeware[1] years ago and there are already plenty of projects around it.

[1] https://en.wikipedia.org/wiki/Command_%26_Conquer:_Red_Alert...


Your code is still yours. The assets might not, but you can reproduce similar gameplay. Release it without the graphics and have people gather assets somewhere else (or find some free ones as suggested), as done with games like OpenTTD.

It is cool and impressive what you've achieved here, don't let that discourage you. Keep building these things.



As someone who still plays the game sometimes, this will take way too much effort to reproduce satisfactorily. Cursors need to change on mouseover, or when a command is selected. There need to be hotkeys, ctrl groups, etc.

Not sure if you're going to finish this, because it is going to be quite hard to polish.


Yes, I'm still developing this game, and will be glad if you can watch my game until completely finished


Sure, post it again when it's more polished and I'll comment more.


Are there any Html5 game frameworks that this could/should have been built on top of? I feel like there are a bunch of games that could be made with an html5 client...


this is awesome! please continue and get multiplayer but also don't get busted by blizzard...


Thank you, please don't tell blizzard my game, hope it can live longer in github


They'll find it pretty quickly. You'll want to move fast to protect yourself.


Even the cheat codes still work!


Yes, to check cheat code list, you can check cheat.js by itself, they're all listed in switch~case expression




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: