diff --git a/site/images/2020-12-14_preview.png b/site/images/2020-12-14_preview.png new file mode 100644 index 0000000..d220b4d Binary files /dev/null and b/site/images/2020-12-14_preview.png differ diff --git a/site/images/2020-12-23_preview.png b/site/images/2020-12-23_preview.png new file mode 100644 index 0000000..72bd7ea Binary files /dev/null and b/site/images/2020-12-23_preview.png differ diff --git a/site/posts/2020-12-14-Tiles-and-maps.md b/site/posts/2020-12-14-Tiles-and-maps.md new file mode 100644 index 0000000..006a67b --- /dev/null +++ b/site/posts/2020-12-14-Tiles-and-maps.md @@ -0,0 +1,44 @@ +--- +title: Tiles and maps +author: nek0 +tags: + - "devlog: pituicat" + - english +description: Putting previous stuff to use and walking steadily forward +--- + +Hi there! + +Another weekend passed and another step has been taken. Last time I was +struggling my way through OpenGL and got a single quad displayed on screen, +which I had hardcoded there. The next step I decided to take was reading level +maps and generate quads where tiles would be and texture them properly. + +I had already put some thought into how to store level information. + +May train of thought here is, that tiles are static and arranged in layers +above each other. To represent that I use a simple bitmap picture per layer. +every single pixel in this bitmap represents a tile. The red channel contains +the information of the tile type (at the moment there are only solid tiles, +platform tiles and decoration tiles). The green and blue channel mark the +offset on the tilemap. To make the information visible to the naked eye, the +information is stored inverted, so that filled areas appear white and empty +areas black. + +I will have to figure out dynamic objects like collectibles or enemies later. + +So after defining types for the tiles, the tilemap and the level map I also +defined a rather generic typeclass for anything drawable to spew out vertices +with texture coordinate information. Putting my game on the screen now looks +like this: + +![Screenshot](/images/2020-12-14_preview.png "a black screen with white tiles") + +Making progress is fun and I enjoy making it in my own bespoken way, though +havig to think in different coordinate systems at the same time (OpenGL +coordinates vs. Image coordinates mostly) can cause quite a headache and some +rather fun bugs. + +As always, feel free to check out the code on [my gitea](https://gitea.nek0.eu/nek0/pituicat). + +See you next time! diff --git a/site/posts/2020-12-23-Player-ready.md b/site/posts/2020-12-23-Player-ready.md new file mode 100644 index 0000000..0c9a3e5 --- /dev/null +++ b/site/posts/2020-12-23-Player-ready.md @@ -0,0 +1,32 @@ +--- +title: Player ready +author: nek0 +tags: +- "devlog: pituicat" +- english +description: Progress yields now a displayable player character +--- + +Hello again and welcome to my little corner of the internet. + +Between some christmas preparations and work I was able to squeeze in also some +development time on my game again with some visible results. + +Most of the time I was preparing plumbing again for static objects (called +"Props") and interactable entities (called "Actors") to be displayed on top of +their according layer of residence. + +After having the plumbing ready I created an entity for the player to be +displayed and this was the result: + +![Screenshot](/images/2020-12-23_preview.png) + +The player does not move yet and does not interact with anything, so the +graphics just sit there, but I am still quite happy for it to work. + +Next up I will probably start implementing keyboard interaction, so the player +can actually move. + +Until next time. + +Keep calm and wash hands.