LUKASXGAMES Baixar a Engine
Carro laranja numa avenida de Distrito 07, com prédios e postes dos dois lados
Distrito 07 · Captura da demo 1.7.0

Versão 1.7.1 · MIT

LUKASX
ENGINE.

Uma engine 3D em C++17 para experimentar mundos abertos, simulação de veículos e física de personagens.

LUKASX GAMESC++17 / OPENGL 4.5Simulação a 120 HzWINDOWS X64

01 / RUNTIME

O que vem na engine

01

Renderização 3D

OpenGL 4.5 com PBR, sombras em três cascatas, céu procedural, chuva e água.

02

Simulação a 120 Hz

Veículos com suspensão, ragdolls articulados, peças destacáveis e efeitos de impacto.

03

Mundo e tráfego

Ilha procedural com cidade, estradas, pedestres, trânsito, perseguições e lanchas.

02 / Downloads

Escolha como começar

Windows x64 ZIP · 0,64 MiB

Jogar Distrito 07

Extraia o ZIP inteiro e abra Jogar-Distrito-07.cmd. Pressione F1 para ver os controles.

Windows 11 x64 · GPU com OpenGL 4.5 · Teclado ou controle Xbox

Distrito-07-Demo-1.7.1-Windows-x64.zipBaixar demo para Windows

C++ SDK ZIP · 6,9 MiB

Criar com a LukasX Engine

Inclui o código-fonte, as dependências e um exemplo CMake. Comece pelo arquivo 00-LEIA-ME-READ-ME.txt.

C++17 · CMake 3.24+ · MSVC no Windows

LukasX-Engine-SDK-1.7.1-Cpp.zipBaixar SDK
Versão anterior: 1.7.0

A 1.7.0 continua disponível, sem alterações.

03 / NOVIDADES

O que mudou na 1.7.1

Atualização de física e jogabilidade sobre a 1.7.0. O SDK, o exemplo e a demo continuam os mesmos, com estes ajustes.

01

Subidas e carros presos

Mais torque e mais aderência nas subidas, inclusive de ré. Um carro sobreposto a uma parede ou a outro veículo é empurrado para fora, e quem fica parado com o acelerador pressionado ganha um empurrão para o lado livre.

02

Atropelamentos

As pessoas levam de 0,55 a 0,95 s para reagir ao carro do jogador e desviam com passo humano. Em baixa velocidade, manter o acelerador contra alguém por 0,35 s derruba a pessoa.

03

Curvas

A direção responde mais rápido em velocidade de cidade, e o limite de curva sobe de 60% para 75% acima do que os pneus dariam. Acima de 110 km/h o comportamento é o mesmo.

25 testes automáticos passam, incluindo os novos grupos climb e runover. As medições de desempenho são da 1.7.0 e não foram repetidas. As notas completas estão em docs/RELEASE-NOTES.md, dentro do SDK.

04 / INSTALAÇÃO

Instale e compile

O SDK é distribuído como código-fonte. No Windows x64, com CMake 3.24+ e o Visual Studio Build Tools (desenvolvimento desktop em C++ e um Windows SDK), siga estes passos.

01

Extraia o ZIP

Extraia o ZIP inteiro em um caminho curto, como C:\Dev. O código, os shaders e as dependências (GLFW, GLM e GLAD) vêm dentro dele.

02

Abra o terminal x64

Abra o x64 Native Tools Command Prompt do Visual Studio e vá até a pasta extraída.

03

Compile e teste

Rode build.cmd. Depois, ctest --test-dir build --output-on-failure confere a simulação e jogar.cmd abre o Distrito 07.

O ZIP traz também README.md, docs/SDK.md e o exemplo em examples/starter. Se o build falhar logo no início, confira se o terminal é o x64 Native Tools e se o caminho da pasta é curto.

05 / EXEMPLO MÍNIMO

Seu primeiro programa

O SDK inclui examples/starter, um projeto CMake independente que roda a simulação sem janela e sem GPU. Ele carrega o cenário de curva, avança 240 quadros de 1/60 s (480 ticks a 120 Hz) e termina com código 0 se o carro andou mais de 20 m sem impactos.

Rode no x64 Native Tools Command Prompt, na pasta extraída do SDK:

cmake -S examples/starter -B build-starter -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build build-starter
ctest --test-dir build-starter --output-on-failure
build-starter\lukasx_starter.exe

examples/starter/CMakeLists.txt

cmake_minimum_required(VERSION 3.24)
project(LukasXStarter LANGUAGES CXX)

set(LUKASX_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../.." CACHE PATH "LukasX Engine SDK source directory")
add_subdirectory("${LUKASX_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/engine" EXCLUDE_FROM_ALL)

add_executable(lukasx_starter main.cpp)
target_link_libraries(lukasx_starter PRIVATE LukasX::Core)

enable_testing()
add_test(NAME starter_drives COMMAND lukasx_starter)

examples/starter/main.cpp

#include <lukasx/core.hpp>

#include <iostream>

int main() {
    ax::Game game;
    game.resetScenario(ax::Scenario::Corner);
    const auto start = game.focus().p;

    ax::FixedStep clock;
    int ticks = 0;
    for (int frame = 0; frame < 240; ++frame) {
        clock.addFrame(1.0 / 60.0);
        while (clock.nextTick()) {
            game.tick(ax::cornerPilot(game));
            ++ticks;
        }
    }

    const auto distance = glm::distance(start, game.focus().p);
    const auto& vehicle = game.ecs.get<ax::Vehicle>(game.car);
    std::cout << "LukasX " << LUKASX_VERSION << " | " << ticks << " ticks | "
              << distance << " m from spawn | " << vehicle.speed * 3.6f << " km/h\n";
    return ticks == 480 && distance > 20.f && game.telemetry.impacts == 0 ? 0 : 1;
}

06 / CMAKE

Integre pelo CMake

Coloque o SDK na pasta do seu projeto (por exemplo, third_party/lukasx), adicione-o e vincule seu executável a LukasX::Core. O renderer OpenGL 4.5 é um alvo separado, LukasX::Renderer: ative LUKASX_BUILD_RENDERER antes do add_subdirectory.

O fluxo validado usa Windows x64 com MSVC. Projetos são editados em C++ e GLSL. A API é em código-fonte e a 1.7.1 não promete compatibilidade binária entre versões. A demo é distribuída sem assinatura digital.

# Opcional: renderer OpenGL 4.5 (defina antes do add_subdirectory)
# set(LUKASX_BUILD_RENDERER ON)
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/third_party/lukasx" "lukasx-build")
target_link_libraries(my_game PRIVATE LukasX::Core)

07 / LUKASX GAMES

Créditos

Engine criada por Lucas Gabriel (LukasX Games). Código original sob licença MIT. Os avisos de GLFW, GLAD e GLM acompanham cada pacote.