12 ms·
Artillery is building a hardcore RTS with HTML5 and WebGL
- mercurial 13y agoWho is "Artillery"? By the headline, it sounds like that's a company I should know.
- gnufied 13y agoArtilley is the platform/engine on which game is built and it is also name of the company behind the platform and the game (https://artillery.com/team https://artillery.com/team)
- deleted 13y ago[deleted]
- kkshin 13y agoWhoa, that looks really sweet. I especially liked how simple the dev tools looked, is that in the browser as well?
- statico 13y agoYep, all of the action you see runs in a browser -- except for the console command that uploads assets to the CDN.
- MysticFear 13y agoDo you have a planned payment model for the game, or is it still too early?
- statico 13y agoYep, it will indeed be free to play. Sean (Day9) discussed it a little on a Reddit thread a few weeks ago: http://www.reddit.com/r/starcraft/comments/1lsgyz/day9_is_making_a_game_with_silicon_valley_tech/cc2ax1r http://www.reddit.com/r/starcraft/comments/1lsgyz/day9_is_ma...
- robmclarty 13y agoHow does the artillery platform work? How can we use it and what will it cost us? It looks awesome :D
- justina1 13y agoIt's been a while since I've played games like this, but if I could just point my modern browser to a URL, subscribe for a few bucks a month, and start playing, I might just start again.
- natmaster 13y agoCongratz Ian! GL;HF
- sledmonkey 13y agoThis looks incredible, well done. Maybe I can end my search for a modern Myth?
- monsterix 13y agoWow! This is mesmerizing. These posts on HTML5 stuff that pop-up on HN from time to time hint on what is to come on the web in the near term. I think HTML5 is a huge Tsunami gathering energy and steam out there! It will and should beat all these "I-am-the-best" closed systems (already does in some areas) sometime soon, and be on the top. System agnostic, immersive, inclusive, what not. Love it.
- connerbryan 13y agoDefinitely. It's amazing to watch a technology accelerate this quickly.
- CmonDev 13y agoYeah, scripting an OpenGL game engine. First time ever.
- tbolse 13y ago100% agreed.
- _random_ 13y agoThe bad thing is that there will be no technology competition. Just HTML and JS for everything? Boring...
- connerbryan 13y ago"Just C and C++ for everything? Boring..." I seriously doubt that the world will stagnate at HTML and JS. Thing will evolve! Though judging by adoption and advancements from W3C, it might be thousands of years ;).
- bdicasa 13y agoJavaScript is no longer the only language. I wouldn't be surprised if JavaScript is used at all for large projects in the future. With things like Dart, TypeScript, CoffeeScript, and asm.js JavaScript is becoming more of a compile target.
- tharshan09 13y agoThis is what I have been waiting for...
- ebbv 13y agoThis looks really great. I just think the claims of "console quality" or "AAA quality" (which I heard associated with Day[9]'s announcement) are a bit disingenuous. I'm excited that you guys are pushing browser gaming, and what you've done so far looks great. Just please don't fall into the trap of over hyping and then disappointing customers.
- anxman 13y agoCEO here: Thanks for the feedback. 'Console quality' and 'AAA' are very subjective and we totally understand your points. Our job is to make Atlas and anything on our platform objectively feel amazing and please keep in touch with us.
- _random_ 13y agoWhat are you going to sell - games and/or technology?
- bhouston 13y agoDude, you should totally have a look at http://clara.io http://clara.io It is a perfect compliment to Artillery in that we are a web-based 3D content creation platform -- but we are distinctly not a game engine or a game editor. We would love to partner with you and I think there are a ton of opportunities.
- mikkom 13y agoPlease stop spamming. I think you can find their email at the site.
- kordless 13y ago> Everyone deserves empathy and respect. Respect for putting that on your company page. It's good to see core values like these!
- IsTom 13y agoMany people trying to make "classic" RTSes miss critical points about feel and gameplay which makes the games very unsatisfactory to play for somebody who tried SC2 with its polished engine. Partnership with Day[9] might be just the thing that they need. Graphics are passable, but it's enough. Many players play SC2 on low graphics for readability of screen already.
- girvo 13y agoI saw this over on /r/starcraft the other day; as a massive fan of Day[9] I hope his input will be enough to create the F2P RTS that so many want. Balanced, fun, reasonably fast paced... We don't know much about what he's planning but we'll see! Meanwhile, back to the ladder. Grandmaster can't be too far off... ;)
- oconnor0 13y agoWhat does being a "hardcore RTS" mean?
- TsiCClawOfLight 13y agoI assume they use it interchangeably with "e-sport capable"
- qznc 13y agoI interpret it as "Don't bother unless you can pour hundreds of hours into it".
- sp332 13y agoRTS = real-time strategy. By "hardcore" they probably mean lots of fiddling and attention to detail will help you win games.
- Mikeb85 13y agoThis is impressive and cool, but I think web-based gaming will never catch on with the 'hardcore' for a few reasons. For one, C++ and the native toolchain is still more efficient. But it mostly comes down to perception and convenience. The perception of web-based games is that they're casual and cheap. And most hardcore gamers like to have a copy of the game on their computer - they paid for it, they want a copy that they can keep (and at least store on their hard drive) for years. They don't want to stop playing a game because the dev decided to end its life... This is why platforms like Steam, Xbox, HumbleBundle, etc..., still rule for distributing games (both AAA and indie).
- Cakez0r 13y agoAn excellent game could change perceptions though. I'd be more concerned about how easy it would be to reverse engineer a web game compared to a native binary. If it's easy to bot or cheat, any competitive aspect will be ruined.
- girvo 13y agoSC2 is easy to hack and cheat. Blizzard rarely do ban waves. Oddly enough, with this type of game, no hacks are enough to let you beat those who are truly better than you (at least with starcraft!). Kinda neat to be honest. Doesn't stop me yelling at map hackers tho ;)
- jamesgeck0 13y agoConvenience is exactly why this is interesting. I don't buy many games outside of Steam because it's so convenient not to have to back up installers or hunt for a particular XNA version or what have you. There's a low barrier to entry to trying something that runs in a browser. I just navigate to the page, wait for a progress bar, and maybe bookmark the game if I like it. The low barrier to entry is one reason that flash games are still so popular. http://xkcd.com/484/ http://xkcd.com/484/
- pjmlp 13y agoThat is what consoles are for.
- joshuacc 13y agoInterestingly, the demo video hints that they are using CoffeeScript (see the `./publish.coffee` command in terminal toward the end). Can anyone comment about whether this is actually the case?
- statico 13y agoYes, the command "publish.coffee" is a CoffeeScript tool which publishes a given game target to the CDN. The different colorful letters represent the state of each asset as it moves through the upload pipeline, e.g. "U" for unchanged and "F" for finished. Our engine and Project Atlas are written entirely in CoffeeScript, but that's not a requirement of game code.
- joshuacc 13y agoCan you comment about your experience using CoffeeScript? Personally, I'd love to see a whole blog post about that. :-)
- statico 13y agoTotally. I've got a "18 Months of CoffeeScript" post drafted, in fact. Keep an eye on our blog :)
- ilaksh 13y agoHave you heard of ToffeeScript? It adds a nicer sync syntax as an alternative to nested callbacks. please take a look. I have been using it a lot but I am sort of concerned that no one knows about it so I am trying to promote it everywhere.
- catshirt 13y agothis is awesome. and wow they have been busy. devotees will remember the bomberman clone 'powderkeg' that was on the front page about a year ago. i'm even more impressed by the progress than the tech. new favorite platform, and hopefully new favorite RTS.
- civilian 13y agoDoes anyone know how they're going to lock the cursor into the browser window? A common feature required for RTS games is being able to just push your cursor to the edge of the screen to move your viewport. (Since it's played full-screen.) It seems like a browser game would be missing this key feature.
- Skywing 13y agoBrowser can request cursor control
- statico 13y agoIndeed! Mouse scroll in Project Atlas works pretty well at the moment. We aren't using the Pointer Lock API yet due to some input latency problems. A related Chromium issue is here: https://code.google.com/p/chromium/issues/detail?id=168459 https://code.google.com/p/chromium/issues/detail?id=168459
- bhouston 13y agohttps://developer.mozilla.org/en-US/docs/WebAPI/Pointer_Lock https://developer.mozilla.org/en-US/docs/WebAPI/Pointer_Lock :-) Developed at Seneca College in Toronto, Canada.
- Cakez0r 13y agoAre you going to sell your engine and toolchain too?
- bhouston 13y agoWhoa awesome and very well funded it seems. I think Artillery.com would be a natural partner for our WebGL-based 3D content creation platform. They should check it out at http://clara.io http://clara.io Similar to how Unity3D is a natural partner to the desktop 3D content creations tools like Max/Maya.
- waterlion 13y agoNowhere does it explain what "RTS" stands for.
- lmartel 13y agoReal-Time Strategy [Game]. It's a genre.
- codexon 13y agoI think Javascript is too slow for 3d gaming. If you look at this HTML5/WebGL minecraft engine, it stutters even without any other players or bots in the environment. http://voxeljs.com/#gallery http://voxeljs.com/#gallery Meanwhile Minecraft running in Java is smooth on even the slowest machines. Benchmarks indicate that Javascript is 4x slower than Java. http://j15r.com/blog/2013/07/05/Box2d_Addendum http://j15r.com/blog/2013/07/05/Box2d_Addendum The alternatives like ASM.js and PNACL are far from usable. ASM.js has no support for threads and PNACL is unlikely to be supported outside of Chrome. They also have no debugging support.
- ghostdiver 13y agoJS port of Box2D is dead since 2008.
- irrlichthn 13y agoToo slow? Then try this: http://www.endtime.at/demo.html#gamestart http://www.endtime.at/demo.html#gamestart
- runarb 13y agoThe music in that video was quite catchy. Anyone know what its name is?
- lorenzfx 13y agoWhat is it with these militaristic company names? Artillery, Firebase, etc. Or is it just my European mindset?
- eliben 13y agoEuropean, as in "shaped by the most peaceful continent in the history of Earth"? [disclaimer: I'm originally from Europe, so this is self-criticism]
- lmm 13y agoIt's a strategy game; artillery is going to be a key part. It's no different from a racing game called "driver" or a platform game called "jump".
- TimJRobinson 13y agoAre you looking to make this run well on mobile too? There are 2 main advantages of web over native games. The first is being able to quickly jump in and play with a friend. The second is being cross platform including all mobile devices. These 2 reasons are why I'm building my multiplayer tower defense game http://www.towerstorm.com http://www.towerstorm.com in javascript. I'd be interested in trying out your engine if you're looking to make it run fast on mobile along with PC.
- tieTYT 13y agoI'm also building a javascript game (I'm using canvas and 2d images). All the comments here are freaking me out a bit. They all keep saying that html5 games are too slow. My game has many significant features done and it seems to run fine. But I'm using tiny sprites, very few animation frames and probably 10% of the artwork I intend on having in the end. How's your experience with your game? Is it really slow or does it run fine? I'm asking regarding all platforms.
- johnyzee 13y agoI am building an HTML5 game (canvas/2D) that is distributed both online and on mobile. It is asset heavy with total assets weighing in around 600 MB, with an initial download around 7 MB and progressive loading as the player advances. Sprites are relatively large and a fair bit of animation and effects can be going on at one time, although I try to keep scenes static to cut down on rendering. I am happy with performance, both on mobile and desktop browsers. You are welcome to check it out for reference: http://www.webworks.dk/enginetest http://www.webworks.dk/enginetest
- TimJRobinson 13y agoThe other comments are really talking about complex 3D games which is valid (for now at least). Tower Storm is far simpler than this and runs perfectly on PC's and runs great on most high end phones released in the last 2 years (iPhone 4+ and Galaxy Nexus+). I've even got it running on the Firefox OS phone (1Ghz cpu, 512MB Ram, 480 x 320 res) but it slows down significantly late game. However it has taken some time to optimize the code to run fast enough on all these devices. The main issues I've come across are normal game algorithm issues (using a quadtree to find nearby minions, using hashmaps instead of arrays for some data that is always searched by id etc) and garbage collection. Garbage collection has been an annoying issue which I've somewhat solved by using entity pools. So instead of creating new entities and deleting them when they die a pool of entities is created at the beginning. Then upon creation each entity is pulled from that pool and after it dies all its variables is reset back to zero and it is placed back in the pool to be used again later. This uses up a lot more memory but it means the game doesn't have a large CPU spike every few seconds as it does garbage collection. Canvas performance may be an issue once I turn it into an iPhone app as I've heard the canvas app renderer has far worse performance than the browser renderer (I have no idea why), but I'll cross that bridge when I get to it. So in summary I think it's fine for simple casual 2D games that don't have complex logic (using A* algorithms to move large groups of units may be too much, or having advanced AI). But anything designed to appeal to hardcore gamers who need 60+ FPS and want in depth gameplay may be a bit much for it for now.
- Pxtl 13y agoI will be exceedingly impressed if they pull this off. RTS is probably the gaming genre that offers the most "interesting" problems in programming, and thus is the one that needs the most computing power beyond simply showing stuff on the screen. Pathfinding is Hard. Maintaining sync is Hard. Unit AI is Hard. And keeping those performant is doubly so, especially using JS. So yeah, I'll be impressed if they get anything playable out of this.
- Arelius 13y agoI'm not sure I'd that path-finding and maintaining sync are hard problems, especially since they are problems that in an RTS aren't quite as sensitive to latency.
- kevingadd 13y agoAsk anyone who's ever worked on an RTS and they'd disagree with you. It's not even difficult to find evidence to support them being tough problems by googling it: https://www.google.com/search?q=rts+pathfinding https://www.google.com/search?q=rts+pathfinding Lots of people asking for solutions, lots of different solutions, lots of caveats.
- egeozcan 13y agoEven without any search, you can come up with a lot of problems: Will you calculate an alternative route as soon as a route gets blocked? What if it is a friendly unit? Should it move to open way? What if it's already moving? What if it's too slow? What if there are more, moving to different locations with different speeds and priorities (For example: A tank going to help defend the base vs. a resource gathering vehicle)? What if the blocking unit is an enemy unit? Attack it or move around? Can I attack while moving? What if I can't move around? Can I crush it? Am I part of a formation? How to pass through a narrow path? Should formation alter?
- Arelius 13y agoAs someone who has worked on an RTS, among other games, I think I am qualified to speak on the manner. For starters, yes there are complex problems with lots of edge cases indeed. But not one of the many problems you suggest are computationally difficult. Now there are some computationally difficult problems to deal with in an RTS but those are not among them. Additionally, a large amount of the problems you just listed are common among any game with AI. RTS pathfinding is hard, but so is pathfinding an an FPS, and then add in how much more complicated a level is in a game such as Assassin's Creed, to the more simplified structures you can manage in an RTS, and it's easy to see why this isn't simply a matter of RTS games being simply more difficult. And within an RTS there very many problems that are much easier, both from a complexity, and computationally then in other games. Visibility determination is one thing in particular that's considered super difficult, and very performance sensitive, that's very easy to solve with the fixed perspective of an RTS. And then there is networking, in which case you can use a lock-step model in RTS due to being less sensitive to latency, that both vastly simplifies networking. And also makes it possible to synchronize the large amount of units in an RTS with minimal bandwidth.
- DigitalSea 13y agoWow. I wish I had even just half the talent of HTML/CSS/Javascript to pull something off of this calibre. I am really impressed, I can't wait to get my hands on this and deconstruct how they did it the best I can and play it too.
- novalis 13y agoI think you should pickup openGL/webGL instead of that other stuff, if you are serious and not trolling. Because I really can't tell at this point in the thread.
- DigitalSea 13y agoNo trolling whatsoever. My day job is as a web developer, so I really meant it when I said I wish I could do cool things like this, but given the fact I work a 9/10 hour day, 5 days a week and have family and freelance commitments learning something as complicated as this isn't really within my capability at the moment. I'll just remain appreciating what these developers have been able to do from a distance until I can learn the basics myself. Programming these games is only half the work, it's the art direction, storyline and mechanics that make up the other 50% of the work to make a game in any language or framework.
- novalis 13y agoOk, thanks for the follow up. It can be easier and less daunting than it looks, and I totally get your description on how you feel about it at this point. Having your background in webdev you are closer to being able to do it than you may think. If you take a look at something like the Haxe language (hard ECMA influence so not that far away from javascript) with its OpenFL framework, there are these: https://github.com/dazKind/foo3D https://github.com/dazKind/foo3D https://github.com/wighawag/openfl-stage3d https://github.com/wighawag/openfl-stage3d The first produces html5 and abstracts a lot of the complexity of the low level that other approaches are based on. The second is more c++ oriented at this point. Hope it helps, or at least leads you to finding your own path to doing it. It also allows you to escape some of the js madness that happens when you interact with this stuff for browser output. It allowed me to get to a level of production that I could not imagine possible just by looking at the opengl stuff.
- dmead 13y agoisnt this the project day9 is an adviser for?
- asdfs 13y agoYes. He's answered a number of questions about it in the reddit thread.
- Sami_Lehtinen 13y agoLooks good. I personally really really hate installing any crap on my computer or phone (apps). If it works just as regular web-site using browser only, it's just perfect.
- Kiro 13y agoHow does real-time multiplayer work in the browser when there's no support for UDP?
- TimJRobinson 13y agoTCP is great for RTS games as most use lock step networking so they need to have zero packet loss. UDP is better for First person shooters and fast action games where dropping a few packets isn't the end of the world.