Hey, this world started on the Something Awful forums, and we thought it'd be fun to continue it here. Feel free to contribute anywhere in the world.
It's still early for this project (alpha). Chrome and Firefox only for now. Please don't grief or ruin the fun!
Some tech details: canvas-based rendering engine, firebase for chat and presence, sockjs for realtime events, phantomjs + beanstalkd for rendering static tiles (for zooming way out), python on the server side, mysql where convenient and mongodb where convenient.
I hope these few nuggets about PhantomJS can help your app:
- Use JPG and not PNG (for renderBase64), we tested it and JPG gives a much more better performance, but then again it depends on how crisp you want your output
- (You may already done this either using PhantomJS or using image manipulation) Don't forget you can also scale the image using page.zoomFactor :)
- (Not sure how useful this one is for your case) You can clip the viewport too in PhantomJS
- PhantomJS seems to use a lot of memory (main page of twitter.com may resulted in at least 45MB of memory).
- CasperJS is probably the best wrapper of PhantomJS out there for now if you ever need to do something more complicated
NB: We've only tested on recent Chrome and Firefox builds on OS X. Bug reports in other browsers are appreciated, but I can't promise we'll be able to act on them in the near future.
Awesome, this reminds me of GoonTower and GoonBase (spiritually inspired by them I take it?[1]). Interesting tech stack too, I'd love to make a game like this sometime in the future. I tried googling for buildy somethingawful but got no hits - did you guys rename it, or are you launching it on IRC/in a private group?
I agree with the comments that you guys should consider putting avatars in. It would increase immersion and expand your future possibilities dramatically. But I'm sure you guys have already thought about this.
Kudos, once again.
[1] There's a tradition of "collaborative building" projects on the SomethingAwful Forums. Some examples:
IE9 has some odd layering issues - depending on the zoom level some elements from the UI don't show up - zooming back in or out restores them. Other than that it seems to work well from quick testing.
This is cool. I would highly recommend you sheet your sprites because ATM you are loading in each graphic individually via an HTTP request, which is pretty inefficient.
Some tech details: canvas-based rendering engine, firebase for chat and presence, sockjs for realtime events, phantomjs + beanstalkd for rendering static tiles (for zooming way out), python on the server side, mysql where convenient and mongodb where convenient.
This reminds me of something... As someone who LOVED rollercoaster tycoon, please please please consider object/character movement, such as NPC's that move and do stuff. Like puke on the ground after roller coasters =)
Also other players who are in control of a character (like Sims game) would be fun to highlight and watch interact with NPC's.
Yeah, while it's fun to scroll around and see what stories people are trying to tell through this medium, it'd be really cool to have some actors moving around in the world. Riders on the roller coasters (which seem to be among the most fun things to build in any building game; even when the tools don't make it easy to do so), people roaming around exploring (and occasionsally being chopped up by the chainsaw guy or eaten by the scary smoke monster thing, or turned into a newt when walking over a black magic altar, etc.) would make this absolutely magical to just watch and play with. Not to say it's not cool today, as it is, just that if the dinosaurs roared and flung cars, it'd be a mild form of ecstasy.
I've seen a few HTML5 games for sometimes now but have only been impressed by two - first Subbania and now this one. And I must say Buildy tops them all. Good Job. The thing that I like most about it is that people don't use the canvas element as creatively as it can be but you did it. Such games must be developed more to popularize HTML5.
Cool. I don't know how expensive it is to create a new world. If it's cheap, it'd be cool to offer unregistered accounts a way to play around in their own private, non-persistent sandbox before making the jump and registering.
I know this is mean, but you know what's really fun... undoing what people are doing in real time... someone just planted a tree.. and then I moved that tree.. (tee hee hee) - sorry. maybe this type of moves shouldn't be allowed? - but I just had the best 10 minites of my week!!!
Really awesome. Although I suspect some people might take advantage of the ability to delete/move anything they want. What would be the solution to this?
We're gonna allow people to create invite-only worlds. In the mean-time, the entire history of the world is evented, so we can actually filter out events from a given user and it'll be like they never existed.
Works such as this are very near to my heart. As a developer of collaborative games in emerging technologies including "HTML5" I want to articulate the intense delight I feel each instance I discover others pursuing this strange, new, often difficult, but ultimately vastly rewarding path to success. I found this particular exchange exceptional.
The developers (chatting in-game) were rather friendly and particularly forthcoming about their sound choices for their technology stack which I found to be refreshing. This kind of transparency, at least in this industry, is somewhat rare and is absolutely commendable.
If you indeed enjoyed the experience, as I suspect most did, please continue to support these developers and their work. It is through this process we, as a community, will continue to manifest works such as this.
Do not underestimate the power of getting the word out about these endeavours. A "like" on Facebook. A tweet. A blog post. It all adds up. And we really do appreciate such a priceless commodity.
It's still early for this project (alpha). Chrome and Firefox only for now. Please don't grief or ruin the fun!
Some tech details: canvas-based rendering engine, firebase for chat and presence, sockjs for realtime events, phantomjs + beanstalkd for rendering static tiles (for zooming way out), python on the server side, mysql where convenient and mongodb where convenient.