Page 1 of 1

Creating CSS

Posted: Sun May 14, 2006 7:23 pm
by Titan
Certain things on a map can be changed and clients on your server will be able to see those changes. I try to answer some questions that I made (they may not be the correct answer but they make sense to me). This is leading to something.

Why is this possible? When Bungie was designing Halo the put in different game types. They allowed the host to determine which game type the server would be used for. The also decided to allow clients to see the changes in the game type. Game types change certain things, weapons, vehicles, and other stuff specific to each game type. The fact the clients can see those changes makes different game types CSS

Why is this possible? My belief is that in each map there is a part the tells all clients to check the host map to see if something is different. So if a host had replaced the weapons with rocket launchers when a client joined their game it would check the weapon areas, see that they were replaced with rocket launchers, and compensate for that client.

Why does this mater? I am trying to harness the power of CSS. If Bungie made all clients check certain parts of the host's map then maybe a modder could change what the client's map looks for. Make it so that a client's map looks for bitmaps, then release that map. If a client downloaded it and went to an unmodded server the client's map would check for the bitmaps on the server. Since an unmodded server has default bitmaps the game wouldn't change. But if that same client went to a skinned server, their map would check for bitmaps, and they would see the host's bitmaps. Think about it, release a mod which doesn't affect game play if you host the mod or join a unmodded server but when you join a skinned server you get CSS skins!

Now I have no idea where to start this or how to do it, but I am trying. I think it would be neat if a more experienced modder could help me or just do it by them selves and release it.

You could also make it check for models so a pelican would be CSS. Or projectiles (I know you can make these CSS but don't know the limitations on that). Or wall-walking, ammo, and anything else that is not CSS.

Posted: Sun May 14, 2006 7:56 pm
by sword
The following things are CSS:

Spawn points (that includes weapons, players, and teleporters but does not include scenery.), weapons (not model changes), damage, projectiles (if you know what your doing), and ammo.

The following are not CSS:

Pretty much everything that isnt listed above. That includes model changes, skin changes, new scenery placements, projectile swaps (if you don't know what your doing.), new vehicles/weapons/scenery, visual changes, physics changes, and anything else you can think of.

Here is how Halo seems to work:
  • 1. It loads off of your data on join.
    2. Any scenario changes, besides scenery, is loaded from the host.
    3. It loads off of any gametype that the server is hosting.
    4. BSP is client side.
    5. Metadata is loaded from the client's data.
    6. Physics is loaded off of client's data.

Posted: Mon May 15, 2006 5:10 am
by Titan
Thats my point, if we could somehow change what is loaded off the host and what is client side then you could make anything CSS.

Posted: Mon May 15, 2006 8:28 am
by D.T.
But if Metadata is client side, then why are things like flying hogs CSS? I know its laggy CSS, but they can still see the hogs fly.

But then again, projectile metadata edits are not CSS, that I know of anyway, so the vehicle metas might be different.

Posted: Mon May 15, 2006 9:16 am
by Deox
D.T. wrote:But if Metadata is client side, then why are things like flying hogs CSS? I know its laggy CSS, but they can still see the hogs fly.

But then again, projectile metadata edits are not CSS, that I know of anyway, so the vehicle metas might be different.
Flying hogs and whatnot appear to be CSS because the host relays the position of the vehicle and driver/passengers every second or two to the clients.

Posted: Mon May 15, 2006 11:39 am
by «Beast»
Anyway to change that? Make the host relay the position faster for smoother gameplay. No need to lead shots anymore. :D

Posted: Mon May 15, 2006 12:15 pm
by D.T.
That is probably encoded in the game itself, not the map file. I really don't know, but it makes sense that the map is just the info that is sent, and the game engine itself does the sending.

Posted: Mon May 15, 2006 12:25 pm
by sword
If you can get the code for Halo Demo then maybe...otherwise you should get to work on that hex. We'll see you in about a half a year if all goes well on your work.

Oh, and it wouldnt work for joiners anyway :P Everyone would need to have the same applicatoin.

That is why Halo CE was made for the full version, for basicly this reason.

Posted: Mon May 15, 2006 2:30 pm
by Titan
I know, that is my intent. To release a modded map/application. Then people who join could see changes to non-CSS mods with out being given the mod itself.

Posted: Mon May 15, 2006 2:35 pm
by sword
It wouldnt work...

Every joiner would still have to have the application in order to see the changes.

Posted: Mon May 15, 2006 3:53 pm
by SleepingInsomniac
they'll get all legal on you too.

Posted: Mon May 15, 2006 4:08 pm
by Titan
sleeping_insomniac19 wrote:they'll get all legal on you too.
Why? Would this be any worse then modding?

Posted: Mon May 15, 2006 4:15 pm
by SleepingInsomniac
yup
it's illegal to reverse engineer copy-writed software

Posted: Wed Jun 28, 2006 1:13 am
by ?Demon?
What about hackers? Why do hacks and cheats show up in the gameplay for only them, and not everyone? Is this related to what happens when you join an unmodded server with, say, the Great Wall of Gulch mod in your maps folder, and you see the mod, but it isn't really there?

EDIT: And why is modding legal, anyway?

Posted: Wed Jun 28, 2006 5:32 am
by A Bunny
Demon wrote: EDIT: And why is modding legal, anyway?
Technically it isn't, but because, so far, every game developer has seen that the modding culture keeps people playing their game, none have ever (I think) slapped an Intellectual Property suite on anyone.