tag:blogger.com,1999:blog-736684970174462098.post2715029523751963422..comments2023-11-03T02:36:41.872-07:00Comments on FPS Creator Reloaded: Wednesday Progress UpdateAnonymoushttp://www.blogger.com/profile/00942934253243738809noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-736684970174462098.post-3157554558721155862014-04-30T17:14:13.525-07:002014-04-30T17:14:13.525-07:00I like this post. Lots of _stuff_ happening :)I like this post. Lots of _stuff_ happening :)Clonkexhttps://www.blogger.com/profile/01090082045412254311noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-81613409256925207282014-04-30T17:12:23.969-07:002014-04-30T17:12:23.969-07:00Carried away much? Hehe :PCarried away much? Hehe :PClonkexhttps://www.blogger.com/profile/01090082045412254311noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-7104558878763809712014-04-30T15:42:30.520-07:002014-04-30T15:42:30.520-07:00Since so many people want it, what about making it...Since so many people want it, what about making it an option that the game maker can set (and the game player can override in the .ini file if they need to). People can decide for themselves, based on their own system, whether the performance cost is negligible or too significant.<br /><br />Keep in mind also that improvements in efficiency can be made in future versions. Also, people will still be using Reloaded in a few years when hardware is faster. So the performance cost will depreciate naturally over time.<br /><br />Improving performance in other areas (such as imposters, PVS, etc) will "buy" the dynamic shadows anyway. The idea here is if an important feature reduces performance, look to see where else performance can be raised. It doesn't necessarily have to be from the same place. Asking such questions might inspire some decisions and hence ideas that wouldn't have otherwise come. The power of Decision and Clear Vision.<br /><br />You could also be part of that hardware acceleration. Consider how many other companies and game creators have been at the same dilemmas, and for decades. Consider that there's a huge opportunity for a new profit-producing product: A math co-processor that specializes in matrix calculations and transformations, parallel processing calculations such as those done in Fourier transforms, ray-tracing, etc. Nothing designed for Windows or DirectX or OpenGL or MPEG. Nothing closed and limited by the shoot-self-in-the-foot greed of propriety. But something open and useful for all applications, including ones not thought of yet. Making it a hundred times more useful than the GPUs that are all limited by decades-old proprietary "technology" if you can even call it that. The more expansive and useful it is to "anything", the more people it will benefit, hence the more people will support your company (since it's providing much bigger value). Blow primitive dinosaurs like Microsoft, Intel, and nVidia out of the water! So many audio and graphics processing software utilize the same ~type~ of math, yet the hardware only supports it in pre-assumed, proprietary, highly limited (and very poorly designed) contexts. Break the mold and leave the so-called "competition" in the dust! :D<br /><br />My point is that with decision and clear vision, new opportunities are recognized and created. I guess I overstated it a bit :)Patrickhttps://www.blogger.com/profile/01050067600322116703noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-34183376551187867402014-04-30T14:12:54.458-07:002014-04-30T14:12:54.458-07:00I am approaching the issue of more lighting wok wi...I am approaching the issue of more lighting wok with trepidation as it will almost certainly mean a reduction in performance. If anyone knows how to get extra lighting and shadows with NO performance cost, I am all ears. I have yet to decide the best way to proceed here, and I don't want to resort to baked light mapping which most games still use for interior spaces. It's a case of not having my cake to eat it. Ideas welcome, and no firm plans to solve this little beastie of a problem. Don't get me wrong, I have 10 ways to do it, some will look awesome, but they ALL cost performance or memory, or both!Anonymoushttps://www.blogger.com/profile/00942934253243738809noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-81385699715468088392014-04-30T13:59:22.414-07:002014-04-30T13:59:22.414-07:00All very interesting to those outsiders like mysel...All very interesting to those outsiders like myself reading and looking forward to seeing and utilising the feature/function progress being made in the next update release - or thereafter if all goes well of course.<br /><br />I am sure all are following the development now with some sense of real progress to come.<br /><br />Thank you everyone for all the obvious continued hard work and to all supporters, users and helpers too.<br /><br />:-)Peter Colemanhttps://www.blogger.com/profile/00276736145648248864noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-37655515961930026082014-04-30T13:55:23.943-07:002014-04-30T13:55:23.943-07:00I have a little question to you Lee. When are dyna...I have a little question to you Lee. When are dynamic lights and the flashlight going to cast dynamic shadows? Maybe let the user decide for each light source whether it should cast shadows or not?<br /><br />For now the engine is looking pretty good, but that unfinished shadow thing disturbs me a little. Imagine you are walking into a building casting shadows on the terrain and it's not dark in there, but all the objects don't have any shadows! :)<br /><br />Greetings,<br />Sector49's TheKAnonymoushttps://www.blogger.com/profile/07700090688121123802noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-61217101723437570392014-04-30T12:47:36.717-07:002014-04-30T12:47:36.717-07:00All sounds good progress! Especially for us with l...All sounds good progress! Especially for us with lower end machines!Anonymoushttps://www.blogger.com/profile/01551399506542104889noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-13681637397953734402014-04-30T11:50:10.045-07:002014-04-30T11:50:10.045-07:00I just came up with an additional idea that I thin...I just came up with an additional idea that I think would radically speed up the process even further. Pre-compute bounding boxes around all your static objects. Then replace the objects with those bounding boxes, then do your "pre-baking" phase. You'll get 90% of the results that way, in a tiny fraction of the time.<br /><br />Then for building a game for distribution, add a second pass to this that bases the calculations on the objects themselves instead of the bounding boxes. With 90% of the objects already occluded from the first pass, the second pass will go much faster to squeeze out a bit more run-time efficiency.<br /><br />You could also combine this with your imposters idea to multiply the frame-rate by yet another factor (although you're probably already doing that).<br /><br />Patrickhttps://www.blogger.com/profile/01050067600322116703noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-73321045587027897352014-04-30T10:55:34.099-07:002014-04-30T10:55:34.099-07:00Btw, when I said 'showing something' just ...Btw, when I said 'showing something' just there, I meant not occluding it.Patrickhttps://www.blogger.com/profile/01050067600322116703noreply@blogger.comtag:blogger.com,1999:blog-736684970174462098.post-21950133302818465442014-04-30T10:52:14.692-07:002014-04-30T10:52:14.692-07:00Well the way I did those "pre-baked" cal...Well the way I did those "pre-baked" calculations was quick to write code for, but obviously super-slow in performance. In reality, all that need be done is vector calculations based on the outline of the objects.<br /><br />If you're still using a grid/segments, an even quicker way is to "pre-bake" it on a grid level rather than an object level, show/hide all objects that intersect with a particular grid block/cube (each block has its own list of object pointers). The "pre-baking" would be done with static objects only. In runtime, only as a dynamic object moves, quickly determine which grid blocks it intersects and update those block's contents in the list. So you may be showing something that's blocked by dynamic objects, so what? This way is, I think, much more practical than the way I originally did it.Patrickhttps://www.blogger.com/profile/01050067600322116703noreply@blogger.com