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.
- 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 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
! At the moment building is only available for the Windows platform
- Create '../ArgBuild' directory in desired location
- Build ArgEditor project and put the executable inside '../ArgBuild' directory
- Copy 'ArgEditor/Build', 'ArgEditor/Content', 'ArgEditor/UserConfig' and 'ArgEditor/irrKlang.dll' into '../ArgBuild' directory
- Build ArgRuntime project and put the executable inside '../ArgBuild/Build' directory
To open the editor run '../ArgBuild/ArgEditor.exe'