Beginnings.

Published July 15, 2024
Advertisement

LughSharp is a project I started early in 2023, and was originally intended as a dual purpose project:-

  1. To learn C# and .Net development. I was already experienced in 8Bit assembly languages, C, Java and had a good deal of exposure to C++, Python, Scala, Pascal, and Kotlin.
  2. To have a C# version of the fabulous Java game framework, LibGDX. LughSharp is heavily based on this.

This has been described to me as “a ridiculously ambitious (and super cool) project”. That statement is pretty darn accurate, to be honest :-).

Hinderances

This project is hindered, significantly, by the fact that I'm not a Game Dev, I know very little about OpenGL, I'm actually in awe of modern game developers, the projects are huge and, as far as I can see, the coding is complex at times. I did write a couple of reasonably successful, but not very good, home computer games in the 1980s, but they were very simplistic in comparison.

Progress

Progress has been steady. I've completed most of the classes that aren't connected to graphics or file-handling.

I've chosen to use https://github.com/dcronqvist/DotGL​ and https://github.com/dcronqvist/DotGLFW​ for the OpenGL / GLFW components, for the reason that I like the way it's structured and Daniel Cronqvist is a nice guy, and very helpful.

I'm not a fan, at all, of the way .Net does its file handling. I suppose that's down to my years of Java filehandling, and I'll get used to it eventually. It just means that the Java code in LibGDX will need some major refactoring to work. There's that ambitious part again.

I had some problems with getting OpenGL to initialise properly. It turned out I was initialising GL and GLFW in the wrong order. That now works.

I found that LibGDX has multiple class objects that just confuse things in LughSharp, so some updates are going on there. For instance, the classes DesktopGLApplication and DesktopGLGraphics (via inheritance) have instances of the class GLVersion. I'm debating removing the instance from DesktopGLGraphics, there only really needs to be one, global, instance of GLVersion.

There seems to be many examples of this type of thing.

Further updates to follow.

Next Entry Progress Update
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement

Latest Entries

Progress Update

1233 views

Beginnings.

29086 views
Advertisement