Jump to content

Blogs

A few more screenshots, working doors

Have a simple portal door system working with an interior map I've just started working on today.   One issue I'm running into with this setup is that the exterior map is completely unloaded when moving into an interior map. This causes a huge load time when you exit the building. I'd really like to be able to optimize some of that but so far I'm pretty much drawing a blank. Maybe it's a bit too late, will think on it more tomorrow.      

blueapples

blueapples

More Drawing Features

I've added an optional radius for rectangle corners, for use with the DrawRect() command, along with a new gradient mode that uses a second color to draw a linear gradient on primitives. I like the interface for the program Vue, and I am modeling my default widget scripts after this style.     Here it is rendered at 800% scale. This is rendered directly on a window and sub-pixel antialias is used (Microsoft ClearType):     The appearance of the button widget at this point is somethin

Josh

Josh

(Re-)Designing the Game

A year has passed, time for an other update. Exspecially in the last weeks, I have been thinking and working onmy Game for long hours. yay ! A Video from exactly a year ago shows the early Game functions which no longer will be as they are in the final game, unfortunately. (Youtube: Slastraf) Today I am focusing on Game Art, not as much as -programming , just because when I got into making Games, I started off and like to work with 3D programs such as Blender or Designing Levels with the bui

Slastraf

Slastraf

DPI Drawing Issues Solved

I've updated the beta branch (Lua on Windows only) with a new build that solves the DPI scaling issues I previously described. Widget creation still works the same, using the same coordinate system regardless of GUI scale. Widget scripts must use global coordinates in the drawing commands, which means calling Widget:GetPosition(true) and Widget:GetSize(true). Here's the very simple panel script, which simply draws a solid block on the screen to frame child widgets within: function Script:D

Josh

Josh

Idea Fell Apart

At 100% scaling this image appears correctly:   At 200% scaling it falls apart. The line points are in fact scaled correctly, but they are not surrounding the shape as intended:   So I think instead of converting the coordinate system back and forth between scaled and non-scaled coordinates, the creation function needs to multiply the coordinates by the scaling factor. That means if you create a 70x30 pixel widget and the GUI is using a 200% scaling factor, it will actually create a 14

Josh

Josh

DPI Scaling

I've implemented DPI scaling into Leadwerks GUI (beta branch, Lua on Windows only).   To set the GUI scale you just call gui:SetScale(scalefactor). A scale factor greater than one will make it bigger, a scale factor less than one will make it smaller. There is no limit to the range you can set, but negative numbers are probably not good.   Scaling causes the GUI to be drawn at a different size, but widget dimensions and mouse events are still interpreted as though they were at their origin

Josh

Josh

Leadwerks GUI

Leadwerks GUI is now functioning, on the beta branch, Windows only, Lua interpreter only.     GUI Class static GUI* Create(Context* context) Creates a new GUI   Widget Class static Widget* Create(const int x, const int y, const int width, const int height, Widget* parent, const int style=0) Creates a new Widget. Widgets can be made into buttons, dropdown boxes, or anything else by attaching a script.   virtual bool SetScript(const std::string& path, const bool start = true) Se

Josh

Josh

Welcome to WorldSmith!

Starting out a new work log here with a screenshot from my new project. Except for a few models this is entirely created with Leadwerks' Constructive Solid Geometry tools, using textures from Game Textures and terrain generated by L3DT.   WorldSmith is a very ambitious First Person Role Playing Game. I am essentially obsessed with a particular post-apocalyptic action RPG series and figured I should channel some of my creative energy into an attempt to create my own vision of something in a sim

blueapples

blueapples

Improved 2D Drawing Command Set

To provide support for advanced GUI rendering, some of the features I implemented in the refactored window class are being brought into the 2D drawing command set. This includes a lot of text rendering features like word wrap, multiline, horizontal and vertical centering, and viewport clipping.   A new text drawing function includes additional parameters for better control: Context::DrawText(std::string text, int x, int y, int width, int height, int style)   The style parameter can be

Josh

Josh

Beta update available

An update is available on the beta branch. This adds the Window::Center style back into the new refactored Window class, and adds a missing header file in the Professional Edition.   If you'd like to try out a basic implementation of the new GUI, download and extract the attached scripts: Scripts.zip   This code will create a GUI on the rendering context. It simply consists of a solid background filling the screen and a textless button. --Initialize Steamworks (optional) Steamworks:Ini

Josh

Josh

Beta branch update

The beta branch on Steam is updated with a new build. This uses the refactored Window class, on Windows and Linux. The GUI and Widget class are also added, although they are highly experimental and still in development. Both the engine and editor are using the refactored Window class, so please report any erroneous behavior your detect.   Leadwerks is now using GDI+ for some GUI drawing commands, on Windows. You need to update your existing project by modifying the "Linker \ Input \ Additi

Josh

Josh

GUI drawn directly on a window

This code creates a GUI directly on a window, with no OpenGL rendering context created at all. The same scripts can be used for widgets created on a window, a rendering context, or a texture: --Initialize Steamworks (optional) Steamworks:Initialize() --Set the application title title="$PROJECT_TITLE" --Create a window local windowstyle = window.Titlebar + window.Resizable + window.Hidden if System:GetProperty("fullscreen")=="1" then windowstyle=windowstyle+window.FullScreen end window=Wind

Josh

Josh

Even more GUI design + Rooster teeth

This code added to main.lua actually works: --Create a window local windowstyle = window.Titlebar if System:GetProperty("fullscreen")=="1" then windowstyle=windowstyle+window.FullScreen end window=Window:Create(title,0,0,System:GetProperty("screenwidth","1024"),System:GetProperty("screenheight","768"),windowstyle) window:HideMouse() --Create the graphics context context=Context:Create(window,0) if context==nil then return end --Create a GUI local gui = GUI:Create(context) local widget = Wid

Josh

Josh

More GUI Design

GUI* GUI::Create(window); GUI* GUI::Create(context); GUI* GUI::Create(texture);   A GUI created on a window would draw to the window, with no graphics context, and would be used for making 3D applications (like Leadwerks Editor). A GUI created on a context would use OpenGL drawing to render the GUI onto the context. A GUI created on a texture would require the user to manually input events and would be used for interfaces that appear in the 3D world, like a computer panel you can interact

Josh

Josh

Steam Ratings

Our ranking on Steam is 185 ratings with 75% positive, which Steam categorizes as "Mostly positive". This is great. Over the last couple of years the reviews have gotten more positive as more features and better documentation has been added. So at this point, the more reviews we get the higher our rating goes, since our average rating today is better than when we started on Steam.   From what I gather looking at other products on Steam, we're only 5% away from a "Very positive" rating at 80

Josh

Josh

GUI Design

Just thinking out loud here, and I am considering designing the GUI like this:   The GUI class handles events, window clipping, widget layout, etc. Rather than having a bunch of C++ classes that extend a base Widget class, there would just be the Widget class with a Lua script attached to it. The Lua script would handle all events and drawing, so it would determine what kind of widget the C++ object is. For example, here's a script for a simple button:   function Script:Draw(x,y,width,h

Josh

Josh

Leadwerks Game Engine 4.1 Released

Leadwerks Game Engine 4.1 is now available on Steam. This release cranks up the already legendary Leadwerks visuals to new levels of awesome.   Environment Probes The new environment probe entities can be used to add global illumination and reflections to any scene.  Volumetric Lighting Each light in Leadwerks can now display an adjustable volumetric effect using a ray-marching technique to give your game dramatic visuals.  Enhanced Post-Processing Effects Leadwerks 4.1 includes

Admin

Admin

[BallGame] - Easy game development with LeadWerks

Hello everybody. Today I probably will start the first lesson dedicated to developing games with LeadWerks Game Engine 4.1.   Table of contents: Introduction Requirements Project preparation Setting up the project Level creation (Prototype) Ball Script Introduction   This lesson is to create a game where the main character is a ball (or other primitive). By the way, there is such a lesson ( "Marble Game") in the official documentation.   Requirements   Before we be

GlshchnkLx

GlshchnkLx

Hello World

Hello everybody. I first appeared on the website leadwerks, but I've been working a long time with this engine (first seen in 2012, LE2). And in the beginning, I would like to show their achievements in this engine.   A little about me. I am 19 years old, live in the cold and harsh Russia (in fact it is not. We have a warm and beautiful country. All this is the stereotype) is a C / C ++ / C # programmer (3 years) and a game developer (5 years)   If there is a wish, I can help you answer

GlshchnkLx

GlshchnkLx

Implemented a first Fight in Akt2

I have learned much in Scripting and some Lua function as i worked on Akt2. So i implemented a primitive Loading Screen (not realy one but i looks in my eyes nice). Also the performance is better now because i released some entitys if they not longer used.     Feedback is welcome.   Also if something not function.

burgelkat

burgelkat

Beta update available

An update is available on the beta branch. This includes all recent bug fixes, and is a full build with C++ libs for Windows and Linux.   The following header search path needs to be added to your Visual Studio projects: $(LeadwerksHeaderPath)\Libraries\glslang

Josh

Josh

Beta update available

An update is available on the beta branch. This only updates the editor, only on Windows.   The environment probe entity should now be available to create in the editor, for all users.   When shaders are compiled with the "Debug" button (F5) they will now be run through the GLSlang reference compiler first. This can help to catch errors that more permissive hardware lets slide by (Nvidia). The goal of this is to prevent games from not working on AMD and Intel hardware when they use third-

Josh

Josh

×
×
  • Create New...