Jump to content

reepblue

Developers
  • Posts

    2,505
  • Joined

  • Last visited

Posts posted by reepblue

  1. 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.

     

    3 bis- Performance improvments (UE4 FPS demo runs faster then LE3 fps demo on my laptop or PC)

     

    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.

    • Upvote 3
  2. 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! :)

  3. What behavior would you prefer? To me that makes sense because the selected template can overwrite a file in the common folder.

     

    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.

  4. 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.)

  5. 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.

  6. 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.

  7. 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.

  8. 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();

    }

  9. 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.

    • Upvote 1
  10. 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

    1. Setting Up
    2. 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

    • Upvote 10
  11. 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.

  12. I've been experimenting with dragging and dropping pivots with scripts already attached to them. It worked out really well minus the dialog box showing up when you edit the object. I then just created all the Leadwerks objects one by one and saved them to prefabs, and seems to be faster and easier than the traditional way.

     

    Decals and Point lights benefit the most from this method. I've attached my prefabs to give you an idea what I mean. Again, only downside to this is that dialog box.

     

    Maybe in the future have all the objects on the left sidebar and if the user holds down on the button/icon, then drags from the button to the scene, the object will be dropped in. If it's just clicked, then it would act like it does now.

    ObjectPrefabs.zip

  13. With mp3 support comes royalties. Leadwerks is advertised to be a royalty free engine, meaning that no additional costs have to be made when you're game ships. If Leadwerks had mp3 support, people would not be able to freely publish their games as they can now.

     

    .ogg support is something that has been requested numerous times so join the club. I've read on older posts that people got it implemented with their projects, but I never could myself.

  14. Thanks to macklebee, the correct answer is to use the count/getnodes function like:

     

    unsigned int xo = System::GetGraphicsMode(System::CountGraphicsModes() - 1).x;

    unsigned int yo = System::GetGraphicsMode(System::CountGraphicsModes() - 1).y;

     

    Then, use those int values for x and y. In this case, I need it to be a char to save to an XML file.

     

    namespace patch

    {

    template < typename T > std::string to_string(const T& n)

    {

    std::ostringstream stm;

    stm << n;

    return stm.str();

    }

    }

     

    std::string sx = patch::to_string(xo);

    char const *pchar_resX = sx.c_str();

     

    std::string sy = patch::to_string(yo);

    char const *pchar_resY = sy.c_str();

    • Upvote 1
  15. With my application, if a settings file does not exist, the main function creates one, and fills it with default values. One of these is to grab the main screen res of the user's monitor.

     

    In Windows, I can do:

     

    unsigned int width = GetSystemMetrics(SM_CXSCREEN);

    unsigned int height = GetSystemMetrics(SM_CYSCREEN);

     

    However, since my HDD with Ubuntu on it died, I can't test the linux variant I've found on the internet.

     

    #include <X11/Xlib.h>

     

    Display* disp = XOpenDisplay(NULL);

    Screen* scrn = DefaultScreenOfDisplay(disp);

    unsigned int width = scrn->width;

    unsigned int height = scrn->height;

     

    Is this correct/will work, or is there a different/better way? I tried using the Count/GetGraphicsModes function, and although it did work on my Linux machine, it did not work on my Windows Machine, and I've read that it's not perfect.

    Thanks.

  16. I think amount of linux users will go up once Steam Machines and Steam Links release with the SteamOS out of beta. No matter what, if Leadwerks runs on all (the big ones) three PC operating systems, anyone with an OpenGL4 card can purchase the editor and play our games; and that's really neat.

  17. I know that there is a tool under "Steam\steamapps\common\Leadwerks Game Engine\Tools" called fbx2mdl. It's an old school console program that the editor uses. If you use a batch program to launch it with pause, it will tell you its parameters. Sadly, this is the only tool that gives you help with compile parameters except VTFCmd, but ALL Valve/Source tools do.

     

    Not sure it can decompile mdl to fbx if that's what you want.

×
×
  • Create New...