Creating a computer-aided version of WCTO

Ironduke

Spaceman
We'll eagerly await completion of phase 3, then. :p
No need to rush things - as I said, I really like the progress I'm seeing!
 

Avacar

Vice Admiral
Phase 3: 50% Complete

I made huge progress today. I seriously just put in about 20 hours straight, and wrote a decent amount of new code. None of it is related, thus far, to the work you've seen demonstrated. This was the first step for me to learn jquery as a new javascript interface, and to pick up on AJAX techniques. I chose to build a ship-input system to build the 'templates' from which ships are generated. Not all stats are here (like the current number of chaff pods/hull points/shields) as that is not part of the 'generic template.

To use this form, you'll need the WCTO manual.

I've built the form to map around one of the manual entries for a ship. The Rapier page is present as a reference, and it initializes with all the Rapier data. Be Careful to Erase The Rapier Data Before Submitting. I haven't updated the form to let us 'edit' the data yet, although I can do that directly into the database if need be. I may consider making the ship names along the top clickable to pull up their data for editing in the near future, but that falls as a lower priority over getting back to the real coding.

So, this is my first call for general help! All you lurkers out there, especially fellow WCTO players, open up the manual, and stick a few ships in! The 'credit' field is so that I can know who to thank for helping, down the road. Every ship that goes in saves me the same time, and I can push forward on the real game code.



This was also my first attempt at using some special effects. What do you think of the slide-and-drop-open the main window does on entry? I'm considering that for the pop-ups on the ships. Will that be cool? Annoying? You guys tell me. I'm especially pleased with the 'weapon builder'. That thing took literally 6 hours on its own (probably because of my inexperience, and not because it was necessarily hard).

If you *do* find bugs, please report them. I'm sure there are many. If you accidentally submit bad data, let me know so I can fix it.

I say that Phase 3 is 50% done, because its main purpose, in truth, was to be a learning experience for me with jquery and ajax. I'd say, after this, I'm ready to do pretty much everything WCTO will need me to do. I'll take a coding break tomorrow to handle unrelated work, but then building the status pop-ups to be populated with database info on the current ship for a given turn/phase (i.e. what you saw at the end of phase 2, but with a pop-up) should be child's play now in comparison to the ship-submission form. It is likely a lot closer to the order-writing form I'll have to develop down the road.

edit: Please note very carefully the spelling of the ship in question. The name field is tied into a lot of things, so be sure to capitalize, etc. Realistically the biggest exception is the 'Rapier II' since it has a space and roman numerals in the ship name, but if you guys add mispelled ships, I'll have to do them again or they won't find their graphics, link to their template data to their per-game piece data, etc.
 

Triple-B

Rear Admiral
sorry to be slow on the uptake, but did I understand your project correct avacar, you want to make tac ops playable via internet with other players?

will there be also an AI in tac ops, to play against the computer?
 

Humungus

Spaceman
I'm... surprised you were able to do it so quickly and this nice, especially since you said this was your first experience with the languages used. You, sir, did an outstanding piece of work. :)

As for the menu, it's a really nice feature, but for the games itself, I'd either speed it up a bit or make an option that allows disabling it. When you have to check more ships in a short time, it can get a little annoying.

There's a little issue with the form though, how do you handle the cap ships? I mean, they have as much as 4 digit hull strenght and their turn rate and acceleration are below 1. (so far I see that the form can accept two digits at most)

And I've entered a Broadsword and an Epee, so please check if they're the way you want them to be. ;-)
 

Avacar

Vice Admiral
Humungus:
I'm *intentionally* slowing that animation down right now. By like 15 times its normal speed. I can speed it up again for the game (and for this form if you think it is annoying).

Good call on the form limits; those were impossed by me. Later today I'll post that I've allowed 4 digit numbers for cap ships. I'll check the data format at the same time.

Triple-B: Yes, the plan is to fully automate WCTO so we can play over the internet without ironduke having to roll dice. (We already play over the 'net, but we do it by email right now). As for an AI.. I have no plans currently for that; AI coding is a whole field to itself.. but maybe one day. It certainly won't be out at launch.
 

Humungus

Spaceman
I mean, it's nice as a show-off, but can be annoying if you have to use it frequently (an example comes to mind, if you have ever played Privateer 2, the loading times and animations on the PAD were horrible.)

There's also the question of less-than-one values, how do you want them written, 1/3 or 0.3? Or even somehow else?
 

Jason_Ryock

Vice Admiral
Triple-B: Yes, the plan is to fully automate WCTO so we can play over the internet without ironduke having to roll dice. (We already play over the 'net, but we do it by email right now). As for an AI.. I have no plans currently for that; AI coding is a whole field to itself.. but maybe one day. It certainly won't be out at launch.

You might re-think this at some point, writing halfway-decent AI Scripting (especially in PHP) is not as difficult as you might think it is. I wouldn't do it by launch but down the line it's as simple as making a ship move in one of two directions (towards the target or away from the target) and making it attack when necessary.
 

Avacar

Vice Admiral
I've put up an update! Hopefully it solves more bugs than introduces.

As for the menu, it's a really nice feature, but for the games itself, I'd either speed it up a bit or make an option that allows disabling it. When you have to check more ships in a short time, it can get a little annoying.

There's a little issue with the form though, how do you handle the cap ships? I mean, they have as much as 4 digit hull strenght and their turn rate and acceleration are below 1. (so far I see that the form can accept two digits at most)

I have also fixed the form size limits; you can now input 4 digits into hull. If any others need elongation let me know. I've also added a 'fighter compliment' value. Technically, the game will have no problem letting you dock your rapiers 100 on your ferret, but let's not do that, shall we?

And I've entered a Broadsword and an Epee, so please check if they're the way you want them to be. ;-)

Yep, they look good in the database, although I haven't compared the values against the book to check for errors. We can do that collectively closer to release. (i.e. I'll just dump the database into a pdf or something and post it for error-checking).

I mean, it's nice as a show-off, but can be annoying if you have to use it frequently (an example comes to mind, if you have ever played Privateer 2, the loading times and animations on the PAD were horrible.)

There's also the question of less-than-one values, how do you want them written, 1/3 or 0.3? Or even somehow else?

Yeah, I probably got a little animation happy. I can't take any credit, really, since I'm using canned ones provided to me through the awesome jquery UI. That said, I've returned the animation to something much closer to normal. This still isn't its "full speed" per se, so it can go even faster on the board. Thoughts?


You might re-think this at some point, writing halfway-decent AI Scripting (especially in PHP) is not as difficult as you might think it is. I wouldn't do it by launch but down the line it's as simple as making a ship move in one of two directions (towards the target or away from the target) and making it attack when necessary.

With respect to 'new features', my current plan is to get WCTO to the point where we are 100% replicating the game we had with Ironduke manually running it, which is to say the v.14 manual, and human vs. human only.

That said, the 'future features' I suspect I'll be adding shortly after release, but after discussion with Ironduke are:
  1. Experience system for Pilots to gain ranks (and pilot bonus) naturally instead of through 'Game Master' control
  2. Ship Component System. This is hinted at in the manual, but no rules exist yet. I've put in hooks here and there already, but it will take a bit of re-writing to handle.
  3. Ability to control multiple ships. This one shouldn't be hard, but it is not part of my current plan. At the moment, you'd need multiple user accounts to control multiple ships at once.
  4. The ability for players to set up games themselves, and set a 'point limit' on a per-team basis. (At the moment, games will still be created by delegated 'game masters', likely Ironduke or myself for the short term, using a game-creation interface I have yet to build). Note that this will also require the game understanding 'teams'. At the moment, it only really understands 'race', and assumes everyone of a race is allied (which only matters for FF missiles anyway).

Once we get through that, and any 'simple' suggestions, then I might consider AI coding, but I'd have to do some reading. If you say it is easy, I'll believe you, but I can see some fairly long decision trees (okay, I've got an FF on me, do I afterburn? Do I chaff? Instead of a straight afterburn, do I turn this into a burnout? When should I barrel roll? etc.) If the AI always went for the nearest target, you guys would fly circles around it.
 

Ironduke

Spaceman
The "A" in "Avacar" must stand for "amazing!" ;)
I've edited in the Ferret, Grikath and Sartha - and noticed there's an editable ship description at the bottom as well when I finally got to the Sartha. Oh well... I think you'd better disable that description for the time being - it's a chore to have people type all that stuff from my manual, when some of it might need a little rephrasing anyway...

So far, I like the entry form. Only issue that came up was that the weapons loadout window was a bit too small on the Grikath. (Ships with more guns and missiles would need a little extra space there...) That's only a minor gripe, though, compared to what's already working. I'm repeating myself here, but: Wow! :eek:

I'd say, let's not discuss future features until we have the basics worked out. There's a lot of potential to this - and I have lots of campaign rules and other stuff sketched out here which I'd like to pour into this project. However, Avacar is doing a great job, and I'm grateful for every step he takes in making all of this possible at all. I absolutely wouldn't want him to build Rome all in one day... :p
 

Avacar

Vice Admiral
Hi Everyone. I have a nice Phase 3 bonus for you. With the skills I picked up on Saturday, and using the framework I built for the Phase2a demo (i.e. this is not database fed, like the real game will be), I give you Fun With Rapiers. The formatting on the dialog is a bit chunky, but it took all of 30 mins to do this entire demonstration.

My next update will likely be longer in coming, as I now have to tackle the actual Phase 3 objectives (build the ship info dialog, and weave it into the code so it is turn/phase database fed. I also intend to build the pilot class, which I haven't done yet, and tie it in).
 

Ironduke

Spaceman
It takes five years, three artists, an astronomical budget, and a failed marriage to build a successful browser based PHP/AJAX game.
Okay, looks like we're missing the astronomical budget and a failed marriage so far. Anyone care to help? :p

Avacar: I like your newest update! Can't wait until we're able to play around with the real thing...
 

Avacar

Vice Admiral
There's also the question of less-than-one values, how do you want them written, 1/3 or 0.3? Or even somehow else?

Oops, forgot to answer this. For all less-than-one values, please use a decimal notation (aka 0.3). Perhaps not as pretty, but necessary.
 

Avacar

Vice Admiral
Hi everyone, I've been busy IRL this week, so I am not yet finished with phase 3.

That said, I have just finished my Terran pop-up demo. This isn't yet dynamic (which is required for me to be finished phase 3) but I welcome opinions/advice on its look/feel/spacing. I'll probably push through and upload the Kilrathi equivalent very soon.

One nice point to note, however, is that I've nailed down the afterburner sprites for all ships now, done exclusively through CSS to manipulate how many are shown. I'm not going to show you the demo, but I have tested it out.

This same link will also get the order-submitting control demos in the 'near future'. the last step is to make this first window dynamic and linked into the phase 2 demo.

Without further ado, the static window testbed
 

Ironduke

Spaceman
Not sure if it's just me, but the font doesn't work here. (I'm taking a wild guess, but maybe it's because you're reading some of the text from variables...?) The font size is also very small, and the formatting is off...
That being said, I think we could easily do with a pop-up info screen half the size of this monster. :p (I know it's the same size I've used in previous games, but...)

PS: Any chance you could make the pop-up window 20% transparent somewhere down the road? I somehow grew fond of that in Game 005. :p
 

Avacar

Vice Admiral
I *can* make it transparent, but with the green background, it just darkened the whole thing. I'll re-enable transparency downt the road when I put it over the grid background. Maybe I'll change the demo page to do that now as an example.

As for the fonts, CSS only supports allowing you to see fonts you already have, so I can't force a font on you. What part of the formatting isn't working for you? also, which browser are you using? I am only designing for mozilla or webkit enabled systems at the moment (i.e. anything but internet explorer).

I agree this is huge, but it was my attempt to re-create what you'd had. So with that in mind, do we want to make it smaller, and if so, in what way? Is the font size good, but reduce the image size? Should I remove the ship image from the top-right corner, and make it look more like the game 005 popup (whereas this was based on the Scenario 002 pop-up)?
 

Jason_Ryock

Vice Admiral
I'm using Chrome, and it looks fine to me. Checked in firefox, and it's good too.

It looks terrible in IE, which I am not surprised by. IE apparently has issues rendering PNG's properly, not sure if you're using those or not. I'm using IE 8, 64-bit on a Win7 OS just so you know.

For one thing, your gradiant background isn't showing, the 7+ isn't centered in the crosshairs over the ship image, and some of the text is cut off . Dunno what else to tell you really. Messing with Cross Browser Comparability issues is a freaking nightmare. I would highly recommend with this community and with such a small user base, that you just tell everyone to get a modern browser (either Chrome or Mozilla).

It's important to remember when developing browsers that IE and Microsoft by extension refuse to adopt the web standards. So code that works perfectly and looks perfectly fine in every other browser on the market just isn't going to work in IE. It's unfortunate, and frustrating.

EDIT: I attached a screenshot with the three browsers open and displaying the same webpage to highlight the differances.
 

Attachments

  • wcto-iebug1.jpg
    wcto-iebug1.jpg
    1.2 MB · Views: 128

Ironduke

Spaceman
@Avacar: Yeah, transparency isn't something I was expecting right away anyway (since it's really only a cosmetical thing), but it's good to know it's possible.

Re the browser issue: I'm currently running Firefox 3.6.7. So the explanation lies in the fact that you have to have the font installed on your system... I've installed Lady Ice, but not Space Gothic, which is why it's messing things up here. I'm attaching a screenshot for you to see what I mean. (Lady Ice is much more narrow than the rest, so this is probably why it's screwing up the layout.)
I noticed that - in Jason_Ryock's screens as well (thanks for your feedback!) - the ship name, ship class and weapon loadout are in Times, while the rest of the stuff seems to be in Verdana. (That's why I assumed you were drawing all the Times parts from variables.)

Generally speaking, I liked the Game 005 info size much, much more, but I don't want to lose the "3D" ship pics either. So maybe we can leave the general font size the way it is (and reduce the size for ship name, class and player name, along with a smaller Confed/Kilrathi logo) and just use the available space more efficiently. I think I'll try different layouts and send them your way asap.

By the way, would it be better to have the gradient background as a png?

Another thought: Since we're getting a lot of links in this thread, why don't you create a thread where you collect them all? At least those you want to keep, like the ship entry form and the most recent demos. I could just sticky it then. :)
 

Attachments

  • scrncap.png
    scrncap.png
    236.9 KB · Views: 114

Wedge009

Rogue Leader
I am only designing for mozilla or webkit enabled systems at the moment (i.e. anything but internet explorer).
Presto and KHTML are two other layout engines you might want to consider. Although I'll grant that Trident, Gecko and WebKit will cover the vast majority of the Internet population, you can't really say that Gecko and WebKit cover 'anything but Internet Explorer'.

IE apparently has issues rendering PNG's properly, not sure if you're using those or not.
From what I understand (which may not be necessarily accurate, I'll admit), IE7+ will correctly render PNGs with transparency. IE only falls over when PNGs include gamma/colour correction.

It's important to remember when developing browsers that IE and Microsoft by extension refuse to adopt the web standards.
They did in the past, but since IE7, they've actually made some good progress in the direction of standards compliance. Trident is still far, far behind the other major browser engines, but you can't really say Microsoft refuses to adopt web standards any more.

So code that works perfectly and looks perfectly fine in every other browser on the market just isn't going to work in IE. It's unfortunate, and frustrating.
And since the majority of the Internet use IE, the standard practice is to write according to web standards first, then selectively patch for IE.

Regarding the gradients issue, my understanding is that CSS3 selectors like gradients aren't yet fully supported by the major browsers. Certainly, you can try the non-standard extensions implemented by each of the rendering engines, but as Jason put it, writing for and testing five sets of browsers is a 'freaking nightmare'. Even if you choose to only check Trident, Gecko and WebKit, that's still a lot of work.
 

Avacar

Vice Admiral
Presto and KHTML are two other layout engines you might want to consider. Although I'll grant that Trident, Gecko and WebKit will cover the vast majority of the Internet population, you can't really say that Gecko and WebKit cover 'anything but Internet Explorer'.


Even if you choose to only check Trident, Gecko and WebKit, that's still a lot of work.

Fair; you're absolutely right that mozilla and webkit isn't enough. I can look into getting a presto and khtml-based browser as well and see which switches are necessary in the CSS. You're also correct that some of the things I'm using right now are CSS3, meaning they aren't finalized (specifically the gradients and rounded corners).

That said, at the moment, I am simply not going to bother making this work in IE. Here are the current 'system requirements' to play the automated WCTO:
  • Javascript Enabled
  • Possibly Cookies (for session-to-session login memory, not yet in use)
  • NOT using IE

Considering I'm not asking you to buy any new hardware or awesome graphics cards, I think 'NOT IE' is not unreasonable for the WC community. Maybe once I'm done all the php coding, I can look into getting everything also working in IE with its weird 'filters:'.

Re the browser issue: I'm currently running Firefox 3.6.7. So the explanation lies in the fact that you have to have the font installed on your system... I've installed Lady Ice, but not Space Gothic, which is why it's messing things up here. I'm attaching a screenshot for you to see what I mean. (Lady Ice is much more narrow than the rest, so this is probably why it's screwing up the layout.)
I noticed that - in Jason_Ryock's screens as well (thanks for your feedback!) - the ship name, ship class and weapon loadout are in Times, while the rest of the stuff seems to be in Verdana. (That's why I assumed you were drawing all the Times parts from variables.)
This is definitely an issue. I put in the fonts you used previously, but then I don't actually have said fonts, and so I did the formatting for the other fonts, in truth. I suspect the screenshots you see out there are because others are seeing it the way I am. For the time being, I've now removed the references to 'space gothic' and 'lady ice' so that everyone sees it how I do.

I honestly don't care that much about things like fonts, so if you guys can, as a collective community pick a few "standard" fonts that "everyone is likely to have" I can get the layout to work for those fonts in particular, but as I stated at the outset, CSS is *not* my forte, in fact, I'm learning most of that side as I go. The php/mysql/etc. is where my own skillset lies, web-wise. If anyone else who has time and better CSS skills wants to jump in, I'd be happy to work with them.


Generally speaking, I liked the Game 005 info size much, much more, but I don't want to lose the "3D" ship pics either. So maybe we can leave the general font size the way it is (and reduce the size for ship name, class and player name, along with a smaller Confed/Kilrathi logo) and just use the available space more efficiently. I think I'll try different layouts and send them your way asap.
Sounds good. I can size-down the 3D picts, or we could make *those* part of the background, or any number of things. that said, once I'm done prototyping all the windows I need, I plan to push forward and finish phase 3, and then move onto the harder (but more interesting to me) phase 4. I would, in such a case, come back and revisit these windows later. (For that matter, I can release all the available divs/classes currently in use here on the forum, and you guys can take a cut at laying it out differently. As long as the core divs don't change and only the CSS, the php doing the output won't care and I wouldn't need to do a code change)
[/quote]

By the way, would it be better to have the gradient background as a png?

Um, maybe... I could use a fixed, correct-sized background image, but then if we wanted to change the window in the future, we'd need to change the image. I'd prefer to keep it as much done on-the-fly as we can.

Another thought: Since we're getting a lot of links in this thread, why don't you create a thread where you collect them all? At least those you want to keep, like the ship entry form and the most recent demos. I could just sticky it then. :)
Um, sure. I'll do that in a few minutes, with the current phase progress and all the demos.

It looks terrible in IE, which I am not surprised by. IE apparently has issues rendering PNG's properly, not sure if you're using those or not. I'm using IE 8, 64-bit on a Win7 OS just so you know.

It's important to remember when developing browsers that IE and Microsoft by extension refuse to adopt the web standards. So code that works perfectly and looks perfectly fine in every other browser on the market just isn't going to work in IE. It's unfortunate, and frustrating.

Yep, I'm well aware. I hate to sound a bit elitish, but I have honestly *never* used IE. I used Netscape Navigator back in version 2 or so, and have progressed since. Anytime I've tried IE, I've been disappointed or annoyed. At the moment, without switching over to something completely browser neutral like flash (which I have no skill in whatsoever, and no one with such skill has stepped forward to do this for Ironduke) we're just going to absolutely ignore IE for the time being. If this is a serious problem for you guys, as I suggested above, I can come back and try to make it also IE compliant later. (I've had to do that before, using fixed icons for rounded corners, using all the IE crazy 'filters:' etc. for special effects... but it is a pain). I will, however, try to look into making sure it does run in Opera and Safari as I expect it to, in addition to Groove and Firefox.



---------------------------------------------------------------
now in a completely unrelated note, the window-demo has been updated with my first cut at the 'Movement-Phase Order Submission Window'. It doesn't actually do anything, but it should be fully navigatable. I've shown it with the terran colour scheme.
 
Top