Jump to content

Ultra Software Company Blog

  • entries
    188
  • comments
    1,259
  • views
    700,481

Contributors to this blog

Leadwerks Game Engine 5 Alpha Zero Released


Josh

8,280 views

 Share

I'm happy to announce the very first alpha release of Leadwerks 5 is now available.

What's New

  • String commands now accept a unicode overload. Add "L" in front of a string to create a wide string in C++.
  • Now using smart pointers. Simply set a variable to nullptr to delete an object. There is no Release() or AddRef() function.
  • Exclusively 64-bit!
  • Global states are gone. There is no "current" world or context. Instead, the object you want is passed into any function that uses it.
  • We are now using constant integers like WINDOW_TITLEBAR instead of static members like Window::Titlebar.
  • Now using global functions where appropriate (CreateWorld(), etc.).
  • Renderer is being designed to be asynchronous so Context::Sync() is gone. 2D drawing is not implemented at this time.

Here's the syntax for a simple program.

#include "Leadwerks.h"

using namespace Leadwerks;

int main(int argc, const char *argv[])
{
	auto window = CreateWindow(L"My Game", 0, 0, 1024, 768, WINDOW_TITLEBAR);
	auto context = CreateContext(window);
	
	auto world = CreateWorld();
	auto camera = CreateCamera(world);
	camera->SetPosition(0, 0, -3);

	auto light = CreateDirectionalLight(world);
	light->Turn(45, 35, 0);

	auto model = CreateBox(world);
	
	while (true)
	{
		if (window->KeyHit(KEY_ESCAPE) or window->Closed()) return 0;
		
		if (window->KeyHit(KEY_SPACE)) model = nullptr;
		
		world->Update();
		world->Render(context);
	}
}

You can get access to the Leadwerks 5 Alpha with a subscription of $4.99 a month. You will also be able to post in the Leadwerks 5 forum and give your feedback and ideas. At this time, only C++ is supported, and it will only build in debug mode.  It is still very early in development, so this is really only intended for enthusiasts who want to play with the very bleeding edge of technology and support the development of Leadwerks 5.

  • Like 1
 Share

7 Comments


Recommended Comments

Why the use of CreateXXX() vs newing up an instance of the class in question? ie. why CreateWindow() vs new Window().

Link to comment
2 hours ago, Rick said:

Why the use of CreateXXX() vs newing up an instance of the class in question? ie. why CreateWindow() vs new Window().

  1. Create() may return nullptr if it was unsuccessful. The new constructor cannot do this. (We don't actually use new anymore. Now we use make_shared<Class>(), which also cannot return nullptr.)
  2. Sometimes an extended class is returned from these commands. For example, CreateTexture() will return a shared_ptr<OpenGLTexture> object.
  3. It looks nice.
  • Upvote 1
Link to comment
On 2/6/2018 at 3:28 PM, Lunarovich said:

I was wandering, what will happen to the Leadwerks 4? Will it be discontinued? Will it receive updates? 

I still have several updates planned for version 4.x. When 5.0 is released Leadwerks 4 will be considered finished and only receive critical updates.

Link to comment

Hey Josh,

I´m planning to buy Leadwerks 5 in the future but I have two questions:

1.Does the new engine contain the the same features as leadwerks 4? Just with a better design and some improvements...

Or is Leadwerks 5 a completely new engine where I have to wait some time to get some of these features?

2. Is it possible to import projects from the current engine 4.x into the new engine?

It would be nice if you upload some screenshots of the current alpha ^^

Link to comment

I’m making major architecture changes and writing a new editor. It’s not a completely new engine but it will ha e a long period of beta testing. I don’t think any features will be removed unless they just don’t make sense to keep. All file formats will still be loadable, but the programming API is undergoing major changes.

Link to comment
19 hours ago, Josh said:

I’m making major architecture changes and writing a new editor. It’s not a completely new engine but it will ha e a long period of beta testing. I don’t think any features will be removed unless they just don’t make sense to keep. All file formats will still be loadable, but the programming API is undergoing major changes.

Ok great! Then I´m going to buy it. That was the only concern i had.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...