Hi all.hope you are good.
Recently i have been doing some indie game development with love2d as the main game engine. The engine uses lua as a scripting language which made scripting quiet easy due to the low learning curve of lua. love2d itself is also quite easy to use itself with a low learning curve.
The love2d engine uses C++,opengl and uses the lua j.i.t. intepreter.C++ with opengl is not a walk in the park and is complex. So the engine does all the low level difficult stuff like drawing,physics manipulation,audio,video,etc.. and exposes them to you through lua bindings.You also have the option of using third party love2d libraries for some functionality if you want.
After installation of love2d, to make a game with love2d you create a folder with a main.lua file in it.
The main.lua file will typically contain 3 callbacks which are love.load(),love.update() and love.draw().
love.load runs once and then love.update and love.draw is run forever in a game loop.
So in terms of the image below taken from gamefromscratch,love.load() is run in the Setup segment while love.update() is run in the Input?,Update Physics,Update Game segment
and then finally love.draw() is then run in the Render segment.The love.quit() callback is run in the Cleanup and Game Ends segments.

below is a basic game which draws a rectangle which increases in size on the screen
|
|
To run this game assuming the game folder is called draw_rectangle.
love draw_rectangle/
To quit the game and fix bugs,etc… you type Ctrl- C to fix the bug and rerun above command.This creates a very simple feedback loop
during game development.The ability to use simple editors like emacs,vim,notepad and also the availability of various libraries which
make game development easier like libraries for autcompletion of love callbacks,collision detection,editor intergrations,hot code loading etc… creates a very pleasent experience.
the engine is also very stable and mature since its been in development since 2008 and lua is also a very stable language.
I went throught sheepolution which is an online tutorial for game programming using lua. The tutorials are really good and is one of the best tutorials for game programming I have gone through.i highly recommend it.Below is a basic shooter game you will make.
My overall experience in using love2d was great and i see it as a great platform for learning game programming and developing simple as well as complex games. The community is also very helpful and very active on the discord channel if you need some help.I will pause here.the best way to learn game programming is to write games so i encourage you to try out love2d with lua if you are interested in game programming.