ID:116915
 
So I've updated Tanx again, they are as follows:

Ver 0.5
-Added Shotgun Turret
-Added Tri Chassis
-Added Spike Chassis*
-Added "Please Wait..." label to signify loading.
-Added more music
-Balanced things a bit more
-Expanded AI, capacity now six/team
-Added Difficulty for setting AI (Host Only)
-Scores Now work: Hold Tab to show score.
-Win/Lose Mechanic. First to 50 wins, then game resets.

*Spike Chassis cannot use a turret. To defeat your enemies, simply ram into them. It's a Kamikaze type.

There you have it, progress was a bit slow but I pulled it off (barely). As I was working on it I managed to add a few really nice effects but they ended up having some strange and serious issues that made them useless. Music Fading in/out and things like that. It was for the music Chooser but I think I'm going to have to recode that entire bit, no problem though, I only want the best for the players!

Anyway, I managed to get a hold of a laptop with a 2.2Ghz Dual-Core and you will be amazed (maybe). Now after doing some quick tests, with 3 AI per team (12 total) the CPU for the game was at 25. Not bad, considering it runs about 50-60 on my single core. At 6 AI per team (24) my single core was running ragged around 70-90, The dual-core? 26-30.

I'm going to test it tomorrow, and you may think me insane, but I'm going to do it: 25 AI on each team for a total of 100 AI mobs and probably about 200-300 mobs in total (includes projectiles). I want to see just how far I can push this. I may even go as far as to start developing huge arenas for massive battles, not sure yet.ho knows, I may even make an RTS out of it.

Anyways, go ahead and use the link on the side to check out the newest Version of Tanx, anyone with the game already should have gotten an update for it anyways. As always, let me know what you guys think =)
How does loading work exactly?
it's less of loading and more like, collective lag. There's one proc runs when you first start the match and it's super duper intensive. So, I slapped a "Please wait..." label on there to let people know it's loading up the match , in case they thought it had crashed. It loads much faster on a Dual Core.

If the filesize for the game starts to encroach on 4mb (it's at 1.7 now) I may just remove the rotated icons and then have the game generate them and load them into the cache at world start, then it would have a true loading screen, showing the progress as each icon state is rotated and cached. Or I may just do that ASAP considering that pregenerating and saving them is much more of a hassle than just letting the game do it temporarily with a lovely loading screen.
Spike chassis is OP, facing off against one in a slower tank is guaranteed death, they take out all of your health in roughly a second of contact. The shotgun seems to fire a bit quickly for the amount of damage it can put out, but otherwise is pretty nice.

So far, I have no reason to want to use anything besides a Tri w/ shotgun or chaingun. The other weapons/tanks simply can't compare because the added health of the slower tanks is pathetically negligible, and the other weapons simply can't dish out the same damage with as much consistency, barring the spike chassis, except that it is a kamikaze and you can't get more than a couple of kills with it.

Also, the cursor is black, the roads are black. Kind of obnoxious trying to aim on roads.
Hmm, I will take all these issues into consideration!

This helps me a bunch when it comes to balancing, and I agree with you mainly. I will get to work on it as soon as possible. =P
Nice to see you're above throwing a hissy fit whenever someone offers suggestions/criticism. Far too many people on BYOND simply assume that if you're not kissing ass, you're bashing the game and/or its creators.
Heheh, well, hopefully we see less of those hissy fits in the future. Personally, I like the criticism so long as it isn't: "hurr-durr, your game sucks cuz it's hard. lol!!!11"
In fact, I'm looking for another bit of help. On a 3.4ghz single core CPU, when the game boots with the new icon caching it takes 20-25 seconds to load. I haven't tested it on a dual core but you're probably looking at about half of that. Does that sound like a reasonable amount of time for it to load, considering that the game is now around 600kb zipped instead of 2mb?

I know that filesizes are negligible, however this makes the creation of new turrets super fast and easy.

It's up to the fans really. If you want me to go to the old way of keeping them in files and the game boots up right away then I can o_o.


http://dl.dropbox.com/u/25108410/Tanx_loadtest.zip

If you want to check how long it takes to load on your PC you can try out that build. Let me know how many seconds it takes and your CPU speed/type if you can. Thanks!
Takes me 15 seconds to load with a 2.8GHz quad core. I would say go with the in-game generation of states, 15-30 seconds for the host to wait before starting matches is negligible, and it allows you to pump out content more easily. It also helps for people with crappy internet(like myself), to whom 2MB is a decent download.
Awesome, besides, most byond hosts have bitchin' CPU's in the first place, so, unless you're a recluse, playing the game all alone, you'd be joining or hosting a server.

I think I will release a side version for single player only which has the icons pregenerated and saved so that if you just want to play alone, for whatever the reason, it won't take the time to load.
Thanks Yut Put, it means a lot to me.
What exactly does the loading do? It sounds like you're doing something with icons, but icon operations can be performed on the client now - is this an issue anymore?
It's basically to allow serever that will host for long periods of time to host their game and it will generate the icons rotations on the spot. it takes about 1-2 seconds for each turret. Botting the server is relatively quick and it keeps the filesize of the .zip to under 1mb, which is pretty good considering what you see on the screen.

This also makes iconning very easy for me, as I only have to make six icon states for each turret and I'm done, before I would have to use a separate byond project to rotate and save the icons each time I added a new one.

I will be making a version that includes the icons for people who don't mind the filesize.

I would have them created by the client, but the AI mobs can't generate their own since they have no client. Either way the server will have to generate the icons for the AI, so the clients might as well use those instead of making their own on the fly.

Booting up a server only takes about 25-30 seconds for a single core, while a dual takes about 10-15 seconds. Of course, with each turret the amount of time increases by a few seconds, but thankfully, I only need to add one more turret (for now).
What I mean is that if you do this:

var/icon/I = icon('tanks.dmi', "body-1")
I.Turn(40)
some_mob.icon = I


The icon data won't be transmitted to each client, instead just the instructions will be sent and each client will construct the icon on their end. This way the server doesn't need to generate and cache all of the rotated states.
That works fine, but the AI mobs won't be able to do that since they don't have clients, so I have to generate them anyways.

I could have the AI do that,, but then the host would get slammed with multiple turn() procs every tick
No, every client is performing the operations as they need to. If you and I are in a match and your tank turns, both your client and my client generate new icons to represent your new turned state.

The turn proc should be very cheap because the server should just be sending the instruction "rotate this icon" to each user.
Yes, but what about the AI tanks? Any icon operations that they get are sent to the host. Which, since they would be very frequent, would lag everyone, since the host manages the movement.
But the actual generation of the rotated icon states is handled by each client. Think about how a multiplayer shooter game works - the server tells you what position people are standing at and what direction they're facing and your client draws them in that position facing that direction. Every client is doing this separately, it doesn't matter if the players being drawn are AI controlled or not.

It shouldn't lag the server at all. If it lags the server, this feature (<--- thats a link) isn't working right.
The problem is that the AI tanks will be using icon states that the clients have not generated yet. If you start up a server with max AI, you have 23 AI mobs and one client mob. That one client mob would have to handle all the Turn procs for the AIs. Which would cause the game to lag for the few clients that are there.

When testing it myself, one or two mobs can do the turn() procs just fine. However, any more than that and the server starts to lag.

It's not the client that are the issue, the clients can turn just fine, it's the fact that any turn() proc made by an AI mob would only ever get sent to the host, which would lag the game for everone since the host would get bogged down with turn() procs, and movement() would lag because of it.

If it was a purely PvP gametype then that would work perfectly.

I would also make it so that the clients mob icons are turn() as well, but since I've already pregenerated the icons for the AI mobs then I may as well let them use that icon file.

Remember, I'm saving these as icon states in a temporary file, I'm not just calling turn() for every AI.
Besides that, the turret uses an rgb overlay that lays on top of the turret icon which uses icon states to match the turret. I would have to remove the overlay, turn it and then re add it in order to get the same effect, which is a lot easier if I just have it already saved and then I just change the icon state.
Page: 1 2