Enough is enough!
After a horribly slow development process and some questionable design decisions, the fans of Afterwind have decided to take matters into their own hands. It was another day in the Byzantia IRC when the game's creator made an unutterably fucktarded update to the game.
Another problem is the fact that it is written in the Silverlight framework, version 4. This version is not compatible with the now-defunct (check the Moonlight archives) project and is not even fully compatible with the Mac; scrolling doesn't work in Safari (have to zoom in and out), there are odd black boxes in Chrome and chat doesn't work in Firefox.
Short list of essential features:
Gridless movement. (most difficult)
A chat box which can be configured through a single menu to chat with any lobby or individual one wishes to chat with.
Chat backend affected depending on game conditions, such as allied chat and the lobby in which a person is speaking.
Advanced statistic tracking and a single log-in on the whole site (example profile)
The ability to zoom in and out of the map as well as move it around (Google Maps/OpenLayers style, moving to either direction repeats map), and units to remain visible, as well as the ability to move them at any zoom level.
Must be playable in the browser.. However fun Battle for Wesnoth may be, it is too damn big a download. But if they included a "play in your browser" option that loads assets on demand, it would an order of magnitude more popular.
The map Afterwind is made of is a vector map with a raster image as the background. At the maximum zoom level, it distorts a great deal and produces a very ugly effect. That is why I'd be keen on using SVG for a map, however detailed it may be (Afterwind's seems to be an aerial photograph). I've already found one that is suitable for use. However, it will take about a month to make it usable by organising all the ID's for the borders and stuff. I've reduced its size by over 2 MB since downloading it and converting it to SVG just by removing a bunch of rather useless code and streamlining a couple of other bits. And yes, it is free for any usage. I don't want to use canvas as it's godawfully difficult to create complicated drawings with and it creates raster images.
I've looked at several open-source projects to help me out. However, documentation for HTML5 game development seems to be very poor, just as the incomplete standard itself. A few code bases of interest are those of Lichess, Stratiscape and jVectorMap. The problem is that almost all turn-based HTML5 strategy games work with grids. Afterwind's major innovation is being entirely gridless, to which it owes much of its very exciting and dynamic gameplay.
And now, I need your advice. How do I go about creating something like this? It will of course be open source, and the art shouldn't be a big issue. What technologies need be used, and for what? I need ideas, I need activity. I have determination. I have ego. This will happen, however enormous the task may seem or not. Because I've been pondering it since before the anti-turnblocking system controversy. Now give me your advice!
Oh, and if you have a Windows or a Mac computer, don't hesitate to try it out. It is a very good and original game. It really breathes fresh air into an old genre (that was based directly off board games!). It is very indie and the developers are only keeping it proprietary because they need to monetise it. In the beta versions, it was fully free to play for everyone with no limits to access.
I repeat: this is a brilliant game, and you should play it if you have the opportunity. Very easy to pick up, extremely fun to play (though it sucks your free time like a black hole).
I have nothing against the developers, apart from the fact they've recently stopped listening to the community that made this game great. I think it is brilliant and its legacy needs to be carried on under a different name. Byzantia's project will produce a spiritual successor to Afterwind; not a clone, as there are several long-standing issues with the game that need to be corrected in our view.
Last edited by YOBA (May 16, 2012 21:33:30)
Very cool to see someone with the determination to do that, I'm currently working on a turn-based strategy game myself (much more simple though, and as a native application).
Since most commercial projects obfuscate their source, it should not be easy to get good code examples out in the wild.
A book I'd very much recommend if you already know your way around C++ or programming in general is Game Coding Complete, which contains a pretty solid technical game design which should fit web-based game development quite well.
If you haven't made a game before, I'd definitely say that for the first steps, you need to aim a bit lower though. The project you are describing is likely to take months if not a year or two, even for a group of experienced developers.
Afterwind looks cool by the way, I'll need to check it out the next time I boot Windows.
Good luck with the project. If you get this rolling, maybe I will even contribute a line of code or two
Thank you very much for your reply, nailuj (julian?).
Unfortunately, C++ is far too complicated for me. I don't have a background in Computer Science unfortunately, like I suspect you and most programmers do.
The problem right now is that most HTML5 games are not actually written in these languages from scratch; they are simply converted and debugged with compilers such as Emscripten. Freeciv.net is an example of this.
The problem with these is that these "re-compilers" generally produce really slow and unclean code. If I want to write a native game (which would, by the way, be many times easier), I would write a native game. But you don't have that edge. And I don't like Java as it's bloody slow and plug-ins are hard to work with in Linux (what the hell is the OpenJDK plug-in package for Chrome anyway?).
Of course it will take a long time to develop! It took Afterwind 2 years to be put to beta testing. And that obviously has the advantage of a fairly mature and easy-to-use framework. There is actually one more game I've wanted to develop--a Secret Agent-style platformer with a storyline just as silly.
As for that libgdx framework... I'd stay clear of such things. I want to avoid using WebGL which is unimaginably buggy in most browser engines and incompatible with Safari (yes, I know, but they're a market that needs to be attended to). Besides, 3D is not necessary in this type of game and it would probably make the controls a bit impractical (though it could look quite cool).
Also, I'm listening to one of those Google TechTalks right now, thank you VERY much for pointing me to those, they are very useful indeed. Nevertheless, all the information I find still exclusively looks at tile-based games. This, Amok claims, was actually the hardest thing to implement in Afterwind mainly due to the limitations of the Silverlight framework. And that is far more complete than HTML5! That forum looks pretty dead by the way, but I looked at a few forum threads there anyway. I'll be monitoring it and might possibly post there if this gets anywhere.
You're welcome YOBA (yup, julian is indeed my name).
I don't have a background in CS either, in fact I'm not even fully done with school yet. I started self-teaching myself on the subject a couple of years ago, that's why I know how frustrating the first steps can be, because game programming is not an easy task.
I'm not really excited about solutions like Emscripten or libgdx myself, but the web seems to be such a fast moving target that it I personally wouldn't bother to learn specific technological parts of it, as they are likely outdated (or better solutions emerge) in 5 years time. But this is definitely just my personal opinion, and I'm sure you'd find thousands of people disagreeing with me on this
in fact I'm not even fully done with school yet. I started self-teaching myself on the subject a couple of years ago,
My mother would have been proud to have a son like you.
I did however teach myself how to roll a dovetailed joint at the age of 14.
Last edited by sixthwheel (May 17, 2012 23:25:47)
Sixthwheel's album of the week.