Jump to content

Sign in to follow this  
FlyingsCool

Blog discussion possibility - Intelligent Autogen

Recommended Posts

Hi,As I understand it, the intelligence of autogen today is rather limited. It is my understanding that it is plotted out ahead of time like texture maps, is controlled by landclass, and it can turn itself on and off in varying degrees with respect to performance settings and other objects/roads in the way. But, basically, each tile is set in stone sort of.What is the status of the technology behind "intelligent" autogen?I'm thinking something along the lines of being able to specify the type of autogen for a particular texture tile, then process each tile as it needs to be populated with autogen for road type and density and parking lots and fields (similar to what I think is done for Ultimate terrain LC generation) and placing the autogen on the fly around this data.Perhaps this could help to get rid of the roads in textures? We know we can lay out the actual road networks now, so we don't necessarily need to model the roads in textures anymore (obviously will be some disagreement there). And I understand roads are often classified by type in the data, so this could help.Then again, I don't know what the memory requirements would be for this, let alone the processing time and when to do this processing.I would find this topic interesting.Thanks,Thomas[a href=http://www.flyingscool.com/FC_StartJava.html] http://www.flyingscool.com/images/Signature.jpg [/a]I like using VC's :-)

Share this post


Link to post
Share on other sites

Ok, after further thought (apparently there wasn't too much thought to begin with), it occurs to me it's not a calculation problem in game. The calculation need only be done "once". Of course, it must be redone each time you change the landclass. So therefore, what would be need would be a robust calculation algorithm that could be relied upon to produce halfway decent results given the millions of possible combinations. Not easy, but I don't think it is impossible.And there could still be memory issues, but more likely it will be a disk space issue if at all. I'm thinking, even though you will need a different file for every square of landclass, I don't think these files will take up a great deal of space, and, really, what percentage of the earth is actually populated?Thomas[a href=http://www.flyingscool.com/FC_StartJava.html] http://www.flyingscool.com/images/Signature.jpg [/a]I like using VC's :-)

Share this post


Link to post
Share on other sites
Guest tdragger

Actually because we support the addition of arbitrary bits of third-party scenery something like almost certainly would have to happen at runtime. That issue comes up quite a bit and explains why Flight Sim doesn't compare well to fixed, level-based games. Trust me, if we closed down the game to add-ons we could do some AMAZING things but one side effect would likely be the slow death of the franchise. You can understand why we might not want to do that.

Share this post


Link to post
Share on other sites

Perhaps I am wrong, but I think you might have misunderstood what I meant. I believe that the creation of the autogen would only need to be done "once". IOW, as long as no scenery files are added, at initial startup the program would go through all the landclass and RD and etc. etc. files and calculate the autogen and create the appropriate files. If the user adds scenery, then all the appropriate normal stuff would have to be done and the autogen recalculated on the end result, similar to what you do today when a new library entry is added.What I meant by it only needing to be done once is the location of autogen is for the most part "static" (i.e. buildings, etc.), so you don't need to calculate what autogen is where as I'm flying along. It's already laid out. You do need to load/unload from dynamic memory (I assume that is what is going on) based on performance settings, distance from plane, etc., but its base location is not something you have to calculate the position of on the "fly" so to speak as I'm flying along.Absolutely I do want you to support addon scenery. That is what I meant that you would need a robust algorithm to place the autogen for the millions of combinations of stuff. The way MS melds different landclass together and makes it look seamless is nothing short of amazing to me, I have no idea how you do that. This, of course would need to be handled by the autogen placement algorithm. Yikes!As I said... Not easy (understatement implied). But I don't think impossible.Does that make sense?Here's another explanation. I believe today, and I'm very likely wrong in some way, that autogen files (.agn) are associated with landclass textures, and basically lay out where each piece of autogen should go for each landclass texture file. What I am suggesting would create these .agn files for specific landclass tiles around the world, similar to photo scenery today where each tile has its own photo but this time for "autogen" buildings instead of textures. We would need an algorithm to create these .agn files, so houses end up beside residential roads, stores end up in shopping areas, industrial buildings end up where industry should go. All placed appropriately next to roads. This would hopefully remove the necessity to put fake roads in the textures(???).Not something for FSX, but I think something that could be done for the future.And of course, I could be totally wrong in my assumptions. I have not read the autogen SDK, so perhaps I should start there. But my main goal was to start a discussion about making autogen more intelligent than it is so buildings end up next to roads (and my ultimate goal of getting rid of roads in textures) and to learn more about whys/whynots this can be done. And in the end, this last paragraph is all I should have said. :)Thanks,ThomasWhen you find yourself in a hole that you don't want to be in, the first thing you should do is stop digging.[a href=http://www.flyingscool.com/FC_StartJava.html] http://www.flyingscool.com/images/Signature.jpg [/a]I like using VC's :-)

Share this post


Link to post
Share on other sites
Guest christian

A few comments:The automatic idea is not a bad one. In principle, it should be possible to program an automatic annotator that creates agn files by just reading textures (rather than placing everything by hand).The problem is that current image recognition software is far from understanding images. This has been researched for quite a while now, but no one has come up with any algorithms as yet so computers truly understand image content.You also mention creating autogen based on the vector data, but this isn't going to work. At the moment the vector data (roads, etc) get drawn over existing imagery. If you would place buildings based on the vector data on top of the imagery, it would match the underlying imagery. The only way out is to not use vector data at all and use real aerial photography instead (which you can do today - just not automatic).I think it just boils down to the problem that computers just aren't intelligent enough - and there have been no real breakthroughs. Computers just don't understand complex content, be it imagery, voice, or handwriting.Cheers,Christian

Share this post


Link to post
Share on other sites

Yes, that would be a good idea, too. But what I am looking for is in between what we have and actually matching real world.What I am thinking is, we have all the roads in a lot of the world (which we didn't have when FS9 was written). Let's use that data to help us place autogen. Still will not be real world, but I am hoping it would be better than the way it is done now, which basically ignores the roads.I imagine there are ways to analyze road networks for type and density and, using landclass to help, determine what type of road it is (i.e. residential, shopping district, industrial, farm)(plus, a lot of roads know what type of road theya are). You can kind of determine the density of population in an area by the number of roads in an area. As noted, we have landclass data to work with. We know that homes and other buildings typically lie next to roads and line up with them. We should be able to use that to place autogen with a little more accuracy than is done today (which totally ignores the roads as far as I understand and can see, other than not lying on top of roads).IOW, I want to see homes next to roads in a residential area. I want to see shopping districts. I want to get rid of roads from the textures. I realize I am lucky enough to want to fly over areas that have all the roads modeled in FS, and that all the world is not this way, so I understand that this would have to live with the current method.Thomas[a href=http://www.flyingscool.com/FC_StartJava.html] http://www.flyingscool.com/images/Signature.jpg [/a]I like using VC's :-)

Share this post


Link to post
Share on other sites
Guest christian

But then you'd also have to create matching textures - and on top of that textures that tile well. Pretty impossible to do with realsitic resources. And it'll probably be cheaper to just use real imagery rather than develop such a complex algorithm.Christian

Share this post


Link to post
Share on other sites

I used to work at a company called SDRC that made solid modeling and analysis software for mechanical engineering. One technology they developed was a way to shape lines and surfaces using "magnets". You could place a magnet and it would pull the curve towards the magnet.Perhaps something similar could be done here. Maybe autogen objects could be "attracted" to the road vectors. I wonder if that might be a tool that could be used.Thomas[a href=http://www.flyingscool.com/FC_StartJava.html] http://www.flyingscool.com/images/Signature.jpg [/a]I like using VC's :-)

Share this post


Link to post
Share on other sites

1. From my own attempts at scenery creation, I am very aware that satellite data is not yet ready for prime time. The solution I am suggesting is not related to satellite data in any way.2. I never said this would be simple. In fact I think it would be quite a bit of work. But I do think that when we combine the road network data and the landclass data together, there is quite a bit of information there that can be used to calculate what type, where, and how many autogen objects should be placed.3. I'm imagining the landclass textures themselves would be used to represent mostly vegetation type. But they would still contain information about how urban they are. So a suburban texture itself might look like trees or fields or some combination of that, but it would know it contains homes or industry, or whatever. But this urban data would not be represented in the pixels of the texture as it is today. It would instead be metadata associated with the texture for use by the autogen object placement algorithm. 4. I realize this isn't simple.Thomas[a href=http://www.flyingscool.com/FC_StartJava.html] http://www.flyingscool.com/images/Signature.jpg [/a]I like using VC's :-)

Share this post


Link to post
Share on other sites
Guest Horst

With my humble austrian english, I think, I can not bring you to the point.And I only can argument with FS9 knowledge.It is complex, but not complicated. (is this English?)Because, it is the relation between performance and reality!(And the

Share this post


Link to post
Share on other sites

Your english is fine Horst. And I do understand what you are saying. But I think there is a lot of data that you can glean from the available data (just look at what they do in science everday in studying the stars, amazing). From all the posts I have read, I know there is at least some level of separation of data for roads (major, minor, etc.). This combined with road density/square mile and landclass data for a square can give you quite a lot of information.My goal is to put autogen buildings beside roads and be able to remove the fake roads from the textures. For a given landclass tile (and hopefully the choices have increased for FSX), you pretty much know what type of building(s) will go on it. You have the road network for the tile. Now move those buildings next to the roads and spread them out and distribute them appropriately. Add some randomization and use the density of the roads to calculate how many buildings you need for a given tile and you've got something to work with. Allows you to make the landclass tiles simpler, too, and therefore simpler to blend and match.If I were to start laying out the rules, it would go on for pages here, but I think there is a finite set that could be developed. Certainly the available landclass tiles that need such rules is finite and relatively small in number, with the added benefit you don't need to worry about seasons to place the objects, they'll be in the same place summer/winter/fall. They might look different depending on the season, but that data should be attached to the objects themselves (snow on roofs guys :) ) and so shouldn't affect the .agn files..Thomas[a href=http://www.flyingscool.com/FC_StartJava.html] http://www.flyingscool.com/images/Signature.jpg [/a]I like using VC's :-)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...