I thought, I start off this blog of mine with a little introduction about what me and this blog are all about. If you are reading this much later than I write it, the information here may be grossly out of date, so make sure to check the about page for up to date information.
Who am I?
My name is Paul Scharf. I am an independent and entrepreneurial programmer, focusing on game development, and I have been programming for over ten years at the point of writing.
Why a blog?
Suffice it to say, over the years I have learned a bunch of stuff, and of course, as an active developer, I am learning new things every day. For the most time I just did my own thing. But starting now and here, I would like to start sharing my knowledge and experience with anyone who might be interested.
I always enjoy discussing technical problems, algorithms, coding conventions, or the pros and cons of different technologies. I would like to branch out and engage with others from all over the world on these and other topics.
Also, even though I am only at the start of my career, I have a lot of skills and talents that I would like to make available to others. This will surely only improve over the years, so there is really no better time like now to start making a bit of a name for myself. In a way I will document my own journey of continuous challenge and improvement. Journey on the road to where? That is a question I will only be able to answer in maybe five, or ten, years.
What is this blog about?
As the current title and sub-title of the page “GameDev<T> – Low level #gamedev for the 21. century. Also: explosions.” are proclaiming, the main topic of my blog will be a low-level, technical approach to various game development topics, with a modern spin.
When I say modern spin, I mostly mean that a lot of the content will be specific to managed languages, mostly C#. While C++ is still the most common language in game development, I am convinced this dominance will not last much longer. In fact there are many indications of this already, but I will dedicate a post on that topic at some point in the future.
Apart from that, I also simply prefer writing managed code, and find especially C# to be a very beautiful language.
Another thing that I have a lot of experience with is graphical programming. I have written code on virtually all layers, from low-level OpenGL to high-level script controlled particle systems, and everything in between. Therefore these topics will form the second large part of GameDev<T>. For the time being I will most likely focus on OpenGL, and how to use it effectively using C#.
Lastly, there will probably also be posts falling outside of these areas every now and then. Be it general game development, general technical stuff, or maybe completely other things, basically whatever I feel may be valuable to others, or whatever I feel a burning need to share.
I feel this post would mean little without an actual promise for further content, and since that promise means little without a concrete schedule, I decided to commit to one post every two weeks, starting next Monday.
If I can manage I will try to post even more often however. But one post every two weeks is my absolute minimum, and I will do my best to keep those regular posts of as high quality as possible as well.
Other things I do
Of course this blog is hardly all I am doing these days.
First and foremost I would like to highlight the game Roche Fusion, an exciting space shooter recently released on Steam, where I act as team lead and programmer, focusing on graphics, low-level gameplay code and tools.
I also like to interact and talk to people live about game development, as well as show what I am working on. I do so every Wednesday on Twitch (and sometimes other days) for at least a couple of hours. If you like to ask me questions about anything I am working on, that is a great place to drop by.
Apart from Roche Fusion, some of the things I am working on live (and in general) are a variety of smaller games or prototypes, tools, and libraries. In fact I am currently in the process of making significant parts of the libraries and tools I have written over the past few years open source. To follow that, feel free to check my GitHub page.
Most interestingly, I will be releasing my entire low-level graphics framework that is also used to run the entirety of Roche Fusion. Further I am currently busy extracting an extensive general utilities library from Roche Fusion’s code base, together with Tom Rijnbeek. The repository of the latter is already public and the first few types were added just yesterday.
If you read this within the day after me posting it, feel free to drop by this Friday (February 20) on my stream, where Tom and I will continue our work on the utilities library.
If all these things are too much for you, and I totally understand that, the easiest way of staying up to date is to simply follow me on Twitter, where I am posting about pretty much everything I am doing, announce all my streams, and share cool things I make or find.
For the time being, thanks for reading, check back next Monday for my first proper post, and:
Enjoy the pixels!