Yes. ZBattleship is a very wonderful wad I am making, though at the moment the ending is incomplete... (Skip the next paragraph if you don't care why I started this and the one after that if you don't care how I made it or how detailed it is and skip the rest of the whole freakin post if you don't care about ZDoom or ZBattleship at all.)
See, I was randomly wandering a pile of ZDoom wads one day when I came across a wad named "Doom: The Arcade Game"... I like arcade games (except for the extremely simple 8bit ones that go on forever and ever, sadly) so I tried it. It was never completed, only one map long, but it also had these two minigames included in it as secrets... One was "Marine Lemmings" and the other "You Sunk My Battleship". The latter interested me, so I played it. You had to aim the cannon using buttons for left and right and faster and slower and arch and all and fire rockets that acted like cannonballs at imps on their own little ships. Hit an imp, ship sinks. Imp fireballs you, you get hurt. There was a room in the back for healing that only works three times before you die and lose. It was fairly hard, though the fireballs kept hitting the wall and stuff, because you had to manually aim the cannon. This wasn't much like battleship at all. I needed to make a better one. One you could even play against with friends.
So I started making ZBattleship. Originally it was supposed to be exactly like the wad I took the idea from but with your own ships and a grid to shoot at. The idea is, you shoot the grid where you want to fire your cannon. Shoot square B3 and the cannonball is automaticly aimed and launched at B3. But then I wanted to let the players place the ships themselves so it was different every time. So you can do so. I had to create and tag almost 200 map spawnpoints and sectors to allow this. I made the ACS script print out a nice big "Building Phase" sign and a set of instructions on how to build ships and such. The actual ship building script got rather complex when ships started taking up more then one square, so I limited it to each ship having exactly 3 parts. So you shoot the grid to build a 3 part ship with the center being the square you shot. But it's not the same if you can't rotate the ship, so I made a switch appear next to the board for the building phase that allows you to change the rotation (it tells you which way it's rotated too). After you build 5 ships, it closes the dart board and waits for the other player (if there is one) to finish building then it closes their board too and goes into the next phase, the "Fireing phase". I originally tried to make it so the cannonballs would actually launch at their targets, but then they usually didn't make it because another ship would block the way or something, as it's made of sectors and all. So I made it launch them into the wall between the sides of the board and then suddenly appear over their target and drop on them. The ships sink piece by piece, so it currently looks funny if you hit the middle and the two sides are left over just sitting there... heh. A little marine sits in the middle piece of each ship and gets crushed when the cannonball hits. When one side has no ships left, the little window with the camera in it and the dart board close up and the lights go out... Then the room is filled with a glowing red light that slowly glows as would a red alert in a sinking ship. And what do you know, the room starts filling with water. When it's all full, you will inevidably drown. Poor loser. The winner's grid will open and move out of the way revealing a passage to let them inside ... somewhere.
Anyway, if you skipped all my babble, here's a simple list of stuff. (It contains things I didn't mention thus far as well)
- You have a dartboard that you can shoot to place and fire cannonballs at ships. The dartboard's squares can each change from their normal blue to red or white based on if you hit or miss (or just red if you're placing ships).
- You have a switch that appears while building that allows you to rotate ships
- You can play against a scripted bot that (currently) only chooses random squares, either JasonBot or the first ZCajun Bot you add to the game.
- You can play against a friend if you can get a netgame going.
- I can set it to play in realtime rather then classic turn-based mode by recompiling the script.
- I can set it to play a bot vs. bot game by recompiling the script. (In realtime mode, it removes the speed limit on bots so you can see how insanely fast they can go at eachother)
- Players 3/4/5/6/7/8 spawn in a spectator room where they can see both player's board cameras (but not their dart boards) and get modified versions of the announcements made to all players.
- I really really really abused special effects in this, if you didn't get it by now. The ocean looks like it goes on forever and uses BOOM's cool texture warping effect, all the text fades out and some of it types itself on, etc.
- You are forced to use a dumb pointer 'weapon' that is harmless and fires slow-moving plasma ball things that have to be harmless and slow-moving for the dartboard to properly detect, sadly. It looks kinda cool though.
- I made three custom textures for it, one is a black and red grid for the center wall outside, one is for the sky, and the third is like THZ's over-abused metal texture with rivets and I used it for the battleships, as none of the other textures fit quite right.
ACS scripting, DECORATE, and ZDoom's advanced features are really awesome. There are very few things that CAN'T be done, most of which I would actually hate having done anyway (Such as 3D model use, which I greatly dispise for some reason) and the rest of which can be added to the ZDoom Community Build project. Other then that, there is also a complete lack of FOFs, which also sucks a bit, but I can deal with it... At this time I am able to make a 5-sided cube FOF with the floor switching from top to bottom as you go above/below it, but it is very hard to set up.
As soon as ZBattleship is complete (Everything listed here is complete, all that's left is proper music and the rest of the ending after the looser drowns and the winner goes into the happy place) I will attempt, with everything I've got, to write SRB2 support into ZDoom. Making a port of Srb2.srb to ZDoom would be easy, but I'm going a step further, I will try to make ZDoom support Srb2 without any modifications to Srb2's files
whatsoever, and thus they won't need to be included in the package and you can use it as openly as you would any other Doom game. You can't bother me with legal issues, I'm just making a "sourceport", the iwad's copywrite is still uninfringed, if such a copywrite is possible with Srb2's Sonic theming. Wish me luck if you like, I'll sure as hell need it, ZDoom being in C++ and FOFs being 3 dimentional and all...
Thank you for your time.
*Wanders into the abyss, never to be seen again...*