Jump to content
MakeWebGames

a_bertrand

Members
  • Posts

    3,655
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by a_bertrand

  1. 25.00% One Time Discount: $0.00 USD So doesn't work ;-)
  2. Moved....
  3. Honestly does that make any difference? Or is it any issue? If yes then you should wonder why you do exactly business on internet...
  4. Lighting a 3D scene is one of the most important part (as well as the texures I will discuss later on), unfortunately 3D artists, specially those starting in this field under-estimate the lighting or have no clues what they should do. Here I will not go in deep into all the tricks you can do to improve the lighting of a scene however I will show how some setup can dramatically improve the render quality (and some time increase dramatically the render time as well). Let's start with the scene by itself viewed with the wireframes to show how simple the scene is: As you can see the scene is a simple as some primitive shapes inside a cube (primitives are shapes which the 3D software can create for you, like cubes, spheres, cylinders etc.). Shapes do have a simple shading which include a color and nothing else. All this is within a cubic shape. To start let's light up the scene with a single "point light" which is nothing else as a single point where the light will be produced. Think about an extremely small light bulb. You see that we see at least the shapes... but the shadows are very defined, unnatural and extremely dark. This is the classic "newbie" setup. The second trial, is simply to change the light type from a point light to an area light. An area light is like a rectangle which produce the light from all the area of the rectangle. The advantage of this is that you get already a much more natural lighting and the hard shadows (very defined one) are now transformed in soft shadows. Still the image is dark and there is a lot of black areas where you see nothing. If you want to go from there you should add some more lights to increase the lighting of the scene. Now if your software is more or less a complete 3D package you should have something called "Global Illumination" which is nothing else as one or more algorithm which calculate more accurately what the light do within your scene, light start to bounce on the walls back to the objects. This techniques allows to have a much more natural lighting with little efforts from the artist himself, beside some tweaking of the parameters that's it. However, as always, it is not completely without side effects, one of which is the render time. The point light image took about 3 sec to render and this one took 58 sec. Now as you see you start to get indeed a better image as it contains less completely dark areas and offers more shades. Yet it is not finished we can further improve it by increasing the indirect bounces. which means, instead of stopping after the the first bounce we will do more bounces of light... and this will have yet another good advantage: light bounced out of colored objects will get a tint and propagate this tint around. It will also further reduce the dark areas. Of course the render time will climb again but not that much as I didn't placed too much secondary rays (rays after the first bounce): final time 61 sec. Check the wall on the right near the blue ball... you will spot there the blue tint I was talking about as well as under the red cone.
  5. Then did you used a point light in the middle of the 2? If yes that explains the different shading.
  6. also the lighting of the 2 models doesn't seems to match....
  7. Well then if there is no shadow why you do have darker area on the bodies?
  8. Nice to see something different than PHP... however I wonder why ASP has been chosen and not ASPx Also the template hurts a bit my eyes... (color scheme)
  9. Check that: http://engine.nowhere-else.org/article_3.html
  10. You should add shadows from the 2 woman on the background. Also I would personally add a bit of blur due to the focus on the foreground.
  11. a_bertrand

    Coding

    I have no clue what "mastered" could be... as you learn every days... even if you are an old monkey like me.
  12. a_bertrand

    Coding

    Mmm, what do you mean exactly by "mastered"? What can you show us to demonstrate your level?
  13. Underestimate the work => happens to me quiet often. For NEaB it took me about 4-5 years to reach the status "done"... And now with this new game it doesn't seems I can even reach the beta phase in time :D Call me nooby!
  14. Well bad start as mafiagamescript.net is certainly not selling genuine licenses of McCode... Sorry
  15. Indeed, I think it cover most possible action in a game ;)
  16. Never said you must compete with me. It was more to see if any of you was able to code it in another language (as I know there is no reasons why it could not be done). And indeed there is endless possibilities with such small toy ;) You could improve it a lot and try to hack yet more complex algorithms.
  17. It is indeed an impressive tool (and that's one reason why I posted ;) ) specially if you know what this means under, to check all the functions and keep all the call stacks without yet hurting too much the performances of the application. I really like the way things are presented (showing which are your functions which are the one from the library), and showing you the "hot path" (red triangles) to show you things that may need some optimization. Again, I would not have been able to pin out the issue without such tool. For example getting back the width of the canvas where I was drawing was slow... so caching the width inside a double simply nearly double the speed of a function. How could you find that without WAY too much trials?
  18. That's an actual true usage for my Silverlight game. So I was checking it within IE ! (FF or Chrome would have been the same) First view you have a tree of function calls from top to down... with all the % of CPU usage. Before optimization (you see the Handle cockpit takes 27% of the time) After optimization you see that I removed that weight on the cockpit. The last icon sorts functions call by CPU usage. I can show memory optimizer too but not for Silverlight.
  19. Should be doable. Horizontal resizing is normally not an issue.
  20. Well with my over 80'000 lines of code project, it pointed out directly to the functions which was using most of the CPU. I clicked on "hot spots" and voila you got them on the top of the list. In less than 1 hour I shaved about 40% of those CPU usage. For the memory profiler, it shows which objects use the memory and therefor you may find some oddies, it shows also which objects tend to increase over time. Honestly those tasks are nearly impossible when the project grows without such tools. If you are interested I will make screenshoots of my profiling.
  21. What is code profiling? Imagine your code / script or whatever you want to call it, is composed of a multitude of files / class / functions. Yet at some point some actions start to be really slow or use a lot of memory. How would you start trying to see where is the bottleneck? This is exactly what a profiler job is. Example: I create a game, at after a while the game frame per sec (FPS) is going down... for some unknown reasons. I start the profiler and the tool tell me that this function uses X percent of the CPU time. I know then where to go to find the issue. Yes but can I use it? Profiler tools exists for most languages, and there is even some tools for PHP. How easy those tools are is another question. Some tools are however not free, but many offers a free trial. What can a profiler do? A profiler can check which function uses most CPU or even check if you have memory leaks... and point you to what is going wrong. It is not useful in every day scenario, but it can be the tool to solve issues when you have no clues what is going on. How does that look like? For PHP: http://www.php-debugger.com/dbg/sshot.php For C#: http://www.jetbrains.com/profiler/index.html For Java: http://www.yourkit.com/overview/index.jsp For Python: http://docs.python.org/library/profile.html Etc... those are just examples and you may find more. However profiling scripts is normally harder than others. Also profilers features and easy of use are not all the same. Nor the price ;) When to use one? You should use one when you start to hit a bottleneck and wonder if you can't improve the speed or try to squash a memory leak. For PHP memory leaks are normally not an issue, for the speed you will not have issues if your code doesn't do much beside getting data from the database and showing it back to the browser. If you start to create some calculation or crunch your data... then it may help. Can I survive without? Sure! You can work without it, as well as without a debugger. Profiling scripts or code can be done by timing functions runs and store how much each function took to execute. You may then try to improve those specific codes.
  22. Ok, I had a bit of "free time" and decided I wanted to show something to my apprentice: http://garg.web.nowhere-else.org/web/tutorials/Crypto.zip This little code allows you to encrypt texts with a key and decrypt them. Yet the algorithm is as stupid as possible (replace a letter with another). What's fun if that if your text is in English and big enough (due to statistic counts at start) the soft is able to find back a key and therefore crack the code. To do so, here are the steps: - Count each characters and make a statistic of which is more used - Compare the found statistic with the one known for the language as each language use differently the characters. - Use the two most used characters and replace them with the 2 most used characters on the known language. - From there on, try to match words which have unknown characters inside but which gives unique solutions like: "t?e" can be only "the" as "tee" would be 2x the "E" and there is no other words (in this dictionary) which are like that. Therefore learn slowly new characters and progress until all words are completed. If you want you may try to code the same algorithm in other languages (PHP, JS, Java, Python) and we can then vote for the best implementation ;)
  23. Well... price is not cheap as taken from their site: "Pricing that makes sense: Each application costs just $8 per user, per month up to a maximum of $1000 a month. Pay only for what you use." So if you go for a commercial usage (which should be the case at the end of the day) you must make sure you cover at last 8$ per player or users or max 1000$ and this per month. But with 1000$ per month I can assure you that you have quiet some room to host yourself all what you would want. But without tooking this road this is how much it will cost: http://code.google.com/appengine/docs/billing.html Now what happen if your budget is over? Well your app will not be accessible. Sorry but for me I do like better to have a slower website in case there is too much usage instead of having a site which works only a couple of hours per day. The data storage limitation for me is something quiet important. Sure you could try to work around it, but honestly why redo all the work of what a normal SQL database do for you? In some case it is easy to have some limited SQL, but in most case, it will be quiet some work. Yet, by checking carefully it seems that you can store and retrieve basically any objects, which means you work with serialization on the database. Don't know how powerful is the retrieval but storing like that can be convenient. On the plateform, python or Java are not the road I picked and I will hardly change it now. Other than that, they can be of good choice if you didn't have yet a lot of thing already. Both offer a lot of libraries and a lot of power, even if personally I would choose Java over python. As you said Zeggy it is interesting, and I remember I checked it a couple of month ago, yet I don't believe I will use their services (beside the fact I'm not such big fan of Google) as I prefer to have a well known monthly cost and have all the freedom I want for my hosting. For example I want an IRC server? ok fine I host one.
  24. Flash or Java? Anyhow with Java you can't really use the local hard drive without requiring special privilege for the applet and in this case it must be a signed apple. For flash, you have some space allowed as local storage... which is not big by default, but I doubt you can save there an image and in case you cannot get the path and transmit it to the server as it would be a security breach. So no I think you are willing to do something which is not possible with the 2 tech you choose. Silverlight would not do it either BTW...
  25. Well taking work of others to crate yours is called derivative work. You can do it, but you must have an agreement of the original artists / producers: http://en.wikipedia.org/wiki/Derivative_work So using images (specially drawing) made by somebody else is not something you can do freely. On the picture side, it is maybe harder to say you didn't do yourself the same picture... but again you should normally not do it without having a license or permission to use the original work. The best way to avoid that is to purchase one of the thousand "picture CD" you may get, which offer tons of stock pictures which can be used for derivative works. Just saying that everyone else on the net do the same is not a reason to do it yourself, specially if you plan to re-sell your work. Otherwise I could simply grab a copy of your template and use it on my site and state: "You did it yourself, why shouldn't be everyone able to copy your work as well?" As an artist, or a company selling artist work you should be the first one to try to enforce the copyright rules and the last one to try to pirate other work.
×
×
  • Create New...