Hello Friends,
Edit: The PDF guide is attached to this first post.
It's me again. I was very busy the last months (i actually work as a professional web designer), because this i did not come here again. I think i did not gave too much contributions to this wonderfull community, now here is mine.
After a lot of months striving on a way to design a complete level in 3dsmax and export this level to FPSC, i found a definitive way that works 99% and can be used to design a completely level in any 3d application.
I would like to thank a lot of folks here, that helped me giving some usefull informations, like Rolfy, Bond1, Wolf, Ertlov, Uman, Landman, Maho76, The Zombie Killer and a lot of other members (maybe i forgot to mention them here).
I tried one method (even comented here), of baking all the shadows (like rolfy did on some demos) in 3dsmax and then export to FPSC. I was doing this, and getting impressive visual results (because of using of VRay Light Plugin), but this was not worth the extreme ammount of time for doing this, and another thing i noted is that the resulting baked textures size. To have good looking textures when baking, you need to have use least 1024x1024 texture size for baked objects, because when baking, you cannot tile the baked texture like you can do with normal textures, you need to use it the way it is, the size it is. So, for only one single 1024x1024 texture file i was getting almost 12MB of size because all the lighting information (Global Illumination) and gamma correction (lighting exposure) was rendered to the textures, thus being almost unusable this method. And for each object in scene, i would have to use one separated texture, or if merging textures, i would have to increase resolution (i.e 2048x2048), so going to 24MB each texture, now multiply this for, in example, at least 300 objects in my level!!! So i gave up this method (i never give up on anything before trying extensively), and i will now use standard FPSC Lighting. But good news is that i found a good way to simulate global illumination inside FPS Creator, not perfect (indeed the idea is very simple), but it does a good job. However, i used baked textures on all floor objects (because for this method work, the floor must be dynamic entity, and as dynamic entities don`t receive lightmapping, so there is need to use baked textures on them).
Before working as a web designer, i worked for 6 years as a professional 3D artist developing tv commercials and advertising, so i think because this i prefer to use a 3D Software to design my levels for FPSC. This tutorial is exclusively for 3dsmax users, however, the concepts may be applied to any 3d software (maya, blender, softimage, lightwave and so on).
The greatest advantages on designing your level entirely in 3dsmax (or any 3d software) and then export it to FPS Creator is not only the freedom for design, which means you are more free to design your levels in a more natural way, but you will have a great performance boost up, especially if you be patient to slice your level geometry into smaller parts. The boost up is mainly because you will have less polygons in scene if you were going to use segments. Because for segments you need to have the inner parts, outer parts, corners, and so on. But in this method, you only export the polygons which will be seen by the players, and nothing more.
In my full level, with lights, particles, shaders and enemies i`ve got almost constant 75 fps in my scene. I am very proud of it! Indeed, the models i used are very low poly, however, very well modelled, and the textures are also low-res, and in marjority are 512x512 pixels, however, i tweaked them in Photoshop with some filters and effects, so they indeed look very and very good (you only notice they are low-res if you "glue" your face in the textures itself (wall). And with the power of Vray Lighting Plugin in 3dsmax plus and a good lighting in FPSC, the level does look nice (i think this test level is looking very beautifull).
With all people talking now next-gen games and so on, however, as i commented before, i am creating a Goldeneye 007 Fan Game, so i am applying the concept they use in game consoles (not the new gen like PS4 and XBOX One), especially what they do in Nintendo Wii. I prefer to have low-resolution textures and low poly models, however, very well done, and as i am proficienced in Photoshop (almost 10 years working in Photoshop), i can do some good looking texturing in low-res. This way we reduce memory usage, thus gaining in performance, thus making the scope of people who can play your game broader and broader (not only the most top Gaming PC owners can run your game).
Personally, i don`t think you need the most realistic graphics for having a very awesome game. If you look close at these screenshots taken from the Goldeneye 007 Wii version, you see this is not the best looking FPS Game, however, this is one of the best Wii Games, and one of the best shooters in consoles.
Also just take a look at those reviews:
http://www.ign.com/games/goldeneye-007/wii-867280
http://www.gamespot.com/goldeneye-007/
Off course you can create wonderful levels (a lot better than this level i created) using FPSC standards (see at wolf's works, they are amazing, also bugsy and his kshatrya prologue, also Ertlov and his Into the Dark). But for me, i prefer doing this way, and also i think this way is faster than creating custom segments, make them match exactly inside segment editor, export them to FPSC, and so on...
My notebook specs are not too much powerful, i have a ASUS Gaming Notebook G60 Intel i7 CPU Q720 1.60 Ghz with 6 GB RAM Windows 7 Home Premium 64 bits, which i think is an average pc for gaming purposes. Also i use 3dsmax 2009 64 bit, which was the last software edition i licensed, and also because i have too much plugins (legally) installed for this version, so i don't see any advantages on updating it to 2013, as i would have to spend too much and also update all my plugins ($$$$$$$). But this tutorial may serve for any version of 3dsmax.
Also one of the advantages of 3dsmax over other 3d packages, is the imense ammount of maxscripts avaiable free on internet (www.scriptspot.com), which may improve your work and make you achive things faster, specially tedious and repetetive tasks. I don't do anything without those maxscripts. I used mainly for this tutorial those maxscripts: detach by ID (http://www.scriptspot.com/3ds-max/scripts/detach-by-material-id), game level builder (http://www.scriptspot.com/3ds-max/scripts/game-level-builder), batch export (http://www.scriptspot.com/3ds-max/scripts/keens-batch-exporter) and others that will be cited in the tutorial.
This is not exactly a tutorial, rather, is a kind of selftraining book i have done while studying FPSC (i have the habit of making notations whilst studying anything), and because i think it may help other people on this nice comunity, i compiled it into one PDF (attached below) and i hope that this may be usefull for someone here.
However, i did not finish some parts of the map and i did not work too much on the lighting, and i can say that the lighting placement is almost 90% correct (i did not have the time to analyse the precisely position of the lights inside 3dsmax to place them in the same position inside FPSC) because i am very busy right now, and i will have to give a break from fpsc sometime, due real life issues (i have a lot of work to do in my job, thanks to GOD), and also i will wait for FPSC Reloaded, because this method is very exhaustive (because you need to slice the level geometry into smaller parts to don`t have collision problems, also because static entites in FPSC can`t have multiple textures), and i hope the import and collision of custom meshes will work better in Reloaded, i hope that in Reloaded there will be no need to slice too much the level, i mean, that we can import big entities with multiple textures and with perfect collision (using the new Bullet Physics Engine). I actualy ended up having 2150 entities in my finished map, so imagine i importing those entities, one by one in my map!
Also i created a custom cloud moving system, that works a bit different from Rolfy`s Moving Clouds, however, for respecting my folk Rolfy (because he is selling his custom moving clouds), i will not reveal how i did mine
I also used a custom directx injector (ENB Series) to apply some cool fulscreen shader effects on my test level (custom bloom, ambient occlusion, color correction, anisiotropic filtering so my menus don`t get strecthed,...) to have some kind of visual "spice" on my test game. Because of this effect, i had a little drop on fps, however, i am having constant 30-40 fps, which i think is a good, because even Battlefield 3 runs on this speed (PS3 version).
But just for the sake of showcasing, here follows some screenshots of this level finished and running in FPS Creator, and also one video showing some gameplay and also a proof that the characters are walking perfectly in the level, without any collision problem.
<embed width="440" height="420" type="application/x-shockwave-flash" src="http://v5.tinypic.com/player.swf?file=avoegx&s=5"><br><font size="1"><a href="http://tinypic.com/player.php?v=avoegx&s=5">Original Video</a> - More videos at <a href="http://tinypic.com">TinyPic</a></font>
View My Video
The quality of the video is not very good, because my capture in Fraps have gone up to 4GB and i quickly reduced it in adobe premiere, however, i did not have time to mess with video codecs quality, so this video only serve to show that there is not collision problems in my custom level. Also the fps may seem a bit laggy, but is just the video compression, i assure my gameplay is constant 30-45 fps.
Best regards,
007.
P.S: I runned on a weird and strange problem with my transparent textures, if someone could give me a light on this problem, i would be very gratefull, because i trully don`t know why this is happenning. The alpha channel of my texture is acting like an occlude mask that hides any dynamic entity behind it:
Any ideas?
Goldenye 007 N64