DeRivean — the Little Project

Marek Hanzal
4 min readNov 28, 2023

--

Ou, this one may not be such an interesting thing on the first look, but — waaaaaiiiit for it!

Photo by Lorenzo Herrera on Unsplash

This story will be related to another one I’ve written (here you have one interlink…). I want to give some of the proof to that article by telling you about my “not-a-side” project.

Why

That’s simple, (I’m expecting my audience are programmers or similar technicians who can benefit from my words), we have to grow. And our living job may not be enough for this, for obvious reasons — there is a hard ceiling you bump into, you’re depending on somebody who let you fly higher. And sadly, this is not possible (not in a way I want to present here).

What

I’m working on an application (in my job) which do some vehicle and insurance magick. It’s quite boring and sometimes quite fun. You know that. But I’m lacking the technological boost of that application.

Originally, it was based on … uff… Create React App (R.I.P). In that time, I was creating my vape application, which was based on Next.js as my starting experience with this project.

When I was talking about porting your “side project” knowledge back to the work, this is it: I’ve learned, how to use Next.js and moved the code. It was quite a challange, but it was worth it.

Not only Next.js, but I’ve learned about And Design and used this library, so that app was looking amazing and modern.

Repeat with:

  • I’ve found Mantine UI and moved from And Design
  • I’ve removed Redux and those strange things, because react-query
  • I’ve started to write npm set of libraries to help me with the common stuff between projects — incredible experience, how to manage few standalone repositories, then moving to monorepo and refactoring the original codebase to monorepo too.
  • I was Zodified, during this journey, so now I know, how to generate schemas and types from it
  • …and many, many more
Photo by John Torcasio on Unsplash

(A little offtopic image, but it’s a building…. you’ll get it)

DeRivean

This is the name I’m using from my childhood C++ “engine”. Also that’s reason for “Legacy of DeRivean”, because it started my programmer career, even before leaving elementary school. Thanks, uncle, for this, a lot!

This small story may motivate you, because now I’ve broken my prejudice and starting to learn Tailwind CSS, Atomic CSS pattern in general (as I’m using UnoCSS).

The goal (and what I’ll be writing about next time) is to create a simple game looking like a common application. The reason for this is insidious. Game is funny to play (also you can design you own rules) and application-like design allows you to play it everywhere as it looks like you’re working. Hehe.

Selling point

Strategy game without the canvas

You’ll define buildings, producers and a few other things. It’s like Settlers (which is my inspiration), just without a map.

When you play, your buildings produces and consumes materials, which could be used to create another and blabla.

You have heroes (in general just a crew you control) to do various actions, fight (so you’ve to craft & find things), do jobs (in the buildings), gain experience aaaand a lot of things.

Nothing new here

The reason I’m making this “game” is not to make the hole inside the world, but because it’s incredibly funny. And I can even play it. Or destroy it. Or you can, when there will be release. On you computer. In cloud. Or whatever Node.js + database runs (even on your mobile phone).

It’s just very interesting training, how to organize code, packages, services, how to make interactions between objects and so on.

Best part is waiting for you!

Now the best thing. Because the app is standard server with API and frontend, you can do one magical thing. Take some real game engine (Unity or some JavaScript one), steal some assets and create an UI for the game, so it would feel like a real game, because “The Engine” is backend code in Next.js and graphical engine is just … frontend. Doesn’t matter if it’s a browser or Unity.

Photo by Sindy Süßengut on Unsplash

Are you interested?

So how do you feel about this kind of side project? Do you think such a thing can motivate you to learn something new? Even from an area far far away from your confort zone (like graphical engine)?

I hope you liked this article and see you later!

--

--

Marek Hanzal

I love programming and getting new knowledge. I'm fullstack web-dev, quite a crazy man with a lot of things to say.