It is currently Fri Dec 15, 2017 8:22 am

All times are UTC + 9:30 hours




Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Choosing a framework for the base of customwars
PostPosted: Sat Dec 20, 2008 10:28 pm 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
When I first started working on custom wars everyone was up for a complete rewrite and we started looking at frameworks as a base. We have a milestone at the end of January where when we get to it I hope that everyone will have decided amongst themselves which is the best option for the code. Stick with refactoring the existing code or salvage what we can and move to a framework?

Currently these are the game engines that have been brought to our attention, all of which will be considered for appropriateness:


We can develop a list of points to weigh them up against here. Has anyone any experience with developing in any of these frameworks?


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Sun Dec 21, 2008 3:37 am 
Offline
User avatar

Joined: Fri May 04, 2007 3:18 am
Posts: 520
Well, I can speak for TRPGM.

In its current state, it'll have a hard time holding CW weight in terms of the longevity of the project. Barely started 3 months ago, the framework is pretty stagnant and heavily structured. Therefore, holding a base with CustomWars is going to be a very rough ride. I wouldn't recommend combining with this engine at this point. It has a very shaky foundation and still has a lot of key elements to work out.

-----------------

-I don't have any experience running any of the other engines. Which is a big disadvantage when it comes to evaluations. Feel free to post up what you know about the other engines... I think we're going to need a bit of back story about these engines before we proceed with rating. I'll see what I can do.

EDIT: After running through the engines, I've realized something. Most of them are not complete yet. Some engines have even halted production. All of them are going to take a while to run through and learn. They all have tutorials and depending on the decision we make, it could take us a little while to learn how each framework works and see if it'll be good for the project. Combining those efforts is going to be a project in itself.

Workable Engines:
* Slick 2D
* Pulp Core
* Golden T Game Engine
* Genuine Advantage Engine
* JGame

Incomplete Engines:

* JASEL
* Tactical RPG Maker

Unworkable Engines:

* Easy Way
* Shaven Puppy
* Stencyl

I have already started looking into the frameworks of the engines. But in order to find out if these engines are going to be great for CW progress. I'll probably have to dive into the engine waist deep and explore all the avenues before I can make a good unbiased decision.

Some engines have more functionality than others. Some engines might take longer to learn than others. I am going to evaluate each program separately starting with Slick2D. I'll try to get a basic game running on each as well. It is going to take some time, but I hope it'll be worth the effort.

JSR...


Last edited by JakeSamiRulz on Thu Dec 25, 2008 11:39 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Sun Dec 21, 2008 6:19 am 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
Another thing that should be tested is how easily can swing be integrated.
I know slick has a CanvasGameContainer which extends a java.awt.Canvas mixing Swing and awt is tricky but can be done. I'll run some tests on the gameContainer.
Most will not support swing and instead push their own gui library.

for the rest I think they are all very simular, they
provide input from keyboard/mouse
link to openGL, handle details for you
help methods to draw 2D(as if you are using java2D)
use active rendering
provide render/update methods
Provide states
Provide font support
have active forums

so what difference are we looking for?
btw my favorite is slick2d :P I've been playing with it, and it's just solid designed you don't have to use everything it offers just use what you need.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Dec 24, 2008 6:11 am 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
Each framework provides:
Animation of images
game loop

No framework provides:
network

Golden T Studio
Powerful and very flexible sprite management, support for animated and directional sprite
Sprite grouping

Built-in collision check, with basic, enhanced, and pixel perfect collision detection
No Efficient LWJGL Implementation, it is provided as an addon
more focused to Java2D then openGL

30-08-2008 in their forum:
disadvantages of sound engine. For example: If I play explosion sound, which is 2-3 seconds long one, is ok. But if I want to play the same sound twice with 1 second delay I got nasty ugly sound and FPS drops for about 50%.
no support for using hardware. Software rendering, sound engine,... etc should be used only for small 4k games and of cource applets. For other purposes I prefer to use openGL, openAL, and other libraries which uses hardware. Why we all have graphics accelerators in our computer and all graphics is drawn via software mode...
they are building on network support
Shows a gay splash screen on startup

In Java2d transparencies and other effects consume a lot of processor time, they are not accelerated. In OpenGL you only need to user de LWJGL addon and set the AlphaComposite before you call "drawImage" method.

Slick2D:
no sprite management
no collision handling

Uses http://thinlet.sourceforge.net/component.html for gui, it is a simple xml based gui builder.
See http://slick.javaunlimited.net/viewtopic.php?t=1440
Uses open standards for input, sound
uses hardware for rendering
Compatible with java2D as an abstract Graphics object that looks remarkably like Graphics2D but uses openGL in the background.
+-20 code examples
active forum(answer within a day)
Use what you want, you don't have to use everything slick offers, only what you need.

Provides Tiled support, Tiled is a java map editor
It can render/scroll/load Tiled maps out of the box
Tiled maps use layers and map properties(author,mapName,... ) can be added

State support with effects when a state changes to another one.

PulpCore
if we want to create a game applet this is the best choice
it doesn't show any dialog when loading
uses java2D
don't know if it can access local filesystem

Easy Way
no state support
can be used inside swing
poor support, latest news forum posts from 1 jan 2008


Last edited by stef569 on Fri Dec 26, 2008 9:09 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Thu Dec 25, 2008 6:20 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Great stuff. It certainly seems like slick2D is the most actively developed. I'm going to start posting on their forums as well to as for informed opinions:
Slick 2D:
http://slick.javaunlimited.net/viewtopic.php?p=8452#8452

Also I looked around for others with similar problems. On a list I frequent there is an interesting topic on this that actually failed to mention slick. But it does raise the interesting question of mobile gaming compatibility.
http://stackoverflow.com/questions/293079/java-2d-game-frameworks

As I am unfamiliar with game development I probably am not the best person to ask which features we should prefer over others. However from viewing the code of customwars I can say that we'd benefit from:
  • A presentation model framework for screens
  • A resource framework for managing images
  • A good model for interacting with a grid of 'tiles'.
  • An AI library
  • A framework for dealing with state across a players session, a shared session between a network of PCs and one big long installed platform session that would save all of the games state.
  • Any tools to help with prototyping or testing would be appreciated


ALso some other frameworks for the mix:
http://www.gamegardens.com/
Merry christmas!


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Thu Jan 01, 2009 1:44 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Hi guys, I've been mulling over the frameworks and the ideas and I'd like to add another idea into the mix. I'd like to challenge the idea that customwars is delivered as a 'fat client'. Someone else suggested the possibility that the game be produced as a thin client javascript & html game running on top of a scripting language like php.

At the moment there are two flavours of custom wars. One which requires a download, a correctly versioned JVM and instant feedback interactive style games. The other, (advance wars by web) a web site where people can access games in a decentralized fashion via any terminal with a browser. Also we plan to layer a level of customization on top of anything that is currently available. In an ideal world we would have all of these features delivered in the one product. After doing a little research into the topic I have seen that there is currently a great deal of light webservers that support php/ruby/python. What are peoples thoughts on the advantages and diadvantages of bundling firefox with a customwars plugin that also contained a light webserver?


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Thu Jan 01, 2009 5:28 am 
Offline
User avatar

Joined: Tue May 08, 2007 6:19 am
Posts: 1363
I am in favour of a browser-based CW.

Check out Weewar for another reference using similar approach (and doing it better than AWBW, too)


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Fri Jan 02, 2009 12:32 am 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
What about an applet, A Webstart launcher
I think the guy who wrote weeWar isn't new in that field. Do we have someone that knows how to create such a web app?
even then I think we will come closer to a clone of AWBW then of weeWar, why would we want to clone something that already exists in the first place? and how will it look a static image with a number on it...

Instead of adding ideas to the mix we should narrow the options so maybe in 2 months we have something on the screen instead of agreeing on what technology should be use. A game Framework will get us up to speed fast, a client based game gives us cheer power(maybe even a 'wow' out of some people)


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Fri Jan 02, 2009 1:14 am 
Offline
User avatar

Joined: Tue May 08, 2007 6:19 am
Posts: 1363
AWBW isn't customiseable at all and not open source. It is merely a clone of AW2 with some features from the other AW games thrown in, and ridden with bugs on top of that too. What makes AWBW and Weewar popular is that they run on a browser without users having to download or install anything on their computers. Choosing this approach for CW would not be cloning AWBW, it would be taking heed from those wiser than us, and could potentially result in something greater, and hopefully more popular than AWBW or Weewar could ever aspire to be.

Of course, if we don't have the programming prowess to do that, I suppose it would be better to stick to the old approach of a downloadable client, but I fear that this will limit our userbase.

Applet sounds good too, done right it would combine the best of two worlds. I seem to remember there was a game called Battalion or something similar that was an applet-based AW clone with online play, though it only had real-time play and no correspondence mode. Correspondence is crucial to success, since few people have the time or commitment to sit down for hours to play a game. Though another solution would be to allow saving and continuing unfinished games, but there would still be the problem of organising games between users from different time zones.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Fri Jan 02, 2009 2:19 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
I'm just throwing ideas into the mix but I'm glad everyone is open to discussing it. One advantage of a browser based game is the fact that the browser is the one truly ubiqutous platform available just now. The problem with an applet based game is that we would then have to rely on the JRE available to a user in the running environment and also worry about where the applet is being started from. Before java6 the webstart technologies used within browser plugins is unbearbly sluggish. The advantage of using a mozilla based offering would be that we would instantly be able to deliver to all the users of firefox on win/unix/linux, we would have access to html, xml, xslt, javascript & css (1,2&3) rendering technologies that come with the platform we would also have the advantage of the browser based webserver that could ensure that people will always be able to play via a network if an outside connection is available.

Stef: We are agreeing on a framework or rather an architecture of technologies in which to best deliver customwars. The customwars project will realistically take a year to get a professional grade first offering out and I would hate to go all the way down that line to find we have invested in the wrong technology stack. Choosing a java based framework would obviously not be the best decision if the best option were erlang. But also choosing a javascript/php offering would not be a good desicion if we did not have access to anyone who could develop in these languages. I would guess though that everyone who is a java developer has dabbled in php and javascript and believe them perfectly capable of developing in either language. I used to be a web developer using php & javascript so I am certainly up to speed in those languages.

Yes I like 'WeeWar', I hadn't seen that before. I will try having a game of wee war later.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Sun Jan 04, 2009 3:34 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
This was the software I was looking at that delivers a webserver within the firefox browser that is capable of parsing PHP, Python, Perl, TCL & Ruby

Just like songbird took a while to get on its feet and get together an initial offering, it's a bit rough round the edges, but the potential is certainly there to offer one distribution that could be deployed either as a web server for playing cutomised games against or for a single player game on a desktop that could occasionally be used for networking. I'm going to get in contact with the guy from AWBW to ask about what he thinks and also the guy that makes that POW server, they might have some good ideas.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Mon Jan 05, 2009 10:07 pm 
Offline
User avatar

Joined: Tue May 08, 2007 6:19 am
Posts: 1363
Actually now that I think about it perhaps I'm not that keenly in support of an AWBW style browser-based implementation. The reason is lag. Playing your turns on AWBW can sometimes be quite slow if there are a lot of people on at the same time. One of the things I always liked in CW was that moving your units was always instant and lagfree. Also I would like us to have the option to set chess tournament-style time limits counted in seconds. This would not make much sense if the players' ability to play quickly is randomly determined by latency.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Mon Jan 05, 2009 11:30 pm 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
@Narts: Are you worried about lag during the time it takes to get feedback from the opposing player? If so, I believe player moves could be shown in real time with each move being transmitted as they are being made. This kind of instant feedback can be done via messaging technologies and is commonly seen in ajax chatrooms. The most common technology for this is currently JSON which is xml transferred quickly in an ajaxy style instantly parsed fashion.

If you are worried about the lag for actual moving gifs and images, all modern browsers have much improved jaavscript engines which are tenfold more efficient than their predecessors. Clicking on a unit and then getting feedback should be instantaneous. I have been playing AWBW recently to suss it out and have witnessed a lag in the time it takes to render options contained within menus but this is purely down to the implementation. I cannot see any language level limitation that would intrinsicly incur lag. Not that I'm not open to suggestions!


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Tue Jan 06, 2009 11:58 am 
Offline
User avatar

Joined: Thu Jun 22, 2006 3:25 am
Posts: 3233
The big problem with a browser-based game is that well, it needs a bunch of hosting to support it and is reliant on the internet being present. Not to mention that it makes end user customisation difficult. Someone might want to play a game against a friend on their own computer - one advantage of the actual cartridge games. Relying on the internet isn't really ideal for this.

For an engine designed to play user created games, I don't really think that a web-based game is a good path to go down.

_________________
Deoxy wrote:
Xen watches us all go about our daily lives with his finger floating above the "Destroy everything" button.

Mooglegunner wrote:
Seriously, if there's an American in College who isn't on when you are, they're not working hard enough, or Liberal Arts Majors.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Tue Jan 06, 2009 6:21 pm 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
@Xenesis: Customisation would probably be easier as no code is compiled, the same way as when you are designing a web page and hit reload to see the affects, simply dropping images into a directory would replace a current Officers image or Map tile. A browser based game would not need to have supported hosting as you could supply the same plumbing as you would a java based applet. I have suggested packaging a tiny web server with the game that would parse dynamic languages and http/https input. As a web server would be supplied it would be capable of parsing http/https input whether the game be via the internet, a LAN network or using the loopback address on someones own computer (enabling single computer play). The fact a web server was supplied would enable a much higher degree of network flexibility as more effort would have been singly been put into the networking element than we would have time to otherwise embed in java. To touch on what you say about the intermediate session status programming held over the network in between the two clients, this might be unavoidable. At the moment there are perl scripts that keep your data allowing you to go away come back and reattach from a different location. The only way around centralizing this would be to use a small database like sqlite on the users side to keep track of game data, moves and oppositions.
So far the firefox plugin based offering is making the most sense to me as I have not been offered any reason why the complicity of java need be added. I think it only through convention that games such as customwars have not been developed in this embedded webserver, browser based style but with the advent of google's V8 engine and mozilla's 'spider monkey' we will see a lot of this type of thin client, javascript & html game.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Tue Jan 06, 2009 11:33 pm 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
Another thing to keep in mind is all the java code that already has been written, when we start using php we start from 0.
I think it's possible to use a simple java server and send msgs locally for sp, and when we have a web server we just move the server on there. Example java server is MINA

Pro:
Reuse of current java code in client and server(to validate)
Works local+web
Well known language
java client can use slick graphics.

Con:
Download needed

Server embedded in firefox
Pro:
No installation needed(you need to install the webserver?)
Works local+web
server costs are low(even free?)

Con:
Graphics will not get a 'wow' effect.
Not everybody is using firefox

Some discussions in forums:
http://compsci.ca/v3/viewtopic.php?t=18136


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Jan 07, 2009 1:42 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Reuse of current java code in client and server(to validate) - I would debate the reusability potential.
"Well known language" - As well as php/javascript?
"No installation needed(you need to install the webserver?)" - the webserver is embedded like the tcp/ip methods to call are embedded within a JRE
"Graphics will not get a 'wow' effect." - Are you eluding to the potential to take advantage of openGL accelerated graphics in the Slick2D platform? What kind of planned graphics have you in mind that are incapable of being generated through the likes of http://www.jquery.com, http://script.aculo.us/ or http://mootools.net/ .

"Not everybody is using firefox" - This stands true as a con for java 6 as well. Although java is supposedly ubiqutous, javascript and css1 are far greatly supported on all mobiles and older machines. The download and then play installation approach is one method of play. If one user(or intermediete server) were to have it deployed then others could use this server as a base freeing them from the need to install it on their machine. This would mean that they could use ie, konqueror or whatever else. It would be very hard to get figures on this but I think it is fair to say that there are alot more web browsers than their are java 6 deployments in the world.
This 'con' however is still a 'con' in the java installation as you need to click to access it, the bonus with a firefox based offering is that you could offer it as both a plugin though the plugin site or a sole download like songbird. Or just access an already set up host like I mentioned before which would provide an experience much like AWBW.

Additional pros:
Heavy ensured installation base - Although java is supposedly ubiqutous, javascript and css1 are far greatly supported all mobiles and older machines
Reliable continuous platform upgrade - we could update our install base
Dedicated distribution channels - the plugin platform for firefox is widely touted and supported
Familiar launch environment - Although their is a cost of installation there bonus is that it can then be accessed via the browser. We could even add links in webpages that would directly launch particular instances taking advantage of network.protocol-handler.app attribute in mozilla. Like when you press a mailto: link it opens your mailclient we could provide a hook mechanism for customwars battles.

To summarise with a browser based offering there would be two methods of getting custom wars and 4 methods of play:

Methods of download:
1. As a plain downloadable plugin that could be turned on or off. It would contain a webserver, javascript, images, maps and the game code.
2. As a sole package that contains firefox, with the customwars plugin turned on.

Methods of play:
1. Have someone(with firefox and the plugin installed) connect to your firefox with the plugin enabled
2. Have someone(with any browser) connect to your firefox with the plugin enabled
3. Using any webbrowser, connect to an intermediate which would provide the graphics/code/play/state
4. Using firefox, connect to an intermediate which would provide the state


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Jan 07, 2009 8:23 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
It is correct to point out that entertaining graphics game graphics have yet to be made in a javascript game but the potential is certainly there.
The most obvious citation would be http://awbw.amarriner.com/ which is coming along very well although needs a lot of work in the asynchronous calls.
I have contacted amarriner who makes the game and asked for him to comment on both the state of ours and his project, but have as of yet had no response.

The browser based game is in it's infancy as garbage collection and general interpretation speed in javascript has always been awful.
But recent engines convert javascript to byte code and speed up the game dramatically:
http://ejohn.org/blog/javascript-performance-rundown/
http://arstechnica.com/journals/linux.ars/2008/09/03/new-firefox-javascript-engine-is-faster-than-chromes-v8

Games have not started taking advantage of this as it is not the default in web browsers so examples are currently very limited:
http://www.travians.com/
http://games.funnygames.nl/lemmings/index.html

As a demonstration of other games taking advantage of javascript there are only demos:
http://www.nihilogic.dk/labs/mario/mario_large_music.htm
http://www.nihilogic.dk/labs/mariokart/
http://www.p01.org/releases/DHTML_contests/files/20lines_twinkle/
http://www.p01.org/releases/DHTML_contests/files/20lines_dynamic_hypnoglow/

Another thing to consider within graphical rendering will be the clever use of CSS here is Homer simpson in Divs:
http://www.romancortes.com/blog/homer-css/

In the short term, developing customwars within the restrictions of current Javascript rendering engines would have its difficulties.
But I am beginning to believe that in order to future proof this project against the inevitable rise of Javascript in 2 years time, I now believe Javascript the way to go.
Otherwise someone else will take it upon themselves to eventually develop the game in Javascript and then there will be no reason for them to download the old version hosted via an applet or downloadable. Customwar's tile based game style is the easiest to emulate in this environment as there are not many fluid graphical elements to reproduce.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Jan 07, 2009 9:07 am 
Offline
User avatar

Joined: Thu Sep 21, 2006 6:48 am
Posts: 3681
Location: Location, Location
Hello everyone. I've been rather inactive as of late, but chom_chom pointed me to this discussion thread recently and I'd like to throw my support behind a browser-based custom wars.

Even though this requires significant rewrite, it is worth mentioning that the Custom Wars code base is still available. As such, much of the 'rewrite' becomes much more a sense of changing syntax. It will take a long time, true, but nowhere as long as developing an engine from scratch.

As for the bandwidth issue -- I imagine it would be possible in some cases to require first-time players to download a "graphics package" that contained the terrain,units,etc. files that are currently used by Custom Wars. From there on, the server would reference local files when rendering the battlefield, reducing the amount of bandwidth required to run a game. If players opt-out, the battlefield could be displayed in ASCII as a placeholder.

There's a significant barrier to entry when a game requires the player to download the full file. In some sense this is why many Flash games are so popular - it is much more an instant gratification where you click the link and the game immediately begins to load, rather than downloading, and then extracting. Even though the time and clicks involved may be the same, there's a much different 'feel' to the experience. A browser-based CW would undoubtedly have many times the audience that a downloaded-CW would (although admittedly, that would not be too difficult).

Customization would be more difficult, but it's an interesting issue to consider. There could be a 'vanilla version' hosted on the server, as well as distributions that allow players to host games using their own local versions. This would require more software than simply just hosting a vanilla version, but modders are not averse to extra work. However, at this point I'm venturing dangerously far into the "Gee, I think it would be neat if computers could do this!" territory, so I'll just end by saying that I think that a browser-based version isn't so unpalatable.

_________________
"I got this [dragon tattoo] while a teenager. I met the greatest girl in the world and now I'm married. Problem is, she's afraid of dragons. I've started getting it removed. Will take years."


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Thu Jan 08, 2009 8:03 am 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
<Ignore>php is not oo, It was added later on so enables to write spaghetti code, further I think the syntax is ugly but that's just me :lol: I'm Not bashing just trying to make points =)</Ignore>

Captain Vimes wrote:
There's a significant barrier to entry when a game requires the player to download the full file. In some sense this is why many Flash games are so popular - it is much more an instant gratification where you click the link and the game immediately begins to load, rather than downloading, and then extracting. Even though the time and clicks involved may be the same, there's a much different 'feel' to the experience. A browser-based CW would undoubtedly have many times the audience that a downloaded-CW would (although admittedly, that would not be too difficult)

I would like to comment on that =) I assume you are talking about downloading/extracting manually to some folder and then run it.
java provides a point & start mechanism it's called webstart.
You click on it and it downloads/runs itself. If webstart is not installed it will download that as well. When the game is already downloaded it will only see if there is a new version available. Examples:
http://games.cokeandcode.com/index.php?page=games
http://drts.sourceforge.net/fg/webstart/flyingguns.jnlp
http://tuer.tuxfamily.org/facebook/hit. ... d=2&snid=0
https://sourceforge.net/project/downloa ... p&13319802
Applet games
http://tesseract-fps.sourceforge.net/te ... 0x600.html
http://www.runescape.com

So it's not a valid point to say that you can't 'point & run' a game in java. It just needs a bit of planning for example you can't load files directly instead you load from files within jars.
I'm not saying these games are cool, just showing that it can be done. additionally an installer can be made like so:
http://www.freecol.org/download.html


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Thu Jan 08, 2009 9:20 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
stef569 wrote:
<Ignore>php is not oo, It was added later on so enables to write spaghetti code, further I think the syntax is ugly but that's just me :lol: I'm Not bashing just trying to make points =)</Ignore>

PHP was not born heralding the flag of OO but that is certainly not the end of the world, it is a templating language for interchanging elements within web pages and it does that very well. Writing spaghetti code is not an fault of a language but of an individual.

stef569 wrote:
java provides a point & start mechanism it's called webstart.
You click on it and it downloads/runs itself. If webstart is not installed it will download that as well. When the game is already downloaded it will only see if there is a new
... So it's not a valid point to say that you can't 'point & run' a game in java. It just needs a bit of planning for example you can't load files directly instead you load from files within jars.


Compared to languages interpreted natively in a web browser there is a significant barrier to entry for a user with online java based games.
JNLP is flaky to say the least and from my experience does not provide a seamless experience and does not solve the problem of a user requiring a certain JRE version.
If a user has the correct JRE version then they will see a big "Java Starting" box(this can be customized as a splash screen) which will start up at a speed dictated by the machine specs, the user will then be confronted with at least one security certificate which they will be asked to trust, which is a heavy thing to ask a casual user. If they accept that then there will be a download that will run checks for updated jars. Having customwars deployed in different locations would mean a flood of these certificates which no one would trust and very few would understand. Add to this the intrusive experience of updates coming down upon every launch of the game and it doesn't sound initially very attractive. If java were being used I would vote for it being used as a familiar downloadable jar file until someone had got a really polished experience prepared for the customwars users, otherwise it would be off putting. Using applets in all but the newest browsers incurs a very heavy strain and hanging lag on the GUI thread leading to the users browser to 'freeze'. This user experience has haunted java since the late 90s.

Java may have the ability to start a deployed JRE, sign certificates, check versions and then download the remaining results but Javascript is neigh on instantaneous for a web user and the loading time incurred is eased by the familiarity of the environment and the fact that they can see bits and pieces loading in the background. What I was asking about before was, can you envision any heavily graphically intensive operations within customwars which would be better achieved through using java than through light weight javascript alternatives?

I too have no hang up with java, right tools for the job and all that. I'm primarily a java developer by day and it is an excellent, maintainable, readable, testable, enterprisey language. I'm just pointing out that customwars could potentially be very light weight and as such would be more attractive to casual web browsers. Are you at all siding with any of my points or do you believe that java would be 100% the right investment for the team going forward? If so, could you please take a little time to put forward some more points as I am unconvinced of it's suitability! I'm being a bother but by speaking about it thoroughly like this we are confidently making the right choice.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Sat Jan 10, 2009 10:13 am 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
How will the network part look?

#1 Passive
game logic on client
(file)Server keeps a list of files that represent games, games that haven't been touched in a month are purged.
When a game is updated it overwrites the old one.
#2 Active
game logic on server
Validate each action with the server,ie
user clicks on a tile within unit moveZone
unit moves animated to destination, wait is chosen
request the change on the server:
if valid move send to all other players in the game
else send err to invoking client and move the unit back.
this ensures hacked clients can't do crazy things.

I think java is the best language to write the logic for the game in.
By using a java client you can reuse the model on the server and the client.
Where when ajax is the frontend and then php is the backend.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Tue Jan 13, 2009 2:29 am 
Offline
User avatar

Joined: Thu Jun 22, 2006 3:25 am
Posts: 3233
Quote:
I too have no hang up with java, right tools for the job and all that. I'm primarily a java developer by day and it is an excellent, maintainable, readable, testable, enterprisey language. I'm just pointing out that customwars could potentially be very light weight and as such would be more attractive to casual web browsers. Are you at all siding with any of my points or do you believe that java would be 100% the right investment for the team going forward? If so, could you please take a little time to put forward some more points as I am unconvinced of it's suitability! I'm being a bother but by speaking about it thoroughly like this we are confidently making the right choice.


Just throwing this out there, but wouldn't someone seeking a customised turnbased wargame like AW be slightly less than a completely casual web surfer? TBS games are niche and attract a slightly more hardcore audience in general than most other games - the customisation aspect is the big draw as opposed to whether it can be run off a server in a web browser (Which I oppose for several reasons, such as server maintenance and the fact that we really don't want to compete directly with AWBW). TBS games are also ones that unless you're a massive technophile you wouldn't put onto a mobile phone anyhow - a game of AW takes a good half hour minimum and the vast majority of people will use a desktop or laptop computer to play it. For good examples of successful game engines that fit into a hardcore niche, see something like Fraxy (SHMUPS) or MUGEN (Fighters) - very much ones that you have to download locally and all the like, but very successful and well known because they're powerful custom engines and appeal to the niche that actually plays that genre of games. I feel appealing to the casual web surfer crowd is a fallacy because the vast majority of them will muck around for 5 minutes, find the game doesn't go anywhere instantly, hit X and move on.

As for the compatibility issue, I'm not so sure it's the case with the later beta builds of CW1.0, but you could compile and run the code under Java 1.3.1, if you so desired and the game would play comparably to compiling in 6.0, considering it was built as a compatible 5.0 release - if you're terribly worried about compatibility with old machines, CW can be built on Java 5.0 which runs on damn near everything nowadays.

_________________
Deoxy wrote:
Xen watches us all go about our daily lives with his finger floating above the "Destroy everything" button.

Mooglegunner wrote:
Seriously, if there's an American in College who isn't on when you are, they're not working hard enough, or Liberal Arts Majors.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Jan 14, 2009 9:54 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Xenesis wrote:
Just throwing this out there, but wouldn't someone seeking a customised turnbased wargame like AW be slightly less than a completely casual web surfer?

No, custom wars has the potential to be played by the same audience that would play any tile based game and join the legions of tile based games such as chess, checkers, backgammon and risk. The only reason that more have not played it before is because of the expensive barrier for entry. For example, players of advance wars would have to first buy the game(after succumbing to the marketing) and have a system to play it on. With a java client although you may deem it to only be of interest to those who would seek it out, the java client imposes a barrier on the potentially casual user. Of the two situations one, the game is accessible by visiting a website; two, the game is accessible by visiting a website, downloading something, running it, accepting the certificates and then playing the game presuming you have the correct version of java installed. You were asking about the need for the version, well in order to take advantage of generics you need a version of java post java 1.5.

Xenesis wrote:
...I Oppose for several reasons, such as server maintenance and the fact that we really don't want to compete directly with AWBW

Server maintenance is only a bother if you host a server, which is currently the case just now. With a mozilla based offering each client would have a small web server in the distro. This distro could then call out to any other customwars installation or accept incoming calls from another. As each distro was in effect a webserver the need for having any one deployment would be gone as it would be decentralized unless you chose to connect to a fave. There is no need to compete with anyone, it just so happens to be a game hosted online.

Xenesis wrote:
TBS games are also ones that unless you're a massive technophile you wouldn't put onto a mobile phone anyhow - a game of AW takes a good half hour minimum

I play chess with a friend of mine via email. As do many people and I don't think them all technophiles. There is of course potential for great variance in these types of games from X-COM to Heroes of Might and Magic but within there lay a great many different people.

Xenesis wrote:
Fraxy (SHMUPS) or MUGEN (Fighters) - very much ones that you have to download locally and all the like, but very successful

These games are indeed relatively popular, but I think they would be more popular if they were more accessible and a website is more accessible. There are those who would click and move on and no there is no need to appeal to those. But there are also those who would like to play a turn based game within the familiarity of a web browser who would be frightened off by having to do anything else.

I don't know of any explicit reasons to use Java for deployment when it could be done in a browser. We could indeed build it with Java as we are doing now but so far I would still prefer it to be browser based until there is reason other than it was written in java before.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Jan 14, 2009 11:17 am 
Offline
User avatar

Joined: Thu Jun 22, 2006 3:25 am
Posts: 3233
So what about those of us that don't use Mozilla's browser offerings? You'll still have compatibility issues because people out there will use MSIE 6/7, Opera, Safari, etc.

Quote:
I play chess with a friend of mine via email. As do many people and I don't think them all technophiles. There is of course potential for great variance in these types of games from X-COM to Heroes of Might and Magic but within there lay a great many different people.

Chess' game state is much more easily handled by email because you only have two factors - what pieces remain and where they are. You can play-by-mail AW with savestates and roms, etc. but it's a painful experience I'm not too eager to repeat.

Quote:
These games are indeed relatively popular, but I think they would be more popular if they were more accessible and a website is more accessible. There are those who would click and move on and no there is no need to appeal to those. But there are also those who would like to play a turn based game within the familiarity of a web browser who would be frightened off by having to do anything else.

But why do they need to be more popular in that way? If anyone wants a custom fighter, everyone suggests MUGEN. If anyone wants to make custom SHMUP bosses, people suggest Fraxy. They're in the consciousness of the savvy gamer.

Quote:
I don't know of any explicit reasons to use Java for deployment when it could be done in a browser. We could indeed build it with Java as we are doing now but so far I would still prefer it to be browser based until there is reason other than it was written in java before.

Interface consistency is nice, as well as the fact for playing games, sometimes it's nice to play full screen or at high resolution, which browsers fail abysmally at. As well as the fact that a lot of browsers are massive resource hogs - running a game on it will just make things slower. Not to mention setting up a webserver on the local machine to run a game when it could just be directly run in a VM that most people have anyhow seems like an excessively complicated way to do things.

_________________
Deoxy wrote:
Xen watches us all go about our daily lives with his finger floating above the "Destroy everything" button.

Mooglegunner wrote:
Seriously, if there's an American in College who isn't on when you are, they're not working hard enough, or Liberal Arts Majors.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Jan 14, 2009 6:17 pm 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Xenesis wrote:
So what about those of us that don't use Mozilla's browser offerings? You'll still have compatibility issues because people out there will use MSIE 6/7, Opera, Safari, etc.

Well that would be the beauty of this method of packaging it offers so many different ways of play. If you did not have a mozilla browser you could still play the game without downloading anything! By accessing a web page with any browser after ie4 you could download the minimum needed as the resulting output would just be html/css & javascript. A user could choose to download the game in its entirety, complete with all the maps, officers, php & javascript logic, a web browser and a web server built in. You would need to download the game in order to offer a customized version but any third party offering would be available to everyone by accessing the URL or IP address where it were hosted.

Xenesis wrote:
Chess' game state is much more easily handled by email because you only have two factors - what pieces remain and where they are. You can play-by-mail AW with savestates and roms, etc. but it's a painful experience I'm not too eager to repeat.

Painful how so? I've been playing AWBW and found no problems in it retaining state. There is no difference in chess moves and customwars moves apart from attacks and captures which span two shots instead of one. Saving session state on both the client's cookies and client's session pool would not be hard we would simply save a encoded file for each game state.

Xenesis wrote:
But why do they need to be more popular in that way? If anyone wants a custom fighter, everyone suggests MUGEN. If anyone wants to make custom SHMUP bosses, people suggest Fraxy. They're in the consciousness of the savvy gamer.

The reason it is to advantage for an open source project to be popular is because no one like to work for no reason. With a popular project comes more individuals willing to spend time on the project and more enthusiastic people who are the kind of people we like to work with. Also by exposing the game to a large audience creates wider pools of opinion which will inevitably shape the game into a more well rounded and polished offering.

Xenesis wrote:
sometimes it's nice to play full screen or at high resolution

Browsers offer a 'fullscreen' functionality out of the box which will do act exactly as you will imagine because custom wars will only present rasterized pixel graphics that can only be displayed at one size. So the game will be largely unaffected by resolution issues.

Xenesis wrote:
As well as the fact that a lot of browsers are massive resource hogs - running a game on it will just make things slower.

Browsers of old were but modern browsers run very well and I don't anticipate an alpha of the game being ready for at least 6 months, browsers will continue to improve.[/quote]

Xenesis wrote:
Not to mention setting up a webserver on the local machine to run a game when it could just be directly run in a VM that most people have anyhow seems like an excessively complicated way to do things.

There is no set up for the user unless they were to have the port that custom wars was broadcasting at protected. This would be a problem regardless of the technology. Its not complicated as much as just different.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Thu Jan 15, 2009 5:06 am 
Offline
User avatar

Joined: Mon Jun 26, 2006 11:59 pm
Posts: 12
Hello,
Chom_chom asked me if I wouldn't mind sharing some thoughts on a direction for Custom Wars so here I am. :)

I, obviously, have my preferred way of doing things and I'm by no means suggesting it's the right way or the wrong way, but I felt I'd offer my experiences and opinions for what they're worth. Do with them what you will. They're a bit rambling for which I apologize but sometimes I have a hard time organizing my thoughts. So here goes.

From a platform point of view I lean heavily towards a web environment. The actual backend scripting is somewhat irrelevant at least from the get go (PHP, ASP, Ruby, Perl, whatever) at least as it relates to settling on a web server for deployment. The reason I think it's great (especially for this type of game) is that, like others have mentioned, nearly everyone has a web browser and an internet connection. The sheer volume of potential users who don't have to do a single thing other than register on your site to play your game is astronomical. You're not immediately shunning any one user just by creating a executable that needs to be downloaded rather than just having it up and available.

From an administration standpoint, setting up a linux box with apache, php, and mysql is ridiculously easy and the ongoing administration is next to nothing. Since AWBW has been running (more than four years in its current incarnation) I can count on one hand the number of times I've had to do anything substantial from an administrative point of view on the server. They run like a charm.

From a lag point of view, AWBW is not a good benchmark. I agree that AWBW pages take a long time to load, but that's the not fault of it being in a web environment, that's the fault of the programmer ... me. AWBW started as something quite different than what it is today and my programming style, knowledge, and capabilites have changed so much since I first started so that anyone looking at AWBW's code would be shocked and appalled. All of this is to say that done correctly, a web environment can be really fast so I would say lag isn't really an issue for the most part. Certainly a consideration and something that needs to be dealt with but that's more of an efficiency thing than it is a platform thing. No matter what platform is chosen, you'll need to be worried about it.

Java is nice in that it's a full-on programming language as opposed to something like PHP which ... isn't, but that isn't to say that something like PHP isn't powerful and really capable. I would lean against Java if only because it has a sort of stigma (right or wrong) that it takes a long time to load and does require some action on the client side to get it going (assuming they don't have a run-time environment or something installed). However, it's not a bad solution by any means.

The purist in me says forget the pre-made engines. I'm not saying they're worthless, but sometimes I feel like you end up trying to shoehorn something into a solution where it really doesn't fit and you may or may not have the facilities to do what you really want to do. And then you're wholly reliant on someone else (maybe) when it comes time to upgrade to the latest and greatest version. Again, I'm not saying they're without merit ... just generally not my cup of tea.

Some considerations if a web platform is the way you go (and I've seen nothing yet to deter me from that suggestion). AJAX and JavaScript are great ... but a big pain in the ass when it comes to cross-browser compatibility. It's not a show stopper by any means. It just adds time to a project for sure. That said, any upcoming web game needs to utilize AJAX in my opinion. It's just that useful and makes things so much smoother.


Soooooo, that was way more rambling than I intended and I know, I know it's a wall of text. Still it's there and I think there's probably more I can add, too, but I'll wait to see some responses before continuing.

Thanks for the invite, chom_chom. I appreciate it. I'm not sure how much I can directly contribute, but certainly I'm more than happy to help and see another AW game along. I've been kicking around the idea of AWBWv3 for a long time now, but haven't found the time to be able to work on it (much to the chagrin of the other two people who are going to be working on it with me) so it's nice to talk about these things again.

_________________
The detestable pounding and piping whereunto dance slowly, awkwardly, and absurdly the gigantic, tenebrous ultimate gods -- the blind, voiceless, mindless gargoyles whose soul is Nyarlathotep.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Fri Jan 16, 2009 8:49 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Hi amarriner! It's really great that you can join us here, I think we've now rounded up all the contributors for any influential adwar project on the web! I was waiting for someone else to interject but I'll just butt in. Apart from your comment on javas stigmatised slowness which is since about 2001, a complete falsety hence its use in military, space and superconductors for heavily mission critical java implementations there is always Java RTS. But yes you're right it is just a stigma mainly commercially spread through its awful initial browser applet implementations. Anyway, one the subject of custom wars.

While we have your attention amarriner have you got google analytics set up on awbw.amarriner.com/? If not you really should! But I'm guessing you do since you have implemented ads on the side of the pages. Could you comment on any of the figures that you have garnered from the analytics? Is there any trends in age, machine specs, regularity location stuff like that?


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Sat Jan 17, 2009 3:13 am 
Offline
User avatar

Joined: Mon Jun 26, 2006 11:59 pm
Posts: 12
Alas, I haven't even touched the google stuff in ages so I'm not sure what data is available, but I'll certainly see what I've got!

_________________
The detestable pounding and piping whereunto dance slowly, awkwardly, and absurdly the gigantic, tenebrous ultimate gods -- the blind, voiceless, mindless gargoyles whose soul is Nyarlathotep.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Mon Jan 19, 2009 12:19 am 
Offline
User avatar

Joined: Thu Jun 22, 2006 3:25 am
Posts: 3233
I still question how you're going to make all the customisation work intuitively and efficiently in a web-based environment that is stored on a server. It's one thing to make the game run (Which as AWBW has shown can work)...but end-user customisation? I'm still not convinced, unless it's going to be cripplingly limited.

And, the other thing is - the ultimate problem with a web-only game is that it requires constant access to the web. While it's pretty ubiquitous in the US of A, other places (like here in Australia), web access is limited relatively at best. It's nice to be able to play games, edit things and test things when the internet is down - especially if you're playing a single player game. There is no greater frustration in the world when trying to play a single player game but being prevented because your internet is down - if you want to attract the single-player crowd then this factor is important too.

_________________
Deoxy wrote:
Xen watches us all go about our daily lives with his finger floating above the "Destroy everything" button.

Mooglegunner wrote:
Seriously, if there's an American in College who isn't on when you are, they're not working hard enough, or Liberal Arts Majors.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Mon Jan 19, 2009 12:32 am 
Offline
User avatar

Joined: Tue May 08, 2007 6:19 am
Posts: 1363
As I understand it, this technology allows anyone with Firefox to easily(?) host a server, and it should allow playing on a computer without internet access as well.

If lag really isn't a problem, then I have nothing against this.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Mon Jan 19, 2009 12:58 am 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Providing a small webserver would mean that a user did not need access to the Internet. The webserver would: listen for http transport requests on a certain port, pass the relevant tasks of parsing HTML,xml,php/ruby,xslt to the correct parser and then serving up the resulting HTML. As for the customization of Cos, units and such it would be done in the exact same way. The only difference would be That we would not need to bundle seperate source code as it would be openly readable and not compiled into .class files.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Mon Jan 19, 2009 10:56 pm 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
I was speaking with Crecen last night and he wanted to let me know that some customwars contributers had contacted him, worried they would not be able to contribute if the customwars implementation language were not java. I don't think language should be a hold up but some wish to develop expertise with a particular language and thats finet too. Playing as devil's advocate I would like to point out that it will be a difficult project to implement a browser offering since it is a new idea. It is the right thing to do but will be a hard ground to learn languages syntax on(which might be the best way to learn).

Guessing at the future based on the past, the repository reveals only stef and myself are contributing regularly I'd also include Narts as a main contributer. As the previous customwars was not developed under version control I cannot say who else we could expect to contribute through the year or determine the extent of their contributions but I would expect urusan to make an appearance at some point just even for old times sake.

So from that, in the new version we can expect Stef, myself and maybe alberttinglai and Urusan to contribute to the code but we'll also throw Nart's opinion as he is a core contributer.
Here is what I believe are the developers opinions:

Kevin (chom_chom): I would like to see customwars developed as a browserbased product with javascript/html for the client and php or ruby for the game logic. If it is at the expense of the contributions or enthusiasm of the other members then I am happy to just continue on with java just for the fun of it.

Stef: Stef's is doing this for fun but also to gain more experience with Java so he would prefer it continued to stay based java.

alberttinglai (Captain Vimes): Has expressed an interest in a browser based customwars.

Urusan: Has not expressed a preference.

Narts Would like it browser based.

Also:
St Johnston Also desires the project to be in Java

Are these opinions representitive? Lets not declare a decision made until the end of the month but at the moment it indeed looks like we are moving to another java distribution because otherwise we would lose stefs's interest and I would rather have a (regular) coding partner than develop in the completely appropriate technology.


Last edited by chom_chom on Tue Jan 20, 2009 4:30 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Tue Jan 20, 2009 4:15 am 
Offline
User avatar

Joined: Tue Oct 03, 2006 6:00 am
Posts: 320
Location: Scotland
If you want my opinion, I'd say I would prefer to keep it in Java. I wouldn't complain if it was changed to anything else, but I wouldn't be able to help with the coding/improve my Java knowledge either.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Tue Jan 20, 2009 1:09 pm 
Offline
User avatar

Joined: Fri Jun 23, 2006 2:34 pm
Posts: 3761
Location: Tennessee
Hi guys. chom_chom asked me to throw in my two cents, and I have a bit of spare time right now, so here it goes.

It seems to me that the two possible directions are incredibly different.

A browser based AW game is a very useful idea as long as three things are kept in mind. First of all, the current work done on CW will need to be completely discarded, since a browser-based game can't realistically be done in Java. The client-side code simply can't be in Java, and even the server-side code will require a special configuration for Java to work, so even though it is theoretically possible to write server-side code in Java, it is far from the first choice. Secondly, the pool of programmers that can work on a browser-based game is different, and in our case somewhat smaller than the pool of Java programmers. These people will be relegated to the sidelines unless they take the time to learn a new language, but perhaps we can find additional people who previously didn't have much interest in CW because it was in Java. For instance, The Sleeping Leg knows all sorts of stuff about databases and web development.

Thirdly, any browser based AW game is going to be in direct competition with AWBW, and it will need to be superior to AWBW if it hopes to be worthwhile. It might be possible for the new game to merely be very different, but considering that both games are copying from the same game, I really doubt that the difference will be sufficient without moving significantly away from AW. In that case, I think the best focus for a new browser-based AW game would be to upgrade/rewrite AWBW. If that is the goal, then I would suggest talking to the AWBW community to find out what the most desired features and improvements are, and if possible working with amarriner to improve AWBW directly.

I also think that trying to add a truly "custom" element to a web-based game will be difficult and possibly weaken the web-based game's advantages. I think that certain "custom" elements lend themselves well to a web-based game, such as CO/unit bans and tilesets, but for the most part these are either subtractive or cosmetic. I think that the "custom" part of Custom Wars should be seriously de-emphasized if we go this route, with more focus on the online community, user friendliness, and balance. It is tempting to keep the custom part by implementing community suggestions, but nearly any systematic community suggestion system is going to turn out the way our voting booth worked out - a headache for the programmers, a heartbreak for the suggesters who are rejected or never get their stuff implemented, and a balance nightmare.

A non-systematic suggestion system isn't necessarily a bad thing though...but I'd hardly call that "custom".

Also, the texture of the project will be different, because there will probably be one main server where most everyone plays, so edits to the main server will have to be better guarded and well tested, especially since posting your server code could lead to people hacking it. Even if the code itself is completely open, there will be administration details that shouldn't get spread around for security reasons, and changes to the main server will only be an option to a select few. Any person who wants to test their code will need a test server, or at least a properly setup account on a test server. Also, if they use their own personal test server, configuration differences could lead to disaster when that code gets moved onto the main server.

However, this path has several advantages, which have already been laid out by chom_chom, which can more than make up for the problems.

One last thing I'd like to add is that a web-based project does not necessarily have to be multiplayer-only. I think having an AI on an online game like this would be neat, especially since you can play with a mix of AIs and humans. This would increase the bandwidth issue though, as it would increase the number of games being played. In any case, if this path is taken, I think that such an extension could be kept in mind, so that a server-side AI controller would be easier to make at a later date.



On the other hand, continuing Custom Wars as a Java project has its merits as well. It dodges most of the problems I mentioned with the web path: we can reuse part of the old code, we can use more of our current programmers, it keeps the project completely open, it doesn't compete directly with AWBW, it allows us to better pursue the "custom" part of Custom Wars, etc.

However, it will take a lot more development work to put together, and especially if we want the "custom" part to be available to more than just our fellow Java programmers. This is partially offset by the large amount of code already available, but it will still be a huge task. In particular, one thing that I believe is absolutely essential for a non-browser version of CW is AI. With AI the playability of the game skyrockets, but without it there is just too much inconvenience for the average user. AI is going to be a massive amount of work. The web-based idea sidesteps this requirement by making it incredibly easy to start playing online and connect to other people, so AI is a much lower priority for such a game. Also, AI + the custom element will be difficult to get working together correctly...which is a fundamental problem. However, I don't think it's an unresolvable problem, as it will simply require us to make compromises between the two aspects.

I also think that there is a lot more potential in a Java-based program for flashy graphics and sound, since we will probably want to avoid streaming content like music online, lol.

When chom_chom asked me to talk about my ideas, he mentioned working on the web-based project separately. I think this is a good idea, having the two ideas become separate branches, with Custom Wars being a Java-based branch and the web-based project splitting off and either joining with AWBW to form AWBW v3 or getting its own name.

The only possible problem is that we may be splitting our forces too thin with this approach, since we don't have many coders to begin with. On the other hand, it only really affects programmers such as chom_chom and myself that could potentially work on both projects...though such programmers tend to be our most experienced.

By the way, about the engines that you guys were talking about earlier in this thread, it sounds like both GTGE and Slick2D are good, but I haven't really had time to look at them properly. TRPGM certainly isn't going to be ready for a while.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Fri Jan 23, 2009 2:35 am 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
Everybody had the change to read the developers opinions
so I think we can say that it has been decided, most developers want to create a java client game.

Now it's time to move on. JakeSamiRulz is pro java based(add him to your dev opinion list Kevin) he already began to code praxis even before Kevin came around and proposed to use it as a base for cw2.
I think it would be better to start from scratch and If code from praxis is relevant to an issue in cw2 then of course it will be used. But dumping all the code on google code and saying we all should use it... is not the way.

He created a forum I think this is a good move, discussions about code are not very interesting to all visitors of this forum, most only care about the end result. So if jsr agrees on starting from scratch we can use that forum for cw2 to talk about code,design,problems,howto,patches...

while on this forum we can handle bugs, new releases, downloads, general talk like what should be included in a plugin.

I suggest we start in java2D and Swing using repaint with static images just like cw1 but Differently.
Keeping in mind that we will change to a game engine later on. Why?
This allows to fine tune the logic(model) without complicated graphics. The logic does not depend on the gui so we can plug it into any graphics engine. It sends events when something(any value) changes. A JFrame can show these events to aid debugging. This is similar to the events in cw1 used in replays.

Further this means that classes should not extend JComponent. Instead they render them self to a Graphics2D graphics. This can be achieved by defining an interface for (non swing) components that can paint them selfs. In cw this is called a Screen. Each Screen needs resources, input(mouse,keyboard), and can paint. Further We can swap between screens(Main Menu, Options for example) so we have to start/stop a Screen.

Interface Screen
loadResources(Resources resources)
init
start()
render(Graphics2D g)
stop()
I +- used this approach when porting menus from MainMenu
State interface

and there is so much more to talk about, ... A List of tasks that needs to be done, dividing responsibilities, class headers how should they look, some code rules, Basic outline the list goes on.

Compromising:
So JakeSamiRulz do you agree to start from scratch keeping praxis in mind when we need a functionality that praxis offers, can we use your forum/google code
Kevin do you agree on using java, for the fun of it and to keep the dev team spirit up :D You have by far the most expertise in running projects it would be cool to get a basic outline written down of how the project will look like etc on a separate forum. As I think this was a problem in cw1 where it wasn't always clear what direction should be taken or why that direction was taken(why favour gif over img for example) or asking in code what exactly this new feature was doing there. Basic outline is needed before we start coding.

Challenges:
Quote:
the "custom" part to be available to more than just our fellow Java programmers.
AI is going to be a massive amount of work.


Waiting is tense, but if we wait to long some will fall asleep or start early.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Fri Jan 23, 2009 6:35 pm 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
Hi guys, I've been busy getting back to work so my commit rate has taken a hit in the past to weeks! I'll still try and put the time in to finish the last bug with the server side stuff before the end of next weekend but the milestone may slip a little.

Professionally speaking, choosing anything but the very best set of circumstances for success is the wrong thing to do if the aim were for the customwars to achieve a high adoption in the commercial market. I detailed and justified the reasons why this is less likely to happen with a java based client.

In saying that, Stef will likely be doing the majority of the programming and his main motivation is to achieve more hands on experience with java. Also there is the possibility that Urusan may make some contributions in future. The majority of other active community members seem to have an affinity with java and so it will in a sense be more accessible to them and if the purpose of the customwars project is to share in the experience of making a java based game with friends then this route is absolutely fine. I will continue to join in with the customwars project just for fun but will likely commit less code and prefer to contribute in way of design comments, bug fixes and code reviews.

I have started another project in realization of the potential for a web based version of customwars. There are currently no javascript games which achieve the kind of fully polished feeling that I'll want to achieve so it will indeed be a hard slog but my incentive will there in the fact that I feel its affect will be much further reaching.

Lasker
http://code.google.com/p/lasker/

I would like to reach out to Narts and ask if it would be possible for me to use the graphics which he is creating for the intention of use in customwars as I think the are just excellent.

Back to customwars, it would be a very bad move to once again move to any new forums purely because they are new. I disagree with the fact that people are not interested in discussions about development of the game, hence why I suggested we converse openly here rather than in the private planner. It is only the people interested in development who are in here anyway.

I think a good first move would be to get the base framework of slick 2D and then developing a screen where you can right click and a floating menu appears. I'd rather achieve this modest task before doing any long term planning which will inevitably be affected by the things that we couldn't have considered yet. I say Slick2D of course because it is the better choice of framework, developed and maintained with a wealth of experiences contributed by other developing on top of it which "praxis" at this current in time cannot offer.

If you wish to start developing lots of documentation about class names and function calls and the divisions of their responsibilities you can but chances are that you will be the only one who will study it and its upkeep will fall by the wayside like all documentation. A better idea would be whenever you wish to explain your thoughts about the direction of the design, illustrate them in high level uml diagrams. These are faster to achieve (I wouldn't bother with uml tools) and you can then get on with the coding.

We can start the new cw in trunk/cw2


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Sat Jan 24, 2009 6:36 pm 
Offline
User avatar

Joined: Tue May 08, 2007 6:19 am
Posts: 1363
chom_chom wrote:
I would like to reach out to Narts and ask if it would be possible for me to use the graphics which he is creating for the intention of use in customwars as I think the are just excellent.

I'm making those graphics for Ad Hoc Wars, the game, not Custom Wars or any particular engine. If Lasker ever reaches the state where it can provide the functionality specified in the design of Ad Hoc Wars, the game may be ported for it – and the same goes for Praxis / CW2. Until then Ad Hoc Wars will use a branch of the CW1 engine, much like CW:BD does.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Sat Jan 24, 2009 10:13 pm 
Offline
User avatar

Joined: Tue Oct 28, 2008 8:51 am
Posts: 121
@Narts Good call. Kind of like a truly open source story/game/graphics/gameplay situation.


Top
 Profile  
 
 Post subject: Re: Choosing a framework for the base of customwars
PostPosted: Wed Feb 04, 2009 10:02 pm 
Offline
Main Coder

Joined: Fri Apr 04, 2008 10:50 pm
Posts: 169
chom_chom wrote:
We can start the new cw in trunk/cw2

What about new Issues won't they get lost between cw1 issues? We could add [CW version number] #issue number issue description, but won't that become confusing? The issue list should provide stuff that needs to be fixed and it should be the task of the programmers to keep it short. With CW1 and CW2 issues together into 1 place it becomes messy. But all the programmers are already added to this repository I guess that is the main reason not to start another google repo?
So chom started a web version that will compete directly with awbw, and there is also praxis witch is a gui util layer?

So it has been decided, we start coding in slick2D, i'll come up with a todo/goals list so we can work towards that.
That means no Swing code, we need an openGL gui.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2  Next

All times are UTC + 9:30 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Blue Moon by Trent © 2007
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group