From 35d8c9dd6a5f704f0df4877fd5c87cd9168772da Mon Sep 17 00:00:00 2001 From: nek0 Date: Wed, 23 Dec 2020 17:52:16 +0100 Subject: [PATCH] new posts --- site/images/2020-12-14_preview.png | Bin 0 -> 6792 bytes site/images/2020-12-23_preview.png | Bin 0 -> 8211 bytes site/posts/2020-12-14-Tiles-and-maps.md | 44 ++++++++++++++++++++++++ site/posts/2020-12-23-Player-ready.md | 32 +++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 site/images/2020-12-14_preview.png create mode 100644 site/images/2020-12-23_preview.png create mode 100644 site/posts/2020-12-14-Tiles-and-maps.md create mode 100644 site/posts/2020-12-23-Player-ready.md diff --git a/site/images/2020-12-14_preview.png b/site/images/2020-12-14_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..d220b4d852e828eec9c876070052a6006cadb167 GIT binary patch literal 6792 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 X(XxG32KJUnhL_#(Gsg;Se17;(@B#)Q literal 0 HcmV?d00001 diff --git a/site/images/2020-12-23_preview.png b/site/images/2020-12-23_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..72bd7eaa18de555b333c09d5ff3269e080c7002d GIT binary patch literal 8211 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 PI$jQTPA9642mbhP<31h{ literal 0 HcmV?d00001 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.