Documentation de Quasar Engine

Explorez les fonctionnalités, les API et les meilleures pratiques pour créer des jeux et des applications avec Quasar Engine.

Introduction

Bienvenue dans la documentation officielle de Quasar Engine, un moteur de jeu open-source conçu pour les développeurs indépendants et les studios créatifs. Que vous soyez un débutant ou un expert, cette documentation vous guidera à travers les fonctionnalités, les API et les meilleures pratiques pour utiliser Quasar Engine.

Pourquoi choisir Quasar Engine ?

Quasar Engine se distingue par sa flexibilité, ses performances et sa communauté active. Voici quelques-unes de ses principales caractéristiques :

  • Open-source : Le code source est entièrement ouvert et modifiable.
  • Multiplateforme : Supporte Windows, Linux et macOS.
  • Graphismes de pointe : Intégration de Vulkan et OpenGL pour des rendus exceptionnels.
  • Modulaire : Une architecture modulaire pour une personnalisation facile.

Premiers pas

Pour commencer à utiliser Quasar Engine, suivez ces étapes simples :

  1. Téléchargez la dernière version depuis notre page de téléchargement.
  2. Installez le moteur sur votre système d'exploitation.
  3. Créez un nouveau projet et laissez parler votre imagination !

Exemple de code

Voici un exemple simple pour initialiser une scène dans Quasar Engine :

Images et visuels

Voici une capture d'écran de l'éditeur de Quasar Engine :

Éditeur de Quasar Engine

L'éditeur de Quasar Engine en action.

FAQ rapide

Voici quelques questions fréquemment posées :

Quasar Engine est-il gratuit ?

Oui, Quasar Engine est entièrement gratuit et open-source.

Puis-je contribuer au projet ?

Absolument ! Nous encourageons les contributions de la communauté. Visitez notre dépôt GitHub pour plus d'informations.

Premiers pas

Cette section vous guide à travers les étapes initiales pour commencer à utiliser Quasar Engine.

Configuration requise

Avant de commencer, assurez-vous que votre système répond aux exigences minimales :

  • Système d'exploitation : Windows 10, macOS 10.15+, ou Linux moderne
  • Processeur : Intel Core i5 ou équivalent
  • Mémoire : 8 GB RAM minimum
  • Graphique : Carte graphique compatible OpenGL 4.5 ou Vulkan 1.1
  • Espace disque : 2 GB d'espace libre

Installation

Suivez ces instructions pour installer Quasar Engine sur votre système.

Windows

Pour installer sur Windows :

  1. Téléchargez le fichier d'installation .exe
  2. Exécutez le programme d'installation
  3. Suivez les instructions à l'écran
  4. Redémarrez votre ordinateur si nécessaire

macOS

Pour installer sur macOS :

  1. Téléchargez le fichier .dmg
  2. Ouvrez le fichier et faites glisser l'application dans le dossier Applications
  3. Exécutez l'application depuis le Launchpad

Créer un projet

Apprenez à créer votre premier projet avec Quasar Engine.

Utilisation de la ligne de commande

La méthode la plus simple pour créer un nouveau projet est d'utiliser l'interface en ligne de commande :

Structure du projet

Un nouveau projet Quasar Engine contient les fichiers et dossiers suivants :

Référence API

Documentation complète de l'API Quasar Engine.

SceneManager

Le SceneManager gère le chargement, l'organisation et le rendu des scènes dans votre application.

Méthodes principales

Renderer

Le moteur de rendu gère l'affichage graphique de votre application.

Configuration

Exemples de code

Voici quelques exemples pratiques pour vous aider à démarrer.

Créer un jeu simple

public = {}

public.speed = 5
public.smoothSpeed = 5.0
public.sensitivity = 0.1

local lastMouseX, lastMouseY = get_mouse_x(), get_mouse_y()
local yaw, pitch = 0, 0
local cameraDistance = 10.0

function start()
    log("Script initialise")
end

function update(dt)
    local transform = self:getComponent("TransformComponent")
    local pos = transform.position

    if is_key_pressed(KEY_W) or is_key_pressed(KEY_Z) then pos.z = pos.z + public.speed * dt end
    if is_key_pressed(KEY_S) then pos.z = pos.z - public.speed * dt end
    if is_key_pressed(KEY_A) or is_key_pressed(KEY_Q) then pos.x = pos.x - public.speed * dt end
    if is_key_pressed(KEY_D) then pos.x = pos.x + public.speed * dt end

    transform.position = pos

    updateCamera(dt)
end

function updateCamera(dt)
    local player = getEntityByName("Player")
    local camera = getEntityByName("PlayerCamera")

    if not player or not camera then return end
    if not player:hasComponent("TransformComponent") or not camera:hasComponent("TransformComponent") then return end

    local playerTrans = player:getComponent("TransformComponent")
    local camTrans = camera:getComponent("TransformComponent")
    if not playerTrans or not camTrans then return end

    local playerPos = playerTrans.position
    local camTransform = camTrans

    local mouseX, mouseY = get_mouse_x(), get_mouse_y()
    local deltaX = mouseX - lastMouseX
    local deltaY = mouseY - lastMouseY
    lastMouseX, lastMouseY = mouseX, mouseY

    yaw = yaw + deltaX * (public.sensitivity or 0.1)
    pitch = pitch - deltaY * (public.sensitivity or 0.1)
    pitch = math.max(-89, math.min(89, pitch))

    local radYaw = math.rad(yaw)
    local radPitch = math.rad(pitch)
    local targetX = playerPos.x + cameraDistance * math.cos(radPitch) * math.sin(radYaw)
    local targetY = playerPos.y + cameraDistance * math.sin(radPitch)
    local targetZ = playerPos.z + cameraDistance * math.cos(radPitch) * math.cos(radYaw)

    camTransform.position.x = camTransform.position.x + (targetX - camTransform.position.x) * public.smoothSpeed * dt
    camTransform.position.y = camTransform.position.y + (targetY - camTransform.position.y) * public.smoothSpeed * dt
    camTransform.position.z = camTransform.position.z + (targetZ - camTransform.position.z) * public.smoothSpeed * dt

    local up = vec3(0,1,0)
    local viewMatrix = lookAt(camTransform.position, playerPos, up)

    local rotationMatrix = inverse(viewMatrix)
    camTransform.rotation = mat4_to_euler(rotationMatrix)
end

Foire aux questions

Réponses aux questions les plus fréquemment posées.

Quasar Engine est-il adapté aux débutants ?

Oui, Quasar Engine a été conçu pour être accessible aux débutants tout en offrant des fonctionnalités avancées pour les développeurs expérimentés. Nous fournissons de nombreux tutoriels et exemples pour vous aider à démarrer.

Quels langages de programmation sont supportés ?

Quasar Engine supporte principalement Lua pour le scripting, mais vous pouvez également utiliser des langages comme C++ pour les modules natifs.

Puis-je exporter mon jeu sur mobile ?

Actuellement, Quasar Engine se concentre sur les plateformes desktop (Windows, macOS, Linux), mais le support mobile est prévu pour les futures versions.