Jump to content

reepblue

Developers
  • Posts

    2,503
  • Joined

  • Last visited

Everything posted by reepblue

  1. It doesn't compile. I think you still need msvc installed. Visual Studio is my go to for C++ but if/when this and the new engine go multiplatform, VS code should be supported. Also nice video Josh, I enjoy watching them. ?
  2. All dlls are loaded at start up but I don't think OpenGL is initialized until the context is created. You sadly need a context class to create a world class with Leadwerks. If you have the C++ dlc, you can look into calculating physics with the newton api directly. Not a network guy or a physics guy but that's what I got.
  3. I believe it's the second argument in Map::Load() which you set to false. This just prevents the Start function from auto calling if an entity has a script attached to it. If there is no script attached to the entity, there's no script to execute. You need atleast the Error.lua script and the GUI scripts for the app to function. As for your game, just don't attach scripts to entities.
  4. I mean, you could make games with it but you need to be creative. ?
  5. You could modify the slider script to apply gravity force on the object at start and once the object collides with the world, you release the joint.
  6. Much better, thanks. Still deciding if this is worth doing in a LE4 game. The only upside I see is knowing what monitor to display the game on.
  7. Well, it works but the scene only updates if the mouse is moving. Not sure if I'm doing this correctly, but it's still neat. #include "App.h" int main() { UltraEngine::Print("Hello world!"); auto display = UltraEngine::ListDisplays(); shared_ptr<UltraEngine::Window> mainwindow = UltraEngine::CreateWindow("Leadwerks + UAK", 0, 0, 1024, 768, display[0], UltraEngine::WINDOW_TITLEBAR | UltraEngine::WINDOW_RESIZABLE); //Create User Interface auto ui = CreateInterface(mainwindow); auto sz = ui->root->ClientSize(); //Create widget //auto panel = CreatePanel(50, 50, sz.x - 100, sz.y - 100, ui->root); shared_ptr<UltraEngine::Window> leadwerkswindow = UltraEngine::CreateWindow("Leadwerks + UAK", 0, 0, 800, 600, mainwindow, UltraEngine::WINDOW_CHILD); Leadwerks::Window* lewindow = Leadwerks::Window::Create(leadwerkswindow->GetHandle()); Leadwerks::Context* context = Leadwerks::Context::Create(lewindow); Leadwerks::World* world = World::Create(); lewindow->SetActive(); auto button = CreateButton("Button", 850, 200, 120, 30, ui->root); if (!Map::Load("Maps/start.map")) return 1; while (!mainwindow->KeyHit(UltraEngine::KEY_END)) { if (mainwindow->Closed()) break; Leadwerks::Time::Update(); world->Update(); world->Render(); context->DrawStats(2, 2, true); context->Sync(false); const UltraEngine::Event ev = UltraEngine::WaitEvent(); if (ev.id == UltraEngine::EVENT_WIDGETACTION) { if (ev.source == button) UltraEngine::Print("I'm still active!"); } } return 0; } Something simple like this seems to work fine. #include "App.h" int main() { UltraEngine::Print("Hello world!"); auto display = UltraEngine::ListDisplays(); shared_ptr<UltraEngine::Window> mainwindow = UltraEngine::CreateWindow("Leadwerks + UAK", 0, 0, 1024, 768, display[0], UltraEngine::WINDOW_TITLEBAR); Leadwerks::Window* lewindow = Leadwerks::Window::Create(mainwindow->GetHandle()); Leadwerks::Context* context = Leadwerks::Context::Create(lewindow); Leadwerks::World* world = World::Create(); lewindow->SetActive(); if (!Map::Load("Maps/start.map")) return 1; while (!mainwindow->KeyHit(UltraEngine::KEY_END)) { if (mainwindow->Closed()) break; Leadwerks::Time::Update(); world->Update(); world->Render(); context->DrawStats(2, 2, true); context->Sync(false); } } The only benefit of doing this is tools and having more control over multiple monitors. For some reason I was thinking I could easily draw images to the context, but that's a whole different thing. Still really, cool. Maybe you should test the app kit by redoing the Leadwerks Editor. This way you have a bridge/starting point for the new editor maybe.
  8. I'm taking this you upgrade the project to use v141 / VS2019 tools. I'll give this a go!
  9. Isn't there more differences with the settings besides the compiler? I recall there being other things I had to change when I was writing my project builder for the new engine. For the record, I imported UAK to Leadwerks, and not the other way around.
  10. I don't think this will work. The engine is set for VS2017 and C++ 14. I'm uploading my project here. It would be very cool if you updated Leadwerks to support the app kit. It'll be an excuse to finish and release 4.7. ? If you chose to do this, I'll definitely benefit. from this. UAKTest.7z
  11. BRB, Gotta integrate UAK with my game.
  12. Got logic gates working. They all use the same model and actor for each. (Minus the door state, it uses a different actor) and I just create a new plane in code and map it's signage to it.
  13. Finished Teleportation. Doing these flash chambers for fast and easy transitions.
  14. Again, I was gonna wait until the new engine but I kind of wanted to get something out the door. Also a great way to flex my Leadwerks 4 skills.
  15. I recall doing a test in which I've created a bunch of brushes and seeing I was still getting > 200fps. Then I did the same test with box models and it was unplayable. Granted, It was just models placed in the editor but that is what I wanted a test. Even if the scene is split up, 20 models is still better than the full 1000. The thing I'm mostly worried about to be honest is lights. I have my game capped at 120fps so if that doesn't dip, I should be fine.
  16. I was gonna start this on Ultra but it seemed like everytime I got something implemented, Josh would change the api around and I'd be going through fixing things. Besides, the concept is simple enough to be on Leadwerks and I got wla bunch of code I can reuse.
  17. The documentation site is still really broken on mobile.
  18. Cyclone is a first-person puzzler in which players solve a series of challenge by freely placing cyclonic vortices within the environment. The game is currently in development and will hopefully be released soon. I've been doing a lot of research/tinkering over the years (The very first concept was done in 2017!) but I think I figured out all the really hard parts out and I'm ready to finish this. The goal is to make a very small game with the Leadwerks engine and see what happens. Here's a video of the prototype from last year. I restructured the code so it's less of a rat's nest and sounds now properly get deleted as I just tell the entity to emit my needed sounds and the engine takes care of the objects for me. Here's a video of the current build with the base functionality of the cyclones in. (In the previous build, the wall bouncing didn't 100% work) I decided to make a new thread here as I feel the game pages get no attention. Plus, the community has not been as active with projects since the announcement of UltraEngine so hopefully this inspires more people here. Here's some of my notes: To help with performance, I'll be mostly using CSG brushes whenever possible as those are free during runtime. A scene with 1000 CSG brushes will run much faster than a scene with 1000 models. I plan on only shipping 10 or so maps. Game will start with a fade in, and will end with a fade out. I think I want to go for a dark warm style something like the image below. This will also help with performance and limit point lights popping in and out due to AABB tests. I was gonna add a VR mode but it's weird, slow and buggy. I think I still have a crash issue with changing scenes but it throws me to the newton_d library. I'll worry about it later. Plan is to get this shippable by the end of the year. I'll do all my updates on this thread. Cyclone – The Happenings (reepsoftworks.com)
  19. That's actually pretty neat.
  20. Does storing the camera variable once so you're not doing a for loop every tick helps? Really sorry, I am not a shader expert. ?
  21. Level transitions are the old school way of getting your player from one map to another. Here I implemented a system much like HL2. Not much else to say, but I should be ready to talk more soon. (Hopefully!)
  22. It might have something to do with the fragData. Not an expert on shaders but I suggest you load the null shader and figure out what's causing the conflict. out vec4 fragData0; void main(void) { vec2 icoord = vec2(gl_FragCoord.xy/buffersize); if (isbackbuffer) icoord.y = 1.0 - icoord.y; fragData0 = texture(texture1,icoord); }
  23. Try it with the null shader. If it still doesn't work, then it has something to do with the final result. Might want to ask Josh directly about this. Null Post Shader - Game Art - Leadwerks Community Adding Postprocessing shaders does something. Probes don't work right without an effect loaded to the camera, and it might also be the cause of your shader not working. Really interested in this, I could use it in my project.
  24. Ok, I probably missed that looking thought the functions header. I don't need it now, it was something I was thinking of when writing my code above.
  25. Can we have a function like this in UAK? I wrote this for Leadwerks to access the Window's Font Directory. //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- std::string GetSystemEnviroment(const char* pszEnv) { #ifdef _WIN32 return std::string(getenv(pszEnv)); #else // ???? #endif return ""; } My use case: //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- std::string GetSystemFontDir() { std::string path = "Fonts/"; #ifdef _WIN32 std::string syspath = GetSystemEnviroment("WINDIR"); path = Leadwerks::FileSystem::RealPath(syspath); path = path + "/Fonts"; #else // Not sure what to do here for Linux. DMsg("STUBBED: System font loading for linux!"); #endif return path; }
×
×
  • Create New...