re-structuring the skinnable part

For developmental things relating to the graphics of the game.
User avatar
philippeqc
Long Poster - Project Developer - Sage
Posts: 1526
Joined: Mon Jul 12, 2004 8:55 am
Location: Stockholm
Contact:

re-structuring the skinnable part

Post by philippeqc »

Hi,

I think its time we re-organise all the skinnable part.

ie: cycle models, skins, traces, bike color, trace color, and the like.

Also, we should list all the information that should be exchanged over the network so that each player can have his/her own skin/wall picture etc.

Think about what we need, how to organise, and what we want to accomplish .

-ph
Canis meus id comedit.
User avatar
SuPeRTaRD
Round Winner
Posts: 300
Joined: Fri Nov 05, 2004 11:53 pm
Location: bedlam
Contact:

Post by SuPeRTaRD »

supertard wrote:
Tank Program wrote: The models would also introduce more complexity into the texture selection. The three piece model would let you select the body and wheel textures. The one piece would let you select one texture.
the 3peice .mod bike pulls wheel & bike texture from the same map.
(it doesnt have to.. but i aint got no proper .mod exporter, so..)
hrm, i guess you're talking about when we get spinning wheels on .ase models?

blah blah..

-----------------
if new bike models went in thier own /movieblah?/bikename/ folder, then its possible to code armagedtron, where if you had someone elses bike installed & they joined a server using it, it would display thier bike properly & differently than your own.. thats a pretty big request tho..
User avatar
philippeqc
Long Poster - Project Developer - Sage
Posts: 1526
Joined: Mon Jul 12, 2004 8:55 am
Location: Stockholm
Contact:

Post by philippeqc »

SuPeRTaRD wrote:if new bike models went in thier own /movieblah?/bikename/ folder, then its possible to code armagedtron, where if you had someone elses bike installed & they joined a server using it, it would display thier bike properly & differently than your own.. thats a pretty big request tho..
Before mixing different cycles model (like the timmy, the interceptor and other) in the same game, we could have the same model, just with different skins.

As for mixing bikes of different models, I'm not so hot at the idea myself. I dont feel my game experience would be enriched by seeing the latest hormonal teen and his (male/female) genitalia shaped cycle playing agains his buddy that has a raised major for a cycle model.

But I think we should discuss about all of that.

-ph
Canis meus id comedit.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Ok, here's my two cents. I realize many of you are Europeans and that the USD is currently devalued compared to the Euro (and I'm kicking myself for not buying Euros back when they came out, I could have doubled my investment), so two American cents is no longer worth as much as it used to be....

You should use the SDL_ttf library for the fonts and stop using this custom font, no matter how pretty it is. That makes it possible to include a font with a moviepack, and also possible to use standard fonts throughout various server resources, such as a website, mailing, etc.

What is needed in a moviepack is:

1. Persistent textures. That's cycles, walls, floor, cycle walls, etc. This stuff stays the same.

2. Dynamic textures. These are things that can change in realtime, essentially. So you can have wall textures that change each round, or something like that.

3. Everything should be customizable via moviepack, including menus, in my opinion. I can suggest some xml for this task.

4. Preferences are needed to establish some user control over stuff a server specifies. For example, a dialup user may not want to use his precious bandwidth on custom textures between rounds, so he may specify intervals at which the stuff can be retrieved, or to not retrieve it at all. People with wimpy video cards (like me) don't want our fps to take a hit because someone on the grid has a cycle with a high-polygon count, so a preference to specify a max number of polygons along with an alternative model would be required as soon as you allow players to have their own models. Same for cycle wall textures. Does it take more work on the vid card to render 5 completely different wall textures or one wall texture to five cycle walls? I suspect it does, because you have to send five textures to the vid card rather than just one, and you still have to tell the vid card where to render the textures and how.

5. I would recomment using http to retrieve the stuff and *not* building the actual download into the program. So the server would send some xml or something to the client telling him what pack to download as an http: url, and any specific changes and data and url's to download the data (such as grid wall textures that change between rounds). That's also easily extensible. Say I want to have a texture on the wall each round that shows the top five players on the ladder, I could write a php script to render the graphic.

6. Each server should have available its own moviepack, and the client should (at the player's preference and as a default settting) use the server's moviepack. So an override scheme should be in place, cascading is best. So first use the server's moviepack. If there are any files missing, use the player's moviepack for only those files. If there are still files missing, use the default moviepack.

7. The default setup should by itself be a moviepack, and you should be able to replace it if you'd like, but the program will have to work really hard to verify that all the data is there. So with a regular moviepack, you could just make it like a diff, i.e. the only data you put in your custom moviepack is files that are different. So the default moviepack would require all files and other needed data to be present or it can't be used as a default moviepack. Maybe qualify moviepacks as whether or not they can be used as a default moviepack.

8. Server moviepacks should be tracked, so if a player likes a given server's moviepack he can specify it as his preferred moviepack and disable using the one the server wants to send him. So when I make my special Hell moviepack, players could use that on ish, for example, if they don't like ish's moviepack.

That's what I've got for now. As for what I can contribute right now, I have a webserver running in addition to my two servers (three, sometimes, when I remember to start the other one), so I can contribute testing. I can also throw up xml and help you guys hammer something out. I've used the expat library, so if you use it (doesn't aa already use expat?) I can offer help there, but little/no actual code. For right now. Hopefully my time will start to free up a bit, but my C++ time is still spoken for until jazz works with wx2.4. It would sure be nice if AA was written in Python..... ;)
User avatar
SuPeRTaRD
Round Winner
Posts: 300
Joined: Fri Nov 05, 2004 11:53 pm
Location: bedlam
Contact:

Post by SuPeRTaRD »

well, if you dint have the "penis" bike installed, you would see him driving a default bike.. you would only see bikes that u have installed.. anyways, thats the way most multi-player driving games with add-on vehicles do it.. not sure if anyone would be up to coding something like
that tho..

also, there is talk in other threads about changing the default graphics in 2.8.. lady-X's mod gets my vote too if y'all decide to go that route
User avatar
SuPeRTaRD
Round Winner
Posts: 300
Joined: Fri Nov 05, 2004 11:53 pm
Location: bedlam
Contact:

Post by SuPeRTaRD »

LUCIFER wrote: 4. Preferences are needed to establish some user control over stuff a server specifies. For example, a dialup user may not want to use his precious bandwidth on custom textures between rounds, so he may specify intervals at which the stuff can be retrieved, or to not retrieve it at all. People with wimpy video cards (like me) don't want our fps to take a hit because someone on the grid has a cycle with a high-polygon count, so a preference to specify a max number of polygons along with an alternative model would be required as soon as you allow players to have their own models. Same for cycle wall textures. Does it take more work on the vid card to render 5 completely different wall textures or one wall texture to five cycle walls? I suspect it does, because you have to send five textures to the vid card rather than just one, and you still have to tell the vid card where to render the textures and how.
again, putting custom bikes in thier own folder & having armagetron default to the original cycle if you dont have that folder would solve the first part of #4.. ive thought about the second part b4 too^ the moviepack uses 4 textures for the 4 walls, it would be much easier on the videocard to project 1 texture to 4 walls.. blah
User avatar
root down
Round Winner
Posts: 344
Joined: Fri Jun 11, 2004 8:46 am
Location: closer
Contact:

Post by root down »

SuPeRTaRD wrote:well, if you dint have the "penis" bike installed, you would see him driving a default bike.. you would only see bikes that u have installed.. anyways, thats the way most multi-player driving games with add-on vehicles do it.. not sure if anyone would be up to coding something like
that tho..

also, there is talk in other threads about changing the default graphics in 2.8.. lady-X's mod gets my vote too if y'all decide to go that route
that's also the way almost ANY online game would work, if you didn't have the skin another player was using, they would display as using the default skin on your screen
another good feature would of course be to have a force model feature, where users with lower end systems would be able to force all players to appear as using a selected model of the player's choice (of course low end users wouldn't be downloading higher end models in the first place, so this is sort of redundant)
stakes is high
k
Random Identifier & Project Developer
Posts: 345
Joined: Wed Feb 25, 2004 12:54 am
Location: Northern California, USA

Post by k »

I also think we should split the movie pack up. I personally would like to be able to choose the models, sounds, and arena textures separately.

I dont think we should be doing any file transfers of models, images, and sounds. If you want a movie pack you should download it and install it. If someone is using files you don't have you see/hear the defaults.

I don't know if setting a server movie pack would be all that useful. I personally wouldn't want the server setting my graphics and I would have it disabled. I think most people are particular about their settings to improve performance or visibility. I would prefer a server just broadcast the moviepack information via the console messages.

As mentioned before we would definately need a menu option to disable customizations from other players.
k
Random Identifier & Project Developer
Posts: 345
Joined: Wed Feb 25, 2004 12:54 am
Location: Northern California, USA

Post by k »

SuPeRTaRD wrote:
supertard wrote:
Tank Program wrote: The models would also introduce more complexity into the texture selection. The three piece model would let you select the body and wheel textures. The one piece would let you select one texture.
the 3peice .mod bike pulls wheel & bike texture from the same map.
(it doesnt have to.. but i aint got no proper .mod exporter, so..)
hrm, i guess you're talking about when we get spinning wheels on .ase models?

blah blah..

-----------------
if new bike models went in thier own /movieblah?/bikename/ folder, then its possible to code armagedtron, where if you had someone elses bike installed & they joined a server using it, it would display thier bike properly & differently than your own.. thats a pretty big request tho..
The three piece .mod model uses two textures. One for the body (cycle_body.png) and one for the wheels (cycle_wheel.png). Using different models may not be a big request. It's simple enough to transfer the model file names around. I already have it transfering the cycle body, wheel, and trail textures around. The main change for the existing code base that would need to be done is to make the moviepack flag local to the net player so that the code would use the correct model and textures for each cycle. At this point I think a complete rewrite of the model, texture, sound, and moviepack code is needed to make all these moviepack changes a lot easier...
User avatar
SER
Average Program
Posts: 84
Joined: Mon Oct 04, 2004 7:14 pm
Contact:

Post by SER »

k wrote:I also think we should split the movie pack up. I personally would like to be able to choose the models, sounds, and arena textures separately.
Yes.. like a menu where u can choose the different moviepacks installed on your system and a "Custom" one, to select each thing separately.
k wrote:I dont think we should be doing any file transfers of models, images, and sounds. If you want a movie pack you should download it and install it. If someone is using files you don't have you see/hear the defaults.

I don't know if setting a server movie pack would be all that useful. I personally wouldn't want the server setting my graphics and I would have it disabled. I think most people are particular about their settings to improve performance or visibility. I would prefer a server just broadcast the moviepack information via the console messages.

As mentioned before we would definately need a menu option to disable customizations from other players.
I think there is no point for anything custom if you cannot force other people to watch it. So... yes, on a game that is fps dependant, where everyone is seeking for better performance... custom cycle models are out of question. The way moviepacks work now(you download and install it if you want to use it) it's just fine.
Now... custom textures are less CPU/memory consuming... and the files are relatively small (less than 100k if the png is 256x256pixels).... so the file transfer won't be that annoying, plus if u already have the user/moviepack texture u wouldn't need to download it...
Last edited by SER on Fri Nov 19, 2004 2:33 am, edited 1 time in total.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

SER wrote: I think there is no point for anything custom if you cannot force other people to watch it.
I soooo disagree with this. I would love to have a special Hell moviepack that clients would automatically download if the player wants it. I'm willing to bet there'd be people that would use it just because it's cool. I'd also like the option as a server administrator to require such a thing or boot the player. That would be preliminary to including on-grid advertising where if you're not a paying member of a service, you must download the advertisements, bandwidth-be-damned.

But custom cycle mods and other things? Hell yeah there's a point, and there's very little point in forcing people to do your bidding.
sir wrote: So... yes, on a game that is fps dependant, where everyone is seeking for better performance... custom cycle models are out of question. The way moviepacks work now(you download and install it if you want to use it) it's just fine.
Now... custom textures are less CPU/memory consuming... and the files are relatively small (less than 100k if the png is 256x256pixels)....
What about people that disable textures? When there's a way to set the wall color (which there may be and I just don't know it) I intend to disable textures on the grid walls. Why? You guessed it, higher fps. I might even disable custom cycles for the same reason. But when I finally get a better computer and vid card, hell yeah I want to see people with the cycle of their preference. You should not make everyone live the life of the lowest common denominator. Lots of people want this stuff, and there are developers willing to provide it (because they want it to!). So there is a point, and a good point.

Or you could adopt the "there's no point" philosophy my wife has about computer games in general. Fun isn't good enough justification for her, and that's what justifies the very existence of this game. Fun is a good enough reason, this time.

(not sorry, but my feathers get ruffled anytime people start talking about forcing anybody to do anything. It's not fun when you're forced to do something, and then what's the point?)
User avatar
SER
Average Program
Posts: 84
Joined: Mon Oct 04, 2004 7:14 pm
Contact:

Post by SER »

Lucifer wrote: I soooo disagree with this. I would love to have a special Hell moviepack that clients would automatically download if the player wants it. I'm willing to bet there'd be people that would use it just because it's cool.
Then the way moviepacks works now suits your needs fine.
Lucifer wrote: I'd also like the option as a server administrator to require such a thing or boot the player. That would be preliminary to including on-grid advertising where if you're not a paying member of a service, you must download the advertisements, bandwidth-be-damned.
..... and you were saying you disagree with me..... Your post are in some way contradictory...

Anyways I was just saying that custom cycle textures are more suitable than custom cycle models.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

SER wrote:
Lucifer wrote: I soooo disagree with this. I would love to have a special Hell moviepack that clients would automatically download if the player wants it. I'm willing to bet there'd be people that would use it just because it's cool.
Then the way moviepacks works now suits your needs fine.
Lucifer wrote: I'd also like the option as a server administrator to require such a thing or boot the player. That would be preliminary to including on-grid advertising where if you're not a paying member of a service, you must download the advertisements, bandwidth-be-damned.
..... and you were saying you disagree with me..... Your post are in some way contradictory...
Not entirely. Granted, the server administrator picks up some power which I think would be appropriate to use in a commercial setting, but that's not necessarily contradictory. I disagreed with (emphasis mine):
sir wrote: I think there is no point for anything custom if you cannot force other people to watch it.
Make sense now? And the way moviepacks work now doesn't suit my needs. I refer you to my original post in response to philipe's.
User avatar
SER
Average Program
Posts: 84
Joined: Mon Oct 04, 2004 7:14 pm
Contact:

Post by SER »

>_<'

Yes, maybe "force other ppl" was not the right choice of words... It's hard to me to make any sense in english and sometimes I express myself in the wrong way... I'm gonna now STFU, and keep doin some models and moviepacks...
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

SuPeRTaRD wrote:
Tank Program wrote: The models would also introduce more complexity into the texture selection. The three piece model would let you select the body and wheel textures. The one piece would let you select one texture.
the 3peice .mod bike pulls wheel & bike texture from the same map.
(it doesnt have to.. but i aint got no proper .mod exporter, so..)
hrm, i guess you're talking about when we get spinning wheels on .ase models?

blah blah..
I knew there was something nagging about this. :) I believe, but could be wrong, that blender calculates each frame of an animation in realtime based on the IPO keys associated with them. If that's the case (and I'm 99.999999% of that, without looking at the code), then putting cycle models into one file is just a matter of reading and understanding the IPO keys. Then we could animate a lot more than just the wheels, possibly by following a naming convention for the IPO keys themselves. Then you could vary the rate of animation just by varying the framerate of rendering the animation.

So, maybe supporting blender models is the best way to proceed, besides letting those of us that love blender use blender to make our models?

On a slightly different note, I'd like to be able to have multiple textures for the grid floor. What I really want is to make a cool pic of a couple of eggs frying outside of a frying pan, with a wave of fire underneath them. I want to put that in the middle of the grid floor, but have regular grid on the rest of the floor. It would also be nice to be able to put patterns on the floor, like a basketball court for example. So I guess what I really want is to be able to put a model in the middle of the grid (possibly elsewhere), since I want the fire to look like it's actually coming from below the grid floor, but I'll be happy with just a texture.
Post Reply