DISCLAIMER! This library is not going to be worked on as frequent anymore. If you want fork it and work on it you are more than welcome.
A simple game library to make game development in the Julia programming language easy.
My goal for this project is to make a simple library to easily make games in Julia. Something like raylib, not too bloated, very easy to use, very powerful, and can make just about anything.
Well the julia game dev ecosystem is super scarce and there are only a few libraries that are actually good.
It's simple but you can only use one file and doesn't really seem to be good for large scale projects.
Its pretty good so far. The main thing that loses me is the fact that it has a required editor. I am not a big fan of that because I want something more like a "game framework" instead of a "game engine" meaning I don't really want an editor like unity or something.
It is really well made but it is very low level and I want something that's easier for someone to get into.
To use Nexa.jl you first have to have Julia installed. Once you have that installed go into a command line and type julia. You should see this:
If you don't see that. Check your PATH if you are on windows.
Once you have that opened though type ]
and you should see this:
This is the Julia package manager.
Once you are here you need to type add https://github.com/SabeDoesThings/Nexa.jl
this will add Nexa.jl to your packages.
To create a new Nexa project just go into a directory you want and go back into the command line and do the same thing and do generate <name of project>
Once you have that you need to activate your project.
To do that you need to do activate .
and you should somthing like this
(<project name>) pkg >
instead of the julia version.
If you do have that just do the same command as before. add https://github.com/SabeDoesThings/Nexa.jl
this will add Nexa.jl to your project.
To open up a window just go into your file in the src folder and you can copy this code to open up a window.
using Nexa # loads in the Nexa library
# Runs only when the program started
function on_run()
end
# Run every frame
function update(dt::Float64)
end
# For rendering things to the screen
function render(ctx::Nexa.Context) # the ctx::Nexa.Context is needed for the library to use the low level rendering side of things
end
# The Nexa.start function takes in 7 arguments
Nexa.start(
on_run, # The function ran right when the program has started
update, # Called every frame
render, # For rendering things to the screen
"Simple Window", # The title of the window
1280, # The width of the window
720, # The height of the window
false # whether or not the window is resiable or not
)
And with that just do julia <file name>.jl
and you should see this:
Congratualtions! You just made your first window in Nexa.jl. If you want more example usage of Nexa.jl visit the examples folder.