Search the Community
Showing results for tags 'linux'.
-
One month ago I began work to investigate what it would take to bring Ultra App Kit, the foundation for our new generation of game development tools, to Linux. Today I am happy to share my progress with you and discuss some of the things I have learned. Developed by MIT in the year 1984, X11 is an interesting beast that is easy to start with, but can become quite difficult once you get into the details. (Wayland support is of course an obvious step in the not-too-distant future but I have to work with what exists here now today and Ubuntu 20.04 still uses X by default.) The single hardest part had to do with calls to XSetInputFocus on windows that had not yet been mapped. X has a weird asynchronous design, yet XSetInputFocus does not seem to get added to the command queue and instead depends on the mapping (visible) state of a window right now. That means that is you create or show a window and then immediately activate it, an error will occur that looks something like this: Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 42 (X_SetInputFocus) Serial number of failed request: 12 Current serial number in output stream: 12 The way around this is to call XMapWindow and then wait on the event queue until a MapNotify event for that window occurs, adding all other events into a list that can be evaluated on the next call to WaitEvent(). The time elapsed is checked inside the loop in case something weird happens and the desired event is never received: void Window::Show() { if (!Hidden()) return; XMapWindow(display->GetHandle(),xwindow); XMoveResizeWindow(display->GetHandle(), GetHandle(),m_position.x,m_position.y,size.x,size.y); XFlush(display->GetHandle()); XSync(display->GetHandle(),false); auto engine = GameEngine::Get(); XEvent ev = {}; auto start = Millisecs(); while (xhidestate) { XNextEvent(display->GetHandle(),&ev); if (ev.type == MapNotify and ev.xany.window == GetHandle()) { xhidestate = false; return; } if (engine) engine->storedxevents.push_back(ev); Sleep(1); if (Millisecs() - start > 5000) { Warn("MapNotify is taking a long time to be received. This may cause window errors."); return; } } } POSIX timers are strange creatures that seem to follow rules all their own. A timer callback gets triggered during any call to sleep() when a timer tick has occurred, but a mutex lock inside the callback will freeze the program. I ended up using the much simpler timerfd interface. Double-buffering, good text rendering, and alpha blending are all different extensions built on top of the base X11 system. Getting all of this to work together took a lot of trial and error. However, I think you will agree based on the screenshots below that this work has been worthwhile. Multi-select draggable treeview with insertion between nodes Multi-line text display with optional word wrapping Hierarchical menu system with real popup windows For the final leg of development I have set up a small Kickstarter campaign. If you haven't gotten Ultra App Kit yet this is a good opportunity to grab it before the Linux build is released. Ultra App Kit can also be purchase in our store or on Steam.
-
Hello again, hope you are all doing good. So, second post for tonight. I've chosen to install Ubuntu on my main computer as a dual boot as I need to use Linux for school and because I like Linux. I've chosen dual boot because I still want Windows to be running as my main OS for compatibility and ease of use. Today I've finally took the time to install the latest of ubuntu on my computer and I wanted to try Leadwerk on Linux as I was curious. I wanted to open a .werk project but met an error when trying to import it inside the project manager. The project was created on Windows and was already far in development. Anyway, I thought it was a compatibility problem with Linux and windows. To test this hypothesis I create a new, first person shooter game to try. When I launch it inside the editor the game crash instantly. Inside the console is this message: I don't really understand, I make sure of everything before installing ubuntu to avoid any problem. I'm sure the installation process was complete and successful without any errors. And I installed Steam and Leadwerk correctly on Ubuntu. I really don't know from where this error is coming. I'm a bit rusty with Linux, it's been a pretty long time since I used it, so am I missing something (probably). Anyway, thank you very much for your help. Have a good night/day.
-
Hi. Trying to use Leadwerks on Ubuntu 18.04 64bit with a Geforce GTX 750 Ti but when I try to open an existing project or start a new one, after clicking OK to load it, Leadwerks crashes. Nothing is written in the Leadwerks.log. I'm using the latest proprietary drivers and to use the old version is not an option in case that would be a solution. Could anyone help? I mean, it a fresh install of the OS and Leadwerks, so whatever the problem is, it must be solved on Leadwerks side. Thanks.
-
Created a script this morning to load a cylinder with an attached script, however the material does not seem to load for the cylinder, or a cone, shaped CSG. Spheres and boxes load without issue. Not really sure why the materials are not loading, but I am hoping someone could clear this up. function Script:Use(entity) local bottle = Model:Cylinder() local material = Material:Load("Materials/Developer/bluegrid.mat") bottle:SetMaterial(material) bottle:SetScale(0.15,0.65,0.15) bottle:SetPosition(-4.4,1.6,1.9) local shape = Shape:Cylinder() bottle:SetShape(shape) bottle:SetMass(1) bottle:SetScript("Scripts/Functions/PickupHealth.lua") end
-
I cannot find a way to 'autoscroll' the debug window text. It would be nice if it was possible to set it to 'autoscroll on ouput', so that you can easily see the latest messages that get's printed out. (Running on ubuntu, guessing it's the same on windows, but I have not tested on windows because I do not have that). It's not easy to debug when you debug 'blind' and then have to scroll down and read the output afterwards. Makes it very tricky. Also - the output window on the main editor screen - would be nice if that one also could show the same text as what the output\debug window in the script editor shows. That would make it easier\faster to debug.
-
Hello. When I started creating anything on Linux I discovered that bug. When you run a game window appears, sounds are playing but screen isn't updating (when I walked I heard it saw the window but nothing happened). I used sample projects, and my own.
-
Right now the compiled *.o files are generated in the same directory as the source files, which is a bit messy (at least according to me). It would be better of the ended up in its own directory. This is simply done by changing one line in the template $PROJECT_NAME.cbp. Change this line <Option object_output="../../" /> To <Option object_output="obj" /> and all compiled object files will end up in folders at Project/Linux/obj
-
If you are running Linux as I do there ain't to many options to generate terrains. However then we have Blender and I found that its actually a quite nice terrain tool. Works in all platforms. So here you are http://www.youtube.com/watch?feature=player_embedded&v=0oiY-ZgHxcY
-
On this tutorial: http://www.leadwerks.com/werkspace/page/tutorials/_/editor-interface-r1 It says: "By clicking with the left mouse button in one the viewports, we make it the active viewport." It is not obvious when clicking in the different viewports which one is active. The Perspective view always appears to be active. There is no visual indication that anything happens. That only reason you can tell that it worked is because the brackets (][) work to change the grid size of the correct window.
-
Hello, I really like the framework, but in the editor (on Linux) I have a couple of things which drives me crazy Delete key does not trigger delete... so no hot key SpinBox-es does not allow to use the mouse wheel, neither you can hold the up or down arrow, so I always have to write numbers if I want to change big in the amount. Of course I'm running on an unsupported Fedora, with XFCE so if someone could confirm that the situation is the same on the Ubunut, that would give a big help... (for these things I'm ready to reinstall my system ) Opinions ? Other things you realized ? Thanks a lot for this great framework ! (Just pulled some objects from blender, crazy how well this works...)
-
I've noticed during the testing, performance is really bad. Whether it's the AI testing level (3-10 FPS), 2 lights+floor+kicking around a box, or a particle emitter with high particle count, as soon as something starts happening it is visibly choppy. It is bogged down from 200 FPS to around 20 FPS with hardly anything going on, and I don't see why that could be, it's not like many unnecessary things are being rendered. (the moving platform level has more lights and moving shadows, unless that's different because the fixed movement path allows the shadows to be buffered) Now my computer is a bit outdated (i7 860 CPU, GTS 450 GPU, 8 GBs of RAM), but it doesn't seem like it should be having this much trouble just from lighting, especially when I can play other games on medium/high graphics with better performance. I'm not sure if this is a general issue, as I've only tried the Linux version, so it very well could be only an issue on that version of the software.
- 4 replies
-
- performance
- shadows
-
(and 1 more)
Tagged with:
-
I am trying to create a HUD out of some png images - but whenever I draw the image, it shows white where it should be transparent. The image is saved as a png with an alpha channel, but I tried tga as well with the same result. I am using 3.2 Indie Edition on Linux. The image file is attached. Here is my code to load the image: function Script:Start() self.texture = Texture:Load("Materials/HUD/hud.tex") end And here is my code to draw it: function Script:PostRender(context) context:SetBlendMode(Blend.Alpha) context:SetColor(1, 1, 1) left = context:GetWidth() - self.texture:GetWidth() top = context:GetHeight() - self.texture:GetHeight() context:DrawImage(self.texture,left,top) context:SetBlendMode(Blend.Solid) context:Sync(); end What I think the problem is: The automated conversion to textures is converting all images to DXCT1 RGB which has no alpha channel, but the working transparent textures that come with the editor use RGBA.
-
Thoughts on how Indies should look at platform market share.
DerRidda posted a blog entry in DerRidda's Blog
This was planned as a response to this thread in the micro blogging system (See: http://www.leadwerks.com/werkspace/statuses/id/7596/) but look at the size of it and you will see why I made it a proper blog post instead. ___ Here's a hard truth for indie devs: Your stuff isn't anywhere near popular enough that you could even consider the dynamics of the entire market as you do not have a snowballs chance in hell of getting that kind of traction for your product. You are not going to reach the clear cut and homogeneous entirety of the Steam user base. Instead you are probably going to reach a barely predictable heterogeneous fraction of it. The majority of the market will simply not care so addressing an under served niche audience as well as the bulk of the market can be a very prudent choice. There's a reason why all three big Mac port publishers (Aspyr, Feral and Virtual Programming) have collectively started rolling out Linux ports. They understand the dynamics of a niche market, they have done business in one for years, exclusively. Check out these sales data articles (https://www.gamingonlinux.com/articles/sales-statistics-from-developers-part-3.4090), they are mostly concerned with Linux but quite often include Mac data as well. While some of these numbers are silly low ( often owed to the fact that these ports released months after the initial Windows only release and if you look at Rust in article 1 and 3 they manage to catch up) both platforms combined can run anywhere between 6-15 percent regularly, significantly more in extreme cases. It's mostly the popular indie titles that have platform statistics more in line with total market share. But be frank with yourself: How likely is it that your game is going to be the next Rust compared to the likelihood of it being any of these games you have never heard about before? Could you honestly just ignore around 10% of total sales? (Much more in percent if you look at it as an increase over a Windows only release.) In essence you are running the Lemonade stand on the street so thinking like you were the CEO of Coca Cola doesn't exactly apply to you. And while Mac's growth is certainly limited due to the nature of being based on premium products (Some people will never shell out this much extra for a computer while cheaper options exist.) Steam Machines could increase the size of the Linux install base enormously while having just about no chance of negatively affecting the Linux market share. The people that are already using Linux for gaming on desktops do not care whether or not console machines do well or fizzle into irrelevance. -
Hello, I have been trying to do some research on the engine for my future projects. Now, I am unable to find information on the licenses (or maybe I didn't look hard enough.) If I bought the license on steam for Windows, would I be able to use that license on the Ubuntu Software Center and use it on Ubuntu without having to pay twice?
-
Hello everyone. Thanks for all the help getting going thus far. I have a dream, that I want to turn into reality. The dream is that I want a career in game development. While I'm still in senior high school now, I am taking a digital media class, and have been doing artwork for more than a year now. That said, my goal for right now is to make a game for the Linux OS using Leadwerks. To turn this goal into reality, I would like to join a team. I have good social skills, can work well with others, and I have a decent ammount of technical experience. My technical experience is outlined below in a timeline of events in chronological order: -Started programming in Python and C++. This is on-going, and I plan to learn LUA as it is much less complicated than C++. I have been programming for more than a year now, off and on. -Started using Gimp image editor on Windows. I use Gimp as my image editor to date, and I have about a year-ish experience using Gimp. -Experience using Autodesk Softimage XSI to make models on WIndows OS (before I converted to Linux) This lasted for about a year too. -Started using Audacity and working with sounds. This is on-going, and I have been using Audacity for about 4-5 months now, off and on. -Started using Blender as I began to have a distaste in expensive proprietary programs. While I used the student version of XSI which is legally free, I still didnt like it that much. -Converted to Linux -Have been using Blender now consistently for about a month or so, getting into the groove of how Blender does things. I feel like I can use Blender rather well, and I'm getting better every day. All in all, my preffered area of help if I were to join a team right now would be artwork, in the form of textures or models. Note that I havent listed any experience in level design. Not only am I really awful at creating game levels (in other engines mostly), its not my area of interest at this time. Other than that, my only OS right now is Linux. I hope that that is not going to cause problems. Models and textures are cross platform (or at least should be cross platform...) anyways, so thats no big deal. Wanting to join a team has also been a goal of mine. If you guys are interested, let me know. Feel free to give me a trial task to do if needed. I look forward to hopefully being part of a team and making games for the Linux OS!
-
Hello, I've been following Leadwerks for some time now, and have been kicking myself for not buying it when it was on sale. Anyhoo, I was wondering why the store on the website has dissapeared. Usually when I clicked Store it would show you the different versions of Leadwerks you can buy. Now it just links to the Steam store page. I would like the buy a DRM free version of Leadwerks, for Linux. I know it was possible in the past. I tried out a beta. And if it would include a Steam key that would be grand. So if the website ever becomes offline I could use Steam. And if I can't use Steam I can just download it off the website. I tried googleing and the forum search but I could not find anything about this. Regards, Gyrth.
-
Following completion of their successful Kickstarter campaign to bring Leadwerks’ game development software to Linux, Leadwerks has announced the release of Leadwerks Game Engine for Linux on the Steam distribution platform. This provides Linux users with a powerful tool to easily create their own 3D games. Over the last year, Leadwerks has focused on desktop Linux as a platform for creating and playing games. For many users, Leadwerks provides the last missing application they need to move entirely over to Ubuntu or another Linux-based OS. With Leadwerks for Linux now available on Steam, developers can build and play games without ever leaving Linux. Bringing Leadwerks Game Engine for Linux to Steam means that existing games can be more easily deployed to Linux. The Leadwerks Game Player allows users to play games published through the Steam Workshop. In most cases, games developed for Windows can be played on Linux with no changes and no recompiling, due to Leadwerks’ platform-agnostic design. Linux support also opens the door for Leadwerks developers to publish games to the living room. Last year Valve Software announced the SteamOS, a Linux-based operating system for game consoles. Although SteamOS is still in development, Leadwerks for Linux and SteamOS promise to provide indie game developers with a way to deploy their games to the living room quickly and easily. Leadwerks Game Engine is a powerful and easy to use development tool for building 3D games. The software has recently grown in popularity due to its ease of use, royalty-free license, and strong support for C++ and Lua programming. Thanks to the quality of modern Linux graphics drivers, Leadwerks is able to deliver high-end 3D visuals on Linux with an advanced deferred renderer using OpenGL 4.0. The Indie Edition of the software can be purchased on Steam for $99.99. About Leadwerks Software Leadwerks Software was founded in 2006 to build powerful game development tools that are easy to use. The company launched Leadwerks 3 in April 2013 at the GDC expo. Last summer, the company conducted a successful Kickstarter campaign to bring Leadwerks to the Linux operating system, reaching over 200% of their goal in just six weeks. A concurrent Greenlight campaign for Steam was also successful, making Leadwerks the first 3D game engine approved for distribution on Steam. In June of 2014, the Leadwerks Game Player on Steam opened the door for indie game developers to publish their games to the Steam Workshop, with no waiting period and no approval process. Although it’s been available on Steam for less then a year, Leadwerks users already have a dozen games and concepts on Steam Greenlight.
-
I've been having trouble getting SDL to work with Leadwerks on Linux. It builds fine on Windows, but I've been getting the following error: ‘SDL_GameControllerAxis’ is not a class or namespace I set up Code::Blocks to use these: Compiler search directories: /usr/include/SDL2 Link libraries: /usr/lib/i386-linux-gnu/libSDL2.so Options: -lSDL2 -lSDL2main Am I missing anything? Could I be pointed in the right direction? I have installed the libsdl2-2.0-0 and libsdl2-dev (with the ":i386" option) packages. Thanks!
-
It seems like I have a missing file when compiling. I looked in the directory where it's supposed to be (Leadwerks/Include/Libraries/glew-1.6.0/include/GL/) and I can't seem to find it. This occurs when compiling on Ubuntu.