Jump to content

reepblue

Developers
  • Posts

    2,503
  • Joined

  • Last visited

Everything posted by reepblue

  1. Nothing is moving in that screen. This is in that hallway right before you hit the trigger for the floor to raise up with the dispenser. The pillars/platforms that do move on the button press are set to a dynamic ShadowMode. I had an idea about the batch count, but it did not seem to be the case, so I have to look more into it later. Also, quick question: Will using Caulk textures improve the overall framerate as there are less polys, or it does not matter? I noticed the AI and Events map is all textured while my maps have Caulk textures on the outside of the maps, and any other place that can't be seen,
  2. I'm currently playing with optimization with the Vectronic demo. After removing Buffered spotlights, and adding Shadmar's culling script, my framerate has increased, but this room is still hell when you look forward, and the Script Memory Usage count rapidly keeps climbing. Are these results "too high"? I'd be nice if they changed colors if any of these numbers get to be dangerously high as a clear indicator that something's wrong.
  3. To Break: Open a map/Create a new map. Create a box, light or any other object. Open Single Viewport for the Perspective. Double click on a entity in the scene tree (Or right click-> Go To) Exit out of Single Viewport mode to see that your grids are messed up. To Fix: Right click on a broken view port, Go to Render view and select a different view angle. Then, change it back to the previous view angle. Continue working.
  4. Those screens man, I feel like if that was LE3, it would run at 35-40fps, and the frustum culling problem (that I at least seem to have) would ruin immersion. I debate with myself if the issue is us not knowing how to optimize the engine on our side, or the internal workings of the engine. Over the last page, Josh gave us hints on how to improve our games, but I feel that wouldn't be enough. I'll have to see when I start the project again. (Been busy). @YouGroove: Yes, Leadwerks right now seems to be more aimed at the game designer/programmer, than artists. I still think a simple shader editor would help a lot though.
  5. Quite a portfolio you have there, I recommend posting that link on the Promotion board. If you mean generously give me something for free, I suggest you PM me about that unless you wish to give everyone here a free model.
  6. It should be noted that some performance issues such as this one are driver side, and the Leadwerks Dev Team can't really fix alone. I've played around with the AI and Events showcase map, and it ran fine as expected after I turned all lights that were buffered into Static+Dynamic. There is a framerate drop going around the first corner (dips down to 27fps) and while a crawler is moving, (I made them chase me all over the map, and I got my frames back when they died) but the shadow mode is correctly set to Dynamic. So that must be ether navigation side, or something in the script/animations; haven't not really looked. So right now, just follow this guideline on shadow modes, don't use buffered lights, and while shelling out your map, just set the ambient light to a bright color (almost fullbright) with no lights so you can see what actually impacts performance as you develop your map and scripts. Having deferred lights are great, but you still need to be careful. I've still yet to figure out why the Vectronic Demo runs so poorly still, but that might be because of my garbage ways of doing things, I dunno. Again this was with one map, so I gonna do a bit more testing with lights models and such. When I go back to Vectronic, I'll make sure to note what things make the game stutter. Sorry that this topic derailed to the max.
  7. Check to see if your pointlights have any shadows enabled. Disabling them should give you some frames back. Yeah, even I am not satisfied with how the Vectronic Demo came out in performance. Of course, looking back, there was somethings I've should have done better, but overall I kind of struggled keeping my framerate at 60fps. I've went back in my demo map, and made sure all my lights followed this guideline, and still my 3 room demo hits the high 40's, and I noticed the framerate was higher in a packaged build with 3.5. (I still got that build if you want it Josh!) I'm not saying they should roll back, and have you bake the lighting again like in 3.0; but I feel like if developers could bake the lighting, and use deferred lighting if needed, games would overall run better, and the shadows wouldn't fade out at a distance, or do stuff like this. But I assume that you can't/would be a chore to have the best of both worlds. From how Josh put's it, Leadwerks and games developed on Leadwerks are targeted at people who are interested in indie experiment games, but to me, it feels like you need a PC that a "Yo Bro Shooter" would have to have the best experience with the engine. I think a higher priority than PBR or substance support is better optimization. I'm gonna run a few tests to see what causes the slowdown mostly. (Whether be shadows, amount of objects, amount of lights, polys, etc). There is no doubt that Leadwerks needs more games for it. If there was a at least few top notch quality games that looked and ran awesome, Leadwerks would gain popularity and more people would be using it (or know more about it to spell it correctly!) If developers are having issues actually creating their game with performance/workflow issues, ether no games will be developed for it, or the engine will be known for low quality "games". If you know how to code shaders, your games today can look really nice, but that's overall the hardest, and most complicated part of the entire engine. I really hate to open this can of worms, but I think it's important for the product as a whole for people to speak up and openly talk about the difficulties of using Leadwerks beyond "Oh, I can't do X, Does not have Y, bad engine". If you can't get your shelled out map (a map in nothing but dev textures and little models) to play well at a good framerate, and you went through your code through a fine comb, you can forget about how cool you wanna make it look; it'll still run like trash! Leadwerks has so much future potential, I feel like a full update on improvements and optimization would be richer than an update with a new feature or two.
  8. If Google translate is right about your question, you can copy the template into your project, then rename everything $PROJECT_NAME with the title of your game. This would be the exe's and the title value in main.lua.
  9. That's really strange, I'd thought it would be the opposite.
  10. Gonna go through some of YouGroove's points. 1 - Josh said that they are putting research into how to make this better. 2 - Maybe this will come with the Vegetation system in 3.7, but I doubt it. I'd put it in the suggestion box if you really want it. 3 - In the LE library, there are headers for UI elements such as buttons, sliders, and such. Josh said that these will be added slowly. 3b- OH MY GOD THIS! I understand that OpenGL is a different animal than DirectX, but it's just silly that a mid-range PC like mine can run UE4 at 60fps while it looks like a Hollywood blockbuster film, while the LE showcase map or the Vectronic Demo dips to 45fps at times, and it looks like the Source Engine! (Not that's a bad thing) This really needs to be fixed/optimized better, no one should have a GTX 980 just to play any LE game at 60fps. 4- I think this is because Josh want's a streamlined editor so it's easier to nail down issues. +1 for dreaming though. 5 - There is no doubt that the flowgraph editor needs to be more of a feature than a "Oh, here's a thing, feel free to use it if you want" element. I sometimes forget it's there and mostly use the entity field in my scripts. 6- Yeah, when I show someone else the engine, it's mostly the physics that throws them off. Of course, other people and myself are use to Havok Physics, but that has a $25,000 royalty fee. 7- Yeah, the prefab system can get a bit screwy if you're doing something more than a simple model with a script. Issues I have most with it is when you instance CSG. 7b- I don't really understand this. And about your whole PBR argument, there should be an easier/better way to make shaders, Your visuals are all about the shaders and how you use them! Shader design should be made for artists in-mind. Of course, this is easier said than done, but it's something to think about. We can't have Shadmar make all of our cool shaders for us forever. If you feel like your project would do a lot better on a different engine, then why aren't you doing just that? I'm developing my game on LE from Source because with Unity, and UE4, I got so overwhelmed as a solo developer. They were powerful, but too powerful for how simple I wanted Vectronic to be. Plus, them publishing royalties, while Leadwerks has none. You simply buy the software, and you're good to publish - you own your game.
  11. I recently updated the Leadwerks Extended Executable with more shaders, and hot fixes. Fetch and pull this update in git. I wanted to post this yesterday, but I was having issues. Fix 1: No more crashing upon Alt+Tabbing This fix is eventually gonna be made engine side, but I was not sure if Josh plans on that being pushed to the default branch, or the beta branch. While the beta and default branch are synced, I jumped the gun and fixed it. //---------------------------------------------------------\\ // This will be fixed engine side in a future version of LE. // For now, we are gonna apply this patch. if (window->Active()) { // Update the world. world->Update(); } if (window->Minimized() == false) { world->Render(); } //---------------------------------------------------------\\ 2: Fixed saving conflict between the options and advanced options panel. Before I went to bed last night, I noticed that if you edited a property on the advanced panel, then edited a property on the options menu, the old value you just changed on the advanced panel would reset. This has been fixed by reloading the xml file before it saves values. 3: Fullscreen mode will now always get the current display resolution. In the initial release, the application would get the size of the display and store it in the settings.xml file. Although this was a good idea, I realized that this could be bad as a display can change if the user want's to play your game on his 1080p TV while they have a 900p monitor. If fullscreen is enabled, it will now ignore the resolution stored in the settings file, and just fetch the current display size from the System. The screenwidth and screenheight properties are now only used for windowed mode. 4: More Shaders! I've added animated versions for the color-emission, cubemap, and detail model shaders. I'm currently working on some documentation for this, and will update the opening post of the tread with Google Doc links to them. I've also set a Trello board for this so you can see what's next on the list for this project. Hopefully it will not become a wasteland like my Vectronic Trello. Although I feel that this is solid how it is, continue to add your input and suggestions.
  12. Doing so will prevent additional code in scripts such as a check for preventing the mouse locking to the center when minimized Also, I'd make sure it flushes any keys and mouse clicks before the world gets unpaused.
  13. When the Linux build of the Game Launcher is available, I recommend only having your game on there. This way, it will easier to manage updates. I'm gonna be honest and say I'm not your target audience so I feel like I can't really give you valid input. But I still wish you the best of luck!
  14. You can also just prevent the world from updating when the window is not active or minimized to fix the mouse bug, but I'm glad to see that this sort of thing is getting built in.
  15. The way it works now is great, but I'm thinking having it disable creating bak files on first time generation would be the biggest improvement, This way, the project always starts out clean. It would also be neat to having the power to exclude certain files from the common folder, and the option to inherit other templates.
  16. I'm happy to hear that you like it Josh. Just a reminder that anyone can edit the ClientScheme.xml script to customize colors and fonts to make the UI fit their game. For instance, "A Demon's Game" might want to have black panels, a spooky font, and a red highlight color while Vectronic would be totally different. If workshop support for templates comes, I'll be more than happy to put it up there for more exposure, while keeping the git for active builds. I hope the behavior of the Project Manager improves with it so it can handle various conditions and options for template authors. Right now, it seems to copy the common folder, then the selected template. (Which you can see here what happens when the template and common folder have a file with the same directory and name.)
  17. It's not because I could not get it to include the .cpp/h files although I added them in text. I'm using VS2015 because of SQL server issues with 2013, so I did not want to replace the solution. I'll look more into this. For now, just add everything under Source/. The stock .sln files should be generated upon creating a project with the template.
  18. Hmm, You should be able just to open the copied Code::Blocks and add all the files in. the solution should automatically be set up to work with the LE libraries. From what I can recall, getting all the dev packages for OpenAL and such was a pain, and it took a bit of Googling. Keep me posted on how you make out.
  19. In the default script, you can use -fullscreen launch option to enable fullscreen. But yeah, I feel that the issue is when the window is minimized as alt-tabbing in windowed mode does not crash, but alt-tabbing from fullscreen does, which Windows auto minimize the window.
  20. You use import if you have collision defines or functions you wish to use throughout your code.
  21. Windows 10 right? Because with Win8.1, I did not have this issue. It also happens when you call window->minimize in C++, but it's more noticeable when you alt-tab from fullscreen mode even if you pause the world like this: // Check to see if the window is active. // Pause the game if it's not. if (window->Active()) { // Update the world. world->Update(); }
  22. I have a trade certificate in graphic design, so I just make my logos.
  23. I'm not sure if I fully understand your question, but I'll do the best I can to answer it. Basically, since there is no Linux build, the Linux Executable that gets copied to your project is the stock one and not LEX. You should not really worry about your Linux version until near release. I just released this, so things might change over time. If you're a Linux developer, I understand your frustration of Windows getting served first, but I currently don't have anyway of compiling the application for Linux at the moment. If you're a Linux user with the Standard Edition, and you wish to compile this, I'd be more than happy to see a pull request of the Linux executable and any code adjustments if needed.
  24. about: The Leadwerks Extended Executable Template (LEX for short) is a third party, and unofficial template for the Leadwerks Game Engine. The template is aimed at developers who are most interested in creating stand-alone games. The template is centered around the executable which contains a functioning options panel, a menu that can be customized, and various useful scripts. Although it's more aimed at stand-alone releases, the template is set up so you can still publish demos to the Game Launcher. Although the executable will not upload to the workshop, you can still stay connected to your fan base without destroying your stable stand-alone project. After an entire summer of development, You can now clone/fork the project on GitHub! Read the Readme for information on setting it up. Documentation Setting Up Customizing the LEX UI Answers for Expected Questions: Q: Why is the appreciations LEX, and not LEE? A: Don't ask why, I just like LEX better. Q: I'm new to Leadwerks, should I use this? A: I'm going to say no, not now. Get to know the engine with the official templates more before looking at this. Q: Will this work if I don't own the Standard Edition? A: Yes! With the executables pre-built, you're off to start your game using Lua! With the default main script, your game will still work with the game launcher. Q: Is this free to use; even for my commercial game? A: Yes! This is why I created this; To get people a jump start on their commercial projects. Q: How often will this be updated? A: The master branch will be updated with every new release of Leadwerks. A beta branch is available and will be actively updated during the engine betas. If you are using a beta branch of the engine, it's recommended you use the beta branch of LEX also. Once a new version of the engine is released, it will be merged with the master branch. Q: Why no Linux build? A: Because my Linux machine took a dirt nap and I can no longer build code for Linux anymore. I recall coding most of the UI code in Code::blocks, so it should build ok if you are on Linux with the Standard Edition. Q: Why a Template? Why not just release the executable, source, and needed files? A: Templates are a one time install, and you can use the template for multiple projects. I also wanted some scripts to show off how to communication to the application, as well as common scripts I actively use. Q: I don't want/like this template, but I want the Executable. What would I need for it to work? A: The application still crashes if there is missing files, which I plan to fix eventually. You'll need the application (Duh), ClientScheme.xml, and the UI folder under materials. In main.lua, you need to call the App class. title="MyGame" local startmap = "" local backgroundmap = "" app = App:Create(title, backgroundmap) app:SetStartMap(startmap) --[[ We loop the app here like this, and not in the app class in code so we can still communicate with the App class in other scripts. --]] while app:Loop() do end If you are still having trouble getting this to work, take a look at the main.h file of source code as all the files needed are listed there. Q: When I make my project, there is already bak* files! Why? A: This is because the Project Manager first copies the Common folder, then the selected template resulting in creating bak files for the common files. There is a batch under tools that deletes all bak files. Be careful though! It's a simple batch file with no checks at the moment. If a batch file that deletes files sounds scary to you, then don't use it, delete it! Q: Do you plan on making tutorials/documentation on how to use this? This looks all confusing! A: Yes. I'll write blog posts and link to them in the this opening post. Q: How do I customize the menu and panels? A: Edit ClientScheme.xml. Special Thanks And Conclusion First off, I'd like to thank the entire community as a whole. Although you did not help directly, searching through the forums of how to do various things really helped. I personally like to thank tjheldna for his work of tjui which it's source helped me a lot. I'd also like to thank Joshua's Leadwerks Template for showing me how to be a better programmer overall. Finally, I'd like to give credit to nick.ace and shadmar for the cubemap shader which is included with fixes for it to work in 3.6. I hope you find this useful for current/useful projects. Please provide feedback and feel free to ask any questions at anytime. If you find any bugs or issues, feel free to post an issue report in the GitHub, or report it here and I'll post it there for you. GitHub: https://github.com/reepblue/LEX-Template
  25. Huh, this maybe why I had trouble when I tried to run Linux on my main machine. I think the best way I've found to cross-develop is to have 2 machines with the project on a git. Of-course, not everyone has 2 PCs, and the only need to cross-develop is if you're building applications for each OS.
×
×
  • Create New...