Page 1 of 3

Beastie kart

PostPosted: 06 Apr 2011, 00:32
by Funto
Hi all,

I'm usually more of a coder, but I recently started my own Tux-related game project, and so for this purpose I made a Beastie character model.
As I got this model, I thought "hey, I should add a kart to it so that it could fit in STK", so I started modeling one :)

I know there is already a Beastie kart in stkaddons, and I wonder if the reason for it not to be part of the official release is because of its quality.

Here is a screenshot of my WIP:
Image

I know it's very early to ask this, but would you be interested in such a kart for an official release?
What should I do to ensure I meet STK's standard requirements?

Thanks for your attention.

Re: Beastie kart

PostPosted: 06 Apr 2011, 07:28
by kalado
Hi, you've done here a really great job, maybe Beastie is just a bit small for the kart.
I'm a bit curious: what is your Tux-related-game project?

Re: Beastie kart

PostPosted: 06 Apr 2011, 14:33
by Arthur
Funto {l Wrote}:What should I do to ensure I meet STK's standard requirements?

Hi, nice work. :)
While I don't decide what will go into the game, I know that you should read the relevant parts in the Style Guidelines, Licensing and Making karts for Irrlicht pages.

Re: Beastie kart

PostPosted: 06 Apr 2011, 14:50
by 3dwarehouse
ok kart, doesn't fit with character.

Re: Beastie kart

PostPosted: 06 Apr 2011, 16:38
by Auria
That's a nice start :)

The reason beastie from the add-ons isn't included is because it's way too high-poly, it has like 10 times as many polygons as our biggest kart

Re: Beastie kart

PostPosted: 06 Apr 2011, 20:35
by Kinsu
Speaking of poly number, you'll have to be careful : I can see you have already reached 2400 faces, and if you wish to improve your model you'll surely need additional faces !

Cool WIP otherwise ;)

Re: Beastie kart

PostPosted: 06 Apr 2011, 22:35
by Funto
Thanks everyone for your positive feedback :)

I continued to work on it a little bit today and here are some screenshots of my progress.

kalado >> I tried to reduce the size of the kart. Is it ok now? As for my project, it's a platform game starring Tux, but I think I will post a lot more details here when I reach a sufficient state ;)
Arthur >> Thanks, I already read this some time ago but I will have a look at it once more. Plus I need to see how exporting works for STK.
3dwarehouse >> At the beginning I tried making a Formula 1 (FreeBSD is fast, and a Ferrari is red as Beastie :p), but I found a kind a big buggy would be cool :p Plus I think that's a good vehicle for riding to hell (it's a daemon!). (See http://www.youtube.com/watch?v=EqQuihD0hoI at 1:00 to see what I mean ^^).
What do you think other people, does the kart fit with the character?
Auria >> I had a look at this kart (named "Chuck", should be "Beastie" or "BSD Daemon", according to the creator of the character, BTW), and yes it is really high poly...
Kinsu >> yes you are right...maybe I will have to reduce it, not sure how hard this will be :/
Why does STK require so few polys...

Ah a question BTW: what do you use for the physics calculations, do you make a bounding box around the karts? I hope you don't use the full model ^^

Image
Image

Re: Beastie kart

PostPosted: 06 Apr 2011, 23:25
by Auria
You asked "why does STK require so few polys?"

Part of the answer is because it's not uncommon to race with 5-10 karts; if you put a lot of details in each kart, when you put 5-10 of them the poly count just goes way up.

regarding exporting, I'm afraid at this time Blender 2.5 is not supported; you will need to open in Blender 2.49 to export it

Re: Beastie kart

PostPosted: 06 Apr 2011, 23:51
by Funto
Ok I see ^^. Ideally you should use LOD, but this would require having different LODs for all the karts and being able to go smoothly from one level to another, which is far from being trivial...

As for Blender 2.5, I know it's not supported (the Python API completely changed, I'm learning the new one for my project actually ^^), but for such a simple model without animations (at least for the moment) this should not be a problem.
I opened it in Blender 2.49 and got everything so far.
I just prefer working with 2.5, which is far easier to use in my opinion :)

BTW, do you plan to support it for the next releases?

Re: Beastie kart

PostPosted: 07 Apr 2011, 00:29
by Auria
yes, we do plan to support Blender 2.5, work has started to port our scripts.

Regarding LOD with karts, I agree, it would be easy to add LOD to karts. But this has limitations too : at the start of a race, all karts are close. So we can't rely on LOD to get good performance then

Re: Beastie kart

PostPosted: 07 Apr 2011, 07:53
by hiker
Funto {l Wrote}:BTW: what do you use for the physics calculations, do you make a bounding box around the karts?

Of course. Though in the future we might try a slightly different shape, depending on the upcoming work with the physics. The collisions atm are sometimes pretty bad, karts kind of getting stuck to each other. Other kart games have used slightly rounder shapes. Will see when we are working on 0.8.

Cheers,
Joerg

Re: Beastie kart

PostPosted: 07 Apr 2011, 09:11
by Kinsu
Your kart looks much better like that ! The shape is cool, now let's see how it will be textured !

Funto {l Wrote}:maybe I will have to reduce it [number of polygons], not sure how hard this will be :/

This is not very fun to reduce the poly number, that's for sure :think:. If you change your exhausts so the number of side faces is only 8 or 6, and do the same with every cylinder shaped part of your kart you could gain 100 or 200 faces without a lot effort. But looking to your kart I think this is the character who has the higher number of faces. With a bit of luck, maybe with a subdivide modifier and a couple of vertex arrangement it would be fine ... This would definitely solve your problem I think. After having finished the emule kart, I've learned that with UV texturing and STK's lighting models don't need to be detailed a lot : angles are well hidden ! :)

Here is a little checklist of things you have to do before exporting :

- Make sure modifiers (as mirror) are applied.
- Make sure your objects are oriented correctly : when you hit Numpad 1 on blender, you should see the back of the kart.
- The kart should be located just above Y axis, as if it was the road, and centered on the Y and X axis (this last part is not required for STK I think, but this is nicer like this :cool: ).
- The dimensions of the kart are approximately between 0.7 and 1.
- The rotation & scale of your objects must be reset.
- Textures files' size are 256x256 or 512x512.
- You'll maybe have to merge the two models to have them animated with only one armature, with 2 animated meshes I wasn't able to make it work. EDIT : tests revealed STK 0.7.1RC1 can handle two animated models, but STK 0.7 cannot.
- Your armature bones have a 0 roll.
- Your armature is parent of your mesh (beware if you also use the "Armature" modifier, transformations may be applied twice to your mesh)
- The wheels objects are named : from "WheelFront.R" to "WheelRear.L" so STK will be able to apply transformations on it : rotations when the kart turns, suspensions, etc..
- You have an icon for the minimap and the rank zone.
- You have a shadow file.

To make a nice shadow easily :
- Take a top-view screenshot of your kart, with a green background, and making sure you will be able to see the (-1, -1, 1, 1) square of the (X,Y) plane (I used the side of the screen and a dialog window to do it).
- Then, open your screenshot with the GIMP for instance, crop your image following the square limits (must be a perfect square).
- Use the magical wand, clic on the green, invert selection, feather it a little (you may grow it a bit too).
- Create a transparent layer, and fill your selection with black opacity 50%.
- Then, resize your image to 256x256, hide or delete your green layer, and save the image as a PNG file.


EDIT : English mistakes

Re: Beastie kart

PostPosted: 08 Apr 2011, 00:22
by Funto
Thank you for all these indications Kinsu :)

Well, in this case I am far from being done with my kart :p

Nevertheless I continued my work on it today, and made a render which you will see at the end of this post.
As for the stats, I currently have:
- 2675 vertices
- 2942 faces

But a lot of the faces are actually quads, which are counted only once, so I don't think the number of faces is really significant...
It looks like I'm above STK's standards, so I will have to work on decreasing this vertices/faces count...I hope the kart won't be much uglier :/

Anyway, here is my render:
Image

Re: Beastie kart

PostPosted: 08 Apr 2011, 00:39
by Auria
Looks very good :)

Re: Beastie kart

PostPosted: 08 Apr 2011, 09:30
by Kinsu
Very demonish look ! Great ! :)

Funto {l Wrote}:But a lot of the faces are actually quads, which are counted only once, so I don't think the number of faces is really significant...

It stays a good indicator of your model's size.

Re: Beastie kart

PostPosted: 08 Apr 2011, 11:47
by hiker
Kinsu {l Wrote}:- Textures files' size are 256x256 or 512x512.

They can be any power of 2, e.g. 128x512, ...


Kinsu {l Wrote}:- The wheels objects are named : from "WheelFront.R" to "WheelRear.L" so STK will be able to apply transformations on it : rotations when the kart turns, suspensions, etc..

Note that you can just give the wheel object the properties 'type=wheel'. We still support the old style naming scheme, but the type property is much easier to remember. The exporter figures out itself which one is front, left, ...

Cheers,
Joerg

Re: Beastie kart

PostPosted: 12 Apr 2011, 21:34
by Funto
Hey, here are some good news from the Beastie kart project: I did my first test, and wow, this exporter is really good, it worked perfectly fine (except I had to manually copy the textures) from the first try O_o
That's quite impressive :)

So here is the stuff:
The kart, ready to be integrated into the game (tested with STK 0.7rc1)
The sources, i.e. .xcf and .blend files

In order to keep the package consistent and be somehow role-play, I would like to release it under the 2-clause BSD license (used in FreeBSD), which is GPL-compatible according to the FSF :)
I hope you are ok with this license. I made all the content in these packages myself, including the textures and the mini-icon.

This is a very first version, numbered 0.1.
It has 2675 vertices and 2942 faces.
If this is too much for it to be integrated in the next official version of STK, I'm ready to try to reduce this number (although I really don't want to lose details...:/)

I still have to add a skeleton and the animations for the next release(s).

Finally, here are a few screenshots:
Image
Image
Image
Image

Any feedback is welcomed and encouraged :)

Re: Beastie kart

PostPosted: 12 Apr 2011, 21:55
by KroArtem
I'm not sure if BSD license is acceptable; waiting for Auria's or Joerg's answer :) The screenshots look cool, hope your kart will be added at least to svn trunk ;)

Re: Beastie kart

PostPosted: 13 Apr 2011, 00:21
by Auria
Hi,

nice work :) the BSD license is just fine
All that would be left now would be to animate him :)

Also, before uploading the blend, please use File > External Resources > Make All Paths Relative

The polygon count is a bit on the high side but not enough for refusing the kart

Re: Beastie kart

PostPosted: 13 Apr 2011, 08:35
by Funto
Yeah, nice to hear (well, read) that :)

Sorry for the packing of .blend file, I forgot to do so...will be in the next release :)

Re: Beastie kart

PostPosted: 13 Apr 2011, 09:18
by Kinsu
Cool ! This is a pleasant kart to drive, I like it !

Some critics :

- The scale should be lowered (maybe 0.9 or even 0.8) : I don't think Beastie should be bigger than Konqi (I'm talking about the characters, not their vehicles),
- The shadow is bigger than the kart (maybe the indications I told you need to be improved ?),
- Not transparent textures would be less heavy in JPG (some current karts textures need to be converted), and if there is any transparency usage, it could also be made with JPG + materials.xml, but apparently you're not using transparency for Beastie,
- For the poly count, I know that it's hard to sacrifice some details, but this is necessary for real time 3D... Moreover, you could gain several hundreds of faces without losing a lot of details :
For instance every cylinder shape (except the end of the exhausts) could have only 3 side faces (ingame we can't see the difference unless we really really pay attention, but people don't), so you could optimize your steering wheel, your engine pipes, your wheels bars, and the smaller part of the exhausts. I will improve Emule shortly, and this is the first thing I'll do.
Then, some details are quite hidden and textures alone are good enough to show them : the inside side of the wheels could just be plain, multiplied by 4 I think you could gain a lot of poly here, too. Another thing to optimize is the teeth on the front of the kart : if you decided to show them only with the texture of the front fan, you'll gain another bunch of faces... and so on.

I will shortly try to optimize every character which is above 3KTris in STK (I think this is 3500Tris in reality, as the value is apparently rounded) to get them below this limit, so I would really appreciate if you did the same with Beastie :).
To see the ingame number of triangles, check the show fps option, then go to the selection screen and wait a little to have the number of KTris of karts. Currently, Beastie is 5Ktris according to STK (is there a way to show the tris number more precisely in STK ?).

Re: Beastie kart

PostPosted: 13 Apr 2011, 13:52
by Auria
Done, in SVN I committed a change that allows you to see the polygon count more precisely when you enable the artist debug mode : http://supertuxkart.sourceforge.net/Track_Debug_Mode

Re: Beastie kart

PostPosted: 13 Apr 2011, 22:41
by Kinsu
Cool, thank you ! I'll have my first try of building STK this weekend :)

Re: Beastie kart

PostPosted: 21 Apr 2011, 16:05
by xeno74
Funto {l Wrote}:Hey, here are some good news from the Beastie kart project: I did my first test, and wow, this exporter is really good, it worked perfectly fine (except I had to manually copy the textures) from the first try O_o
That's quite impressive :)

So here is the stuff:
The kart, ready to be integrated into the game (tested with STK 0.7rc1)
The sources, i.e. .xcf and .blend files



Very nice! Thank you very much indeed!

Re: Beastie kart

PostPosted: 22 Apr 2011, 21:26
by Funto
My pleasure :)
But note that the kart is still unfinished (I have to add animations and remove some vertices). I will post updates when I have, but right now I will be quite busy :/