Bare with me im not a very good story teller .
I will not be focusing on basic leadwerks usage and assume the reader knows a thing or 2 about leadwerks.
So lets start with the basics,
Create a window and context.
bool App::Start()
{
window = Leadwerks::Window::Create("GUI Tutorial", 0, 0, 1024, 768);
context = Leadwerks::Context::Create(window);
return true;
}
bool App::Loop()
{
if (window->Closed() || window->KeyHit(Key::Escape)) return false;
return true;
}
Now
Our website stores a lot of user generated content in the forum of images and attachments. Before Leadwerks Game Engine was on Steam the demands were even higher, since we had our own downloads and gallery sections that stored data on our server. Since the implementation of Steam screenshots and Workshop a lot of that has been offloaded onto the Steam servers, relieving our server from some of the data storage and transfer costs. (If you're interested, all our old content is archived on Googl
Hello Leadwerks Forum its me again. The guy who releases too early
Theres going to be a new game inspired by the Polybius pasta in the player soon. I just wanted to explain the core mechanics of the game and why it is more important than my free time. For some time, I have developed games on other Engines but the tournament got me back to my haven again ,where I am the most confident with my skills. This is why I can try new or more absurd game Ideas like an "intense psychoactive and addict
This is my entry for the Halloween Game Tournament 2017
Behind Enemy Lines
Prolog:
You are Sergeant Cole, a member of a special unit that operates under cover. You and your comrades have the mission to destroy drug fields and facilitys for the production of drugs. .....
Keys
WASD = Moving
F = Flash light
N = Nightvision
T = Holster Weapon
E = Use
Space = Jump
F11 = Show stats
Note:
In the last weeks or month i work hard
Fall is in the air. The leaves are changing colors, people are bundling up, and game developers are itching to try their hand at another community game tournament. How does it work? For 30 days, the Leadwerks community builds small playable games. Some people work alone and some team up with others. At the end of the month, on Halloween day, we release our projects to the public and play each other's games. The point is to release something short and sweet with a constrained timeline, whic
Leadwerks 5 is going to be developed alongside 4.5 with an extended period of beta testing and feedback. My goal is to build the world's most advanced game design software, tailored to the needs of our community and clients. Development will first focus on a new programming API updated for C++11 and then a completely new editor using Leadwerks GUI and based on the workflow developed with our current editor.
The first beta will support the following features right away:
Shared Point
I've begun implementing unicode in Leadwerks Game Engine 5. It's not quite as simple as "switch all string variables to another data type".
First, I will give you a simple explanation of what unicode is. I am not an expert so feel free to make any corrections in the comments below.
When computers first started drawing text we used a single byte for each character. One byte can describe 256 different values and the English language only has 26 letters, 10 numbers, and a few other cha
I have implemented C++11 shared pointers into Leadwerks Game Engine 5 and the following program now works. When you press the space key the box variable is set to NULL and the visible box on the screen disappears:
#include "Leadwerks.h"
using namespace Leadwerks;
int main(int argc, const char *argv[])
{
auto window = CreateWindow();
auto context = CreateContext(window);
auto world = CreateWorld();
auto camera = CreateCamera(world);
camera->Move(0,0,-5);
camera->SetClearColor(
All classes in Leadwerks are derived from a base Object class. In Leadwerks 5 we separate simple and complex objects with the new SharedObject class.
Simple objects like a Vec3 ( a three-dimensional vector), an AABB (axis-aligned bounding box), and other items are all derived from the Object class. Simple objects are created with constructors. When we make one object equal to another the value is copied from one variable to another, but the two variables are still separate objects. Belo
Leadwerks Game Engine 5 moves Leadwerks forward into the future with massive performance increases and more advanced features, it also makes game development easier than ever before with three great new programming features.
Shared Pointers
I could write a whole article about the benefits of shared pointers. Shared pointers are basically a simple form of garbage collection that relieves you from the need to manually delete objects, but doesn't suffer from the slow speed of full garbag
Here I want to present what the "Tower game" is doing becoming !
I got the idea to make a relaxing puzzle 3D game where the player will have to find/build/assemble different elements to discover arts.
Here a picture I found that inspired me this:
Now, I made a little demo video for this, I found the experience somewhat meditative, looking at this floating colorfull infinite world and listening to the sounds. You can turn the music off and listen at your own or just let it pl
Restarted my networking framework yet again. This time I gave it a new name 'Hexe'. The old name was 'Overwatch'. It was named long before the Overwatch game came out. It was based off the Half-Life Overwatch. It oversaw the players, ai spawning, contained a secondary path-finding system, but had no networking as it was not native to the LUA side of Leadwerks. 'Hexe' is German for 'witch'. I don't really know why I chose the name but I have the feeling I will be able to put it to good use. Maybe
Today I am excited to announce plans for the release of the first Leadwerks 5 beta version. Leadwerks 5 will roll out sooner rather than later, employing an extended beta period during which versions 4 and 5 will live side-by-side, using the same code base, with preprocessor definitions to compile each version. This allows me to fix small problems without forking the code, while I can implement new changes in version 5. The first features implemented will be the use of smart pointers for all
I work really hard on my new projekt. With the next Event from Josh i would show the first Alpha.
Meanwhile, I can also program more in LUA. I am really happy because i modified Hancinators "MeleeScript" with patrols. I put in a search function so the NPC continue his Path if he lost sight to you. Also i programmed a "Effect Script" so the NPC make "something" if the Effect is "true"
Also i try to voiceacting but this is in test at the moment (Jorn is busy at the moment )
Here
Leadwerks Game Engine 5 is being designed to make use of shared pointers. This eliminates manual reference counting, which has probably been the most difficult part of programming games with Leadwerks. Here are three concepts you must understand before you start using smart pointers in Leadwerks 5,
Don't Create Multiple Shared Pointers from One Object
When a shared pointer goes out of scope, it deletes the object it references. If another smart pointer was created separately that re
This shows the fundamental difference between shared pointers and manual reference counting.
Leadwerks 4:
void Material::SetTexture(Texture* texture, const int index)
{
if (this->texture[index] != texture)
{
if (this->texture[index]) this->texture[index]->Release();
this->texture[index] = texture;
if (this->texture[index]) this->texture[index]->AddRef();
}
}
Leadwerks 5:
void Material::SetTexture(shared_ptr<Texture> texture, const int index)
Previously, I talked a little bit about shared pointers in C++11. These use automatic reference counting to track how many variables are pointing to an object. When the object is no longer being used, it is automatically deleted. This is similar to garbage collection, but doesn't involve the massive overhead of garbage-collected systems. In fact, shared pointers simply automate something we were already doing with the Release() and AddRef() commands in Leadwerks 4.
A weak pointer is lik
Finished and added Field functionality meaning its now possible to set the Fields for each widget.
for example the style for a button (Push,Link,Checkbox), or backgroundcolor for panels etc.
below is a screenshot of the fields in action
Next will be finishing support for custom widgets which i already started on as you can see in the screenshot above(colorlabel).
At the moment the way to add your custom widgets is a 3 step process.
First step is adding the widget nam
finished basic exporting to lua or c++ code.
the screenshot below results in the following files based on ExportType.
Menu.lua
--GUI Editor Generated
function BuildMenu(context)
local Menu = {}
local scale = 1
--GUI
local gui = GUI:Create(context)
gui : SetScale(scale)
Menu.gui=gui
Menu.context=context
--Panel
Menu.Panel = Widget:Create("", 0, 0, 1024, 80, gui:GetBase(), "Scripts/GUI/Panel.lua")
Menu.Panel:SetAlignment(tr
This is a simplified change of this workshop item (so credits go there!)
https://www.leadwerks.com/workshopitem?tags=Material&queryType=1&fileType=0&fileid=699303085
A few changes I did:
1) the water.mat:
changed Diffuse color (64,64,64,64) + refraction shader
2) The script, simplified, like this:
Add this script to a box, cylinder, what you want...With the water material up there added.
And here the result
sorry Foots