Talking about Burning Glyphs 8

Laguna • 3 years ago on 9th Kajam entry  Burning Glyphs

Please find my raycasting game Burning Glyphs

7dfps

I always wanted to take part in the 7dfps. I always played shooters. My first one was DukeNukem3D, which a friend showed me and I was blown away.
When I received the Game Engine Blackbook for Wolfenstein 3D as a birthday present, I knew that I don't have any more excuses. I can wholeheartedly recommend the book. It is written very well and in an entertaining way, contains a lot of helpful explanations and also was proofchecked. This is important, because a lot of tutorials on the internet contain minor or major math errors, inconsistent or confusing variable naming and so on. I have been there, and I have found my missing minus sign just due to this book.

So 7dfps it should be. I only learned some dasy into 7dfps that the next kajam will be about raycasting. So bear with me for submitting the same game twice.

raycasting

The raycasting was written from scratch, and I have to say: "That is not so easy to get right!". It took me a lot of drawings and scribbles on paper. But eventually I managed.

c++ in 2020?

I am working as a c++ software developer and c++ is in fact my preferred language to write games. Lucky for me I was working on a so called JamTemplate which was lately being able to compile to web via emscripten.
I had to try this out! It wasn't easy, especially getting multiple libraries (SFML, SDL) combined in one framework. Burning Glyphs was so to speak the full rehersal and I am pretty happy how it turned out. Of course there are still a lot of quirks and issues left, but I am confident that they will vanish throughout the next projects. And to be honest, witnessing your c++ code being executed in a browser is pretty awesome :D

Comments (8)

thomastc
 • 3 years ago • 

Have you tried Rust yet? :)

Wan
 • 3 years ago • 

Congrats on writing the raycasting algorithms from scratch, must be quite satisfying!

Emscripten remains wizardry to me, nice job for working things out. Now I tried to play the game but I don't seem to be able to make it catch the keyboard focus, pressing space just scrolls the page, should be an easy fix. Also no Firefox it seems due to Shared Array Buffer support issues

@thomastc ever tried to set up SFML and/or SDL for Rust? I made some quick attempts when trying to settle for a lib for the Kajam but had no luck so far, had to fall back to a pure Rust library.

toasty
 • 3 years ago • 

Great work, @Laguna. I particularly like the character animation!

Don't worry about resubmitting the game here; this Kajam is extremely relaxed, and it'll be great to have the extra submission. If you really want, though, you could always add some more content or features during the jam ;)

Laguna
  • 3 years ago • 

@thomastc I had a very brief look into rust while I was in university. I didn't like the syntax at that point, but that was just a 2h, maybe 3h session for a homework assignment in the lecture I was tutoring.
I know that there is an sfml port of rust. If it is comparable to the C# port of sfml, it should be pretty usable.

@Wan the keyboard focus issue, can be solved (at least on my machine) by clicking in the white area below the actual game window, just before pressing space. That seems like a itch.io issue, I have to get my head around yet (exactly zero html knowledge here). If I have just the bare html page that i upload to itch on a local http server, it seems to work.

remco
 • 3 years ago • 

Hi! It's nice to see someone else writing their own engine, at least I'm not the only one :-D

Perhaps I should have 'upgraded' my terrible C++/SDL2 Emscripten ad-hoc 'engine' to 3D instead of writing equally awful javascript+WebGL2.

Laguna
  • 3 years ago • 

Hi @remco writing engines is hard. But on the other hand, learning new tech is fun. Oh the struggle. :D

I try to think of my "engine" as a template with some boilerplate code and some helper classes. Because that's what it is: Some code to get me kickstarted in GameJams.
This is especially important e.g. for OneHourGameJam. If the time is veeeery limited and you start by "how did I open that window again?" … Well, if I struggle with the tech, I will most likely not get something fun out - Which is perfectly ok, if my purpose is to learn something new.
Did so with RpgMaker (click for game), love2d (click for game), TurtleBrains (click for game) and some others.
It always was a lot of fun, but also a hard struggle and documentation reading, especially within one hour.

Laguna
  • 3 years ago • 

Also: take a look into this nice article, which was an eye-opener for me.

remco
 • 3 years ago • 

@Laguna, preaching to the choir here :-)

For gamejams, I've written in games on top of LÖVE, GameMaker, Ren'Py, and the reason my own engines have terrible code it that they all have had significant parts of the code (almost 100% in case of C++/SDL) written during gamejams :-D

Only recently I've been able to get projects at least started without a game-jam attached to it, and I have short game-jams to thank for that in large part!

Thanks for the article, I hadn't read it yet, but seeing the title, me and the article are probably going to be friends.

Login to comment