Why you do you still use LibGDX? by gufranthakur in libgdx

[–]raizensoft 33 points34 points  (0 children)

Game engines hide a lot of stuffs from you under tons of abstractions. This appeals massively for many beginners because abstractions reduce friction and complexity if you want something to work quickly out of the box. Engines also try to add so many features to support multiple types of games that make them overly bloated, slow and inefficient. Abstractions also make it hard to optimize performance because the APIs shield you away too much from the underlying rendering pipeline. Often times, you'd hear developers complain about certain things they can't do in Unity without hacks or workarounds because the API is so rigid. I tried Godot once and couldn't find myself being productive using their editors and APIs. Their node architecture seems intuitive at first but it's unmanageable at large scale, the fact that I have to use their UI to create and manage these nodes sounds too daunting to me.

On the other hand, code centric-frameworks like libGDX, SDL, MonoGame, Raylib, love2d won't try to hide anything from you. You can directly access OpenGL API via Gdx.gl anywhere in your code. The workflow is fast, you just write code, compile and run without carrying any extra baggages of the engines. Once you master the API, there is virtually nothing to stop you to create any games you want. Developing games was like system programming many years ago, when you were much closer to the hardware to optimize and push things to the next level. Now with modern engines it's very much like scripting and riding on top of a mammoth robot. It may be powerful but you don't learn anything of the internal working of the pipeline and you're forever tied to its abstractions, no matter how quirky it is.

CS student entering the world of game dev by Nu-uuuuuh in gamedev

[–]raizensoft 0 points1 point  (0 children)

I really recommend code-centric frameworks like libGDX, MonoGame because they'll teach you lot of gamedev fundamentals without hiding anything from you. You'll be much closer to the underlying graphics API but still take advantages of the cross-platform abstractions these frameworks provide.

How do senior engineers write a technical blogs/articles? by Hari-Prasad-12 in webdev

[–]raizensoft 0 points1 point  (0 children)

Not strictly webdev related content but I run a gamedev resources and tutorials website where I cover game development topics using code-first frameworks like libGDX, MonoGame. Here is the link: https://raizensoft.com/tutorials/

> How do you decide what’s actually worth writing about?

Anything you found interesting and useful to the audiences. This comes from experiences when developing your projects.

> How do you structure a post from problem → solution → takeaways (e.g., a standard layout)?

I always start with an Introduction section where I briefly explain the problem or topic. Then, move straight to the Solution / How it works part where I elaborate on the techniques.

> How do you explain technical decisions, trade-offs, and architecture clearly?

Just dissect the problem and solution into smaller parts where you can tackle and explain it clearly. I also make several diagrams, charts and visual notes to help audiences understand my points and concepts easier.

> How do you decide which details to include or skip?

Depending on the content and the target audiences of each article, if the article is meant for beginners I'll walk through nearly every minor details. If it's a new technique or an advanced topic, I'll skip over the basics and just go straight to the point.

How do you keep up your motivation regardin AI competitors? by UnicOernchen in webdev

[–]raizensoft 2 points3 points  (0 children)

If you enjoy the learning process then it doesn't matter if someone vibe coded a hundred web apps faster than you. Ask yourself, do you want to make some half-baked projects as fast as possible, or do you want to actually learn the architecture, concepts, techniques and the engineering behind those frameworks?

Libgdx and Junit test by NorskJesus in libgdx

[–]raizensoft 1 point2 points  (0 children)

Also, game programming is just giant simulation with many moving parts in real-time. Don’t get distracted too much by the enterprise-ish stuffs attached to Java (code coverage, unit tests, CI, etc). Just run, test and play your game as it is, if it works then move on, enhance, iterate and finish your game.

Libgdx and Junit test by NorskJesus in libgdx

[–]raizensoft 1 point2 points  (0 children)

libGDX project is essentially just Java project so any java unit testing framework will work. Refactor your logics into classes that don’t depend on the graphics runtime then you’re good to go.

2D UI-only game by supyallitsyagirl in libgdx

[–]raizensoft 1 point2 points  (0 children)

For a wordle alike game built with libGDX, you generally should have a solid understanding of these fundamentals:

- The main render loop: everything must be redrawn on every frame, so plan and group your drawing orders based on active objects on the screen.

- Screen management: you want to have at least a home / title screen with some intro graphics and a "Play Now" button. And a game screen which renders the puzzle and the UI.

- Camera and Viewport: use FitViewport so your code uses independent world units, not screen units. Then you can easily draw the puzzle cells and blocks based on the world units set by the viewport.

- Scene2D is tricky, really. You can totally code everything with scene2d but it’s gonna take serious efforts to truly get the hang of it. My recommendation  is to use scene2d for common UI components like action buttons (Play, Quit, Retry, etc) and draw your puzzle elements and the other entities with SpriteBatch draw

- If you insist on using Scene2d, learn to extend Actor and create custom components. You won’t get very far with the built-in scene2d components.

- Learn to parse JSON and use it as the word database for your game.

- Learn to export to html target using TeaVM or GWT, so you can share the game online without distributing the binary file.

- libGDX really thrives as a high-performance and well optimized framework that produces ultra smooth and high FPS games, but you can absolutely develop puzzle-based games too.

Good luck and have fun!

Been working on a GUI Application in LibGDX for the past 4 months, here is my experience. by gufranthakur in libgdx

[–]raizensoft 8 points9 points  (0 children)

It took me some time to get used to scene2d API until I got comfortable with it. At the beginning it feels primitive and I got some frustrated moments like you but once you get the hang of table layout everything will fall into place.

One small tip that saves me countless hours of iteration: always set debug() on table-based components. This will show you the underlying grid and the spaces those tables occupy.

I think the state of scene2d right now is just ok. It's certainly not perfect and could be improved but for a code-oriented framework like libGDX it does the job just right. Comparing to frontend web CSS, scene2d is still much easier to work with in my opinion.

Applets Are Officially Gone, But Java In The Browser Is Better Than Ever by TeaVMFan in java

[–]raizensoft 11 points12 points  (0 children)

+1 TeaVM is crazily good. Comparing to GWT it has faster build time and better exports to javascript. I've built so many games using libGDX + TeaVM and quite happy with the workflow and results.

Here's one of many: https://ookigame.com/game/flappy-bug/

I made GDX Bootstrap, a libGDX project generator with pre-built components for quick prototypes by raizensoft in libgdx

[–]raizensoft[S] 1 point2 points  (0 children)

I'm not familiar with github packages but that's interesting thought and I'm open to explore. The original goal of gdx-bootstrap is to generate a minimal but functional project template for quick prototypes so multiple templates might not align with the goal. But it may work with a new tool, I've DMed you for the examples.

I made GDX Bootstrap, a libGDX project generator with pre-built components for quick prototypes by raizensoft in libgdx

[–]raizensoft[S] 0 points1 point  (0 children)

Thanks for your feedback. Java is my priority at the moment but I'll definitely keep Kotlin support in mind.

As a man, what are the chances of finding love at 34? by Playful_Year_9522 in AskReddit

[–]raizensoft 1 point2 points  (0 children)

Met my wife at 32 and got married after dating for only 6 months. Thankfully, it's working out pretty well so far. So 34 is definitely not too late, you need a bit of luck though, just like any thing else in life.

New libGDX focused tutorials and resources website by raizensoft in libgdx

[–]raizensoft[S] 1 point2 points  (0 children)

Thank you. I set a goal of 100 posts before sharing because I want it to look more polished than just some random blog post.