DEV Community

Cover image for Magic shop (c266276)

Posted on


Magic shop (c266276)

Recreational programming is a thing you do while nobody is watching you. So mine thing for the next few months will be about gamedev.

So brace yourself :)

There are many tools on the market, which remove a ton from a game developer. I am speaking about game builders, engines, assets etc etc. But my primary goal is to experience whatever challenges gamedev has to offer.

here we go: my first game.

I actually spend more time on it, more than 15min. Which is kinda embarrassing, because:

  • the game doesn't have any interactions with a human being
  • no game loop whatsoever
  • play it through test
  • extremely boring

So how do you play it?

Run test, which would execute two actions with different outcomes. What's all.

Did I mention it is embarrassing?

This is what you got using bottom-up design-driven approach using TDD. So blame Uncle Bob for promoting TDD, not me.

On a serious note.

Q: Why bottom-up design is a choice here?
A: I have no experience nor skill nor time to start from big picture.

Q: Why java?
A: It is my primary language as of now and it might be used for desktop, lambda, web, mobile...

Q: Why I see a single class with few trivial methods?
A: Because it is enough to "play" first scenario. I don't need any other interactions nor components.

Q: It is not a GAME!
A: According to definition ("activity engaged in for diversion or amusement", Merriam-Webster) it actually is.

Top comments (0)

An Animated Guide to Node.js Event Loop

Node.js doesn’t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.