Jump to content

Canardia

Developers
  • Posts

    4,127
  • Joined

  • Last visited

Everything posted by Canardia

  1. It helps Indies A LOT to make games, because no Indie can make or affort assets like in Crysis (I think the player model alone costs like $20000), so they have to compensate for the visual quality with technological advancement, like infinite streaming worlds. MineCraft is a good example how Indies can make good games with very low asset budget, but technological superiority. Also Leadwerks Engine's realtime lighting is good to compensate lower asset quality.
  2. Yes, 64-bit makes mostly sense for artists today, who get speed benefits from the additional memory above 4GB. A 64-bit system is generally slower than a 32-bit system, but the amount of RAM makes the 64-bit system faster, if the applications can use it.
  3. I don't think many people have 128-bit or 256-bit computers yet, so 64-bit is enough for now
  4. You need also a special logic for AppSuspended(), because when the user Alt-Tabs out and back of the window, the MouseZ() is set to 0 and you will get a wrong difference. You can copy the logic from GameLib, see the functions Game::IsSuspended() (this is where the Alt-Tab bug is handled) and Game::PositionCamera() (where the camera is moved with the MouseZ() diff).
  5. LE3 can be probably compiled as 64-bit quite easily.
  6. This is the official Roadmap for LE3 (or was): http://www.leadwerks.com/werkspace/index.php?/page/roadmap
  7. I wonder if I could manage to write a multi-threading C++ version of LoadModel(). I could check what needs to be done inside LoadModel() to make it work exactly like the LE2 LoadModel() command.
  8. Any professional studio needs several minutes to startup. Each music workstation takes around a minute to startup, the PC takes 5 minutes to startup and load Cubase6, an musician takes around 30-60 minutes to startup with coffee, cigarettes and beers. When the studio is loaded, everything is realtime. LE2 can be networked in a studio, so each change is synced in realtime to all other LE2 clients and other apps.
  9. I have 2 different models, and once they are loaded during the game startup intro screen, all the other 100 million models load instantly when using the LoadModel() command. It works also if you load 100 models in the game startup screen, then it takes a bit longer depening how big models and how many models you preload. But 100 normal models should load also in a few seconds, at maximum maybe 20 seconds.
  10. Like Rick said, loading models is instant since they are instanced after you have loaded them once. I have made a demo with 100 million models in a SQLite3 database which runs on another thread and that way you can stream models infinitely without any delays. The database is queried with a spherical 3D distance formula: sqr(dx^2+dy^2+dz^2) for the distance between the camera and each model in the database, and even with 100 million models in the database this takes only a few milliseconds, and since it's on another thread, it doesn't affect the FPS in the main thread at all, and the actual model load routines checks the results of the SQL query only every 10 seconds (there's no point checking it more often, since those models which are loaded/unloaded are still way further than the camera can see).
  11. I meant with a own vector or map you don't have to loop all entities in the 3 worlds of the engine. Since every game has somekind of loop which loops through all wanted entities, adding a seperate selection list would only cause more looping.
  12. You are picking the mesh, and trying to add force to a mesh. You must add the force to the body instead, which is the parent of the mesh: if(CameraPick( &pick, cam, Vec3(GraphicsWidth()/2,GraphicsHeight()/2,1000), 0 )) { AddBodyForce( GetParent(pick.entity), Vec3(0,0,1) ); //That is only for testing } However, if your mesh is in a deeper hierarchy of the model, like a finger attached to a hand attached to an arm attached to the torso, then you need to use GameLib's GetMeshModel(pick.entity) instead of just GetParent(pick.entity).
  13. The selection flag should be part of the entities, so you don't need to make a seperate list for selected entities. You should make a vector or map with the entities you want to loop and access quickly.
  14. You can also use only the difference of MouseZ() between two frames.
  15. Yes, you can load and unload all assets in realtime. Loading is even cached and instanced, so there is no disk action when you load the same model multiple times. Loading and saving a model programmatically is very easy: // load a model model1=LoadModel("models/model1.gmf"); // unload a model FreeEntity(model1);
  16. Lua is a mess though, the few times I have used it, I found that half of the commands must be either used procedurally or in OOP fashion. Someone should really check that all commands are available as OOP or procedural and not randomly either or.
  17. For C/C++ they are finished. Lua is lacking a bit on documentation, since there is no Lua language leader
  18. Higher priority, but perhaps not higher value to the customers. I will critisize this a bit. It would be actually cool to have official support for more languages, I will at least have soon the Monkey language ready for LE, because I have seen that BlitzMax is no longer actively developed, indeed it hasn't been for years, and I hope the C# community will also have their headers organized soon. If I had more time I would also like to make some ancient language headers, like COBOL, ADA or Fortran, or even Prolog. How cool would it look if LE had official support for a more languages than any other engine on the planet?
  19. You used an unsupported feature of BlitzMax. BlitzMax should really use the DLL too, to get rid of the differences between languages. In LE3 this will be finally true.
  20. Waterpatch was never accessible from other languages either. You need to make a feature request if you want unsupported features to be official.
  21. Humans are black and white, aliens are gray Besides, I can also rephrase than sentence to be ungray: You would be C# lead programmer of a community of the world's best 3D game engine made by a company with over 10000 customers!
  22. The world is not black and white, so you can use a gray value and be completely true for the people who only see black and white
  23. Yeah, but they can be counted as Leadwerks Engine customers, since 3DWS is kinda a part of the engine too. From LE0-LE1 it was even required (or at least very essential), and in LE3 it will be built-in.
  24. Yes, it says so in the about page: http://www.leadwerks.com/werkspace/page/company/about
  25. So we must start with number 4) then This is a community, and we have C++, C#, artists, musicians, etc... subcommunities, and every community needs to have somekind of organization. Even the most carebearhug-hellokitty-democratic-equalrights communities need somekind of council or coordinator or spokes(wo)man, who only keeps track of what is the communities current trend and will. Every free software open source project has this too. Else it will be a chaos. Yes, they could use votes, and then the votes would be the coordinator, but it's a mess to vote on everything. Sometimes the leader needs to take responsibility and make decisions. If his/her decision was bad, he will get feedback and fix it. Look how the C/C++ community works, and it works: There are 1 or 2 coordinators, who take feedback and suggestions from all others in the C/C++ community, and also from other subcommunities. They don't have to even code it themselves, as usually the one who suggests something gives you ready code to copy/paste. Of course it adds to the quality if you verify the code and check it for loop invariants and elegancy. Nobody gets paid, but sometimes beneficial work is rewarded with special things. It's completely worth it. I think first people from the C# community need to speak up who would be willing to be a respected C# coder of the Leadwerks Community. Isn't that title already a good reward? Btw, you could use this title also in you CV when you look for a job, it's not like it means nothing. You would be C# lead programmer of a community with over 10000 people of the world's best 3D game engine! And I'm sure Josh would sign it, to make it an official statement from an official company.
×
×
  • Create New...