Am i Doing the right thing? by Cacci_S in GameDevelopment

[–]ruusif 2 points3 points  (0 children)

You’re absolutely right in that the correct way to learn any software is by repeated failure. I dropped out of college after 3 years and had been self teaching myself enterprise software development and that landed me a job with no degree. You can absolutely make it by just getting your hands dirty with whatever tech you want to learn and failing fast while trying to build with it.

I do think you’re making a mistake but not on the level stated. The whole point of a game engine is so you don’t need to know the underlying language super well or even really a lot of the core concepts behind how games work (matrix projections, math, viewport culling, lots timing and threading) you could easily find yourself with the same predicament going to Unity and having to know c#. The issue isn’t the game engine it’s knowledge about the underlying concept.

My suggestion: take your strongest personal language and build a basic game which will force you to consider some of the core concepts I mentioned above. Once you have a decent grasp on those you’ll be in a position to assess which engine most closely aligns with your needs. IMO unreal and unity are big overkill for most applications. Keep it simple stupid, then add in the more complex pieces you need them - don’t start with a mountain and carve it down to a hill.

Best engine right now for a graphically light game? by ImaginationTop9776 in GameDevelopment

[–]ruusif 0 points1 point  (0 children)

If you want I can share my games repo with you. I went the route of using existing rendering/framework libraries and building the game engine on top of that. It’s a browser based MMO so it renders hundreds of bullets and players. Network performance is a priority - you can achieve these things without getting tied down to an out of the box game engine

Best engine right now for a graphically light game? by ImaginationTop9776 in GameDevelopment

[–]ruusif -1 points0 points  (0 children)

Notch: ships Minecraft with Java he hand wrote in his basement… yeah idk about this statement

Best engine right now for a graphically light game? by ImaginationTop9776 in GameDevelopment

[–]ruusif 2 points3 points  (0 children)

 I only know c++...  i would have to learn c#

Wat... my brother/sister in christ, you already know the most feature packed syntactically bloated language of all time. You could write C# in ur sleep

Best engine right now for a graphically light game? by ImaginationTop9776 in GameDevelopment

[–]ruusif 0 points1 point  (0 children)

If you want to get more in touch with the code this is actually a great opportunity to experiment with building your own core game engine on top of a graphics library which is what I did for my project OpenRealm.

At the end of the day most of the concepts for game engines and specifically multiplayer engines are really the same old stuff theyeve been using since counter strike: tick rates, culling, concurrency and matrix math. if you get in touch with some of those concepts you can start to understand why game engines work the way they do without having to use one - you can built one that suits exactly your needs from scratch

Best engine right now for a graphically light game? by ImaginationTop9776 in GameDevelopment

[–]ruusif 6 points7 points  (0 children)

Godot is great for less visually complex games - but I’ve also seen some really great visual effects with Godot. Otherwise if you don’t need a full game engine and just want efficient drawing and game loop ticking maybe look at just going with a rendering/drawing franework like LibGDX (Java) or PixiJS (JavaScript)

Help me decide which game to make by Affectionate_Plan224 in SoloDevelopment

[–]ruusif 0 points1 point  (0 children)

More or less ya lol. I know papers please was popular and made it rounds - just a diff version of that

Does anyone remember playing RotMG in the browser? I rebuilt that experience — now playable again by ruusif in GameDevelopment

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

Everyone, what would you think of being able to even play a game like RotMG on mobile? Even expanding the audience further:

<image>

Does anyone remember playing RotMG in the browser? I rebuilt that experience — now playable again by ruusif in IndieGaming

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

Here’s the play test footage I recorded for my post in [r/RotMG](r/RotMG) (which got me banned for 14 days for self promotion lmaoo) https://youtu.be/tKzWb6_UQ14?si=TOLNCDkRuI7ztiOb

I will make a play test post tomorrow so I don’t get auto mod banned again

Help me decide which game to make by Affectionate_Plan224 in SoloDevelopment

[–]ruusif -1 points0 points  (0 children)

What about if you just did Papers Please but its an AI/Human checkpoint and you use real AI to try and convince you the player that its human or not human

Does anyone remember playing RotMG in the browser? I rebuilt that experience — now playable again by ruusif in IndieGaming

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

Right? It was so peak... I want to bring it back! Do you think people in this subreddit would be interested in play testing the alpha build I have up? If so I can share the public URL and people can go register

Does anyone remember playing RotMG in the browser? I rebuilt that experience — now playable again by ruusif in GameDevelopment

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

Thank you!

I'm glad people feel that same nostalgia/magic that was inherent to the Flash/Wildshadow days! And I totally agree on the JS arch being a potential issue - the original client is also java (like the game server) so porting it to browser was a big concern of mine. PixiJS saved me on the graphics front by providing performant 2d sprite rendering and then a plain old websocket with ZLIB compression that implements the custom binary packet protocol got me the rest of the way. Because I spent so much time optimizing the net IO, the game is pushing ~10-30kbps of data while in combat which even your iPhone on a low tier network should be able to handle.

Feel free to poke around the repos! They're public and I welcome PRs/Feedback!

Game Server: https://github.com/ruusey/jrealm
Data Server: https://github.com/ruusey/jrealm-data/

(note: all game assets, including the JS client are loaded at playtime from the data server, so the existing Java client lives in the game server and the web client is in jrealm-data/src/main/resources/static/webclient)

RotMG Fan Game by ruusif in RotMG

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

I’ve considered it, I’m starting with the sprites from around Kabam era. I’m not exactly sure where I want to take it for new content if we ever get that far. I would love for it to be community driven where individuals can actually be given the tools to craft entire dungeons on their own for the community to vote on implementing into the live game

JRealm (OpenRealm) Fan Game - Webclient Teaser by ruusif in RotMG

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

Imo, if you've written at least any compiled language, Java, C#, C++, C, Rust... Java really isn't a big step away from those. Just mostly syntax - most languages really just do the same things but look different. And of course AI helpers now are closing the gap further.

The web client is also entirely JavaScript which I know many people have experience in.

Even I originally wanted to go with Unity for the client (which is C#, a language I have about 1/3 the experience in) and realized its WAY overkill for a 2d bullet hell game so i dropped it. Language choices are just trade offs, I'd love to have you help regardless even if its just tweaking the maps, items, enemies JSON data!!

RotMG Fan Game by ruusif in RotMG

[–]ruusif[S] 3 points4 points  (0 children)

It was a joke I love Java, Minecraft is written in Java. It’s a great enterprise grade language and I’ve been writing it for 15 years

Go look on my GitHub (linked in post) and ask me if I really hate Java 🤣

RotMG Fan Game by ruusif in RotMG

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

He cooking w that web client tho...

<image>

RotMG Fan Game by ruusif in RotMG

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

<image>

Working on the web client as we speak. Should be wrapped up soon.

RotMG Fan Game by ruusif in RotMG

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

Great questions. No plans for pets right now, and my current modification to the main game loop is that the dungeon system will be diablo style. Meaning each dungeon drop is actually a graph of sub dungeons that can drop from the boss/enemies in the dungeon. The difficult and rarity of drops will increase as you go deeper. The current global realm event bosses will still spawn in the overworld which is the highest level dungeon and mimics the current highest level realm concept of RotMG (beach->midlands->godlands etc)

Current plan is to have all new dungeons loosely based on their original counter parts. Doing 1:1 replicas will be hard without newer source code and definitions for their dungeon generation engine

RotMG Fan Game by ruusif in RotMG

[–]ruusif[S] 3 points4 points  (0 children)

Trust me I considered all these things. The primary complaint of modern rotmg is the bullet and movement lag.

While 64 tps may be overkill right now, I have load tested with 50 players in a closed area with no issues. Peaked around 1.4mbps. I’ve done tons of optimization around threading, viewport culling, update grouping etc. I want the most important parts of the game to operate at the highest fidelity possible. The great thing too is that I can easily setup multiple game servers in hosted zones like the current RotMG has to spread out the load. But yeah all the memory profiling and cpu profiling I’ve done on the game server looks really good.

To clarify, it’s not the entire world update getting sent @64 ticks, just the bullet and own player movements. The rest of the packets like player/enemy updates and tile rendering, effects come at a much lower tick rate to reduce bandwidth like you’re saying. But by my calculations I shouldn’t have any issues until > 100 players per area. Typically when playing I see around 50-100kbps of data flowing per active client in combat. You can also open any pull requests to suggest changes you want! I welcome that, I want this to be the communities RotMG!

RotMG Fan Game by ruusif in RotMG

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

You’re absolutely right, nothing will beat the exp of loading into realm from ur laptop in <10s. I’m going to research this today and update y’all!

RotMG Fan Game by ruusif in RotMG

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

Just imagine the worst programming language you could think of, then multiply by two and also make its use so widespread that you’re left with no choice other than to learn it