Skip to content

Complex 3D game engine with editor application.

Notifications You must be signed in to change notification settings

Diegothic/ArgEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArgEngine

world_view

Introduction

ArgEngine is a complex 3D game engine including an editor application that lets users create three-dimensional games by composing Actors and their Components inside a Game World. Engine contains a set of built-in components, but the list can be extended through scripting components in Lua language. An example project is included for users to explore.

Features

game_view

  • 3D rendering system
    • Dynamic lighting and shadows
    • Skeletal animations
  • Lua scripting
  • Physisc capabilities
  • 3D audio
  • Input management
  • Editor application
  • Resource management system
  • Multiple projects support

Example project

example_project

Example project contained inside ExampleProject directory shows how the engine can be used to create a simple 3D action game including combat, platforming and puzzle elements.

To create a new scripted component, a template can be used:

DEF_COMPONENT('ComponentName')

DEF_FIELD('ComponentName', 'fNumber', 1.0)
DEF_FIELD('ComponentName', "aActorReference", Actor.new())

-- Engine callbacks

function ComponentName:_OnCreate()
    -- Constructor
    -- Code here...
end

function ComponentName:_OnDestroy()
    -- Destrukcor
    -- Code here...
end

function ComponentName:_BeginPlay()
    -- Game starts
    -- Code here...
end

function ComponentName:_Tick(time, input)
    -- Main loop update feedback
    -- (time) - game time
    -- (input) - input devices
    -- Code here...
end

function ComponentName:_OnDrawDebug(context)
    -- Debug drawing
    -- (context) - drawing context
    -- Code here
end

Technologies

Requirements

Build

! At the moment building is only available for the Windows platform

  1. Create '../ArgBuild' directory in desired location
  2. Build ArgEditor project and put the executable inside '../ArgBuild' directory
  3. Copy 'ArgEditor/Build', 'ArgEditor/Content', 'ArgEditor/UserConfig' and 'ArgEditor/irrKlang.dll' into '../ArgBuild' directory
  4. Build ArgRuntime project and put the executable inside '../ArgBuild/Build' directory

To open the editor run '../ArgBuild/ArgEditor.exe'