RotMG Inspired Game Development!


#62

I have previously toyed with Unreal Engine, Unity, and Godot. I had the most success with Unreal, however I wanted to know intimately how the code worked. Beyond that, this project will ultimately help with my programming career to understand lower level programming.

The decision to ultimately abandon existing game engines, and reinvent the wheel for the nth time, came from the design philosophy of You Have to Win the Game. I can’t find a video of the credits anywhere online, looks like I’ll have to record it myself.

Beyond that, I’ve been following a plethora of resources to get my started.

https://www.youtube.com/user/TheChernoProject
https://www.youtube.com/c/RandallThomas
https://www.youtube.com/c/AxelWard
https://learnopengl.com/

And many, many books on C++, OpenGL, Game Design, etc.


#63

Progress! I’ve doubled down on learning C++ and OpenGL! Finished 3D space, now onto camera movement!

EDIT: Perspective and Orthographic Cameras are functioning. Unlike my brain, after absorbing vector and matrix math. Several things need to be done before I can even dream of creating a player entity. I need to create a renderer, a resource manager, a texture loading system, and a top down camera. Not to mention, oodles of debug tools.

When that is all complete, I can torture myself by trying to render text.


#64

Some slight delays, I’m currently moving to Berkeley CA, and don’t have access to my computer. I’ve been writing a D&D campaign in my freetime.

Programming wise, I have a good idea of what to do next.

1. Render a shape
2. Render multiple shapes
3. Moving shapes
4. Camera
5. Abstraction of render functions
6. Render pipeline
7. Loading and saving world data
8. Serialization
9. Player class & camera
10. Collision
11. Particle system
12. Projectile class
13. Stats
14. Inventory, Gear, Consumables
15. Weapons & Spells
16. Multiplayer
17. Accounts
18. Text rendering
19. Text abstraction
20. Chat
21. Simple UI
22. The Nexus (different name eventually, no copyright pls)
23. Instantization of sub worlds.
24. Dungeons, Enemy AI, Spawning mechanics.
25. Etc.


#65

Haha! I’ve done it! The rendering pipeline was a nightmare to break through. It’s not even finished yet, but I’m closer than I’ve ever been. All the classes have been abstracted, and I can now render multiple, individual textures!

There’s so much to do now! I’m legitimately excited to start working on the game, now that the renderer is working. In no exact order, the following is on the tab:

  • Rendering tiles, walls, text, lines, sprites, outlines, and more!
  • Instancing & loading/saving the world.
  • The orthographic camera we all know and love.
  • The ability to set and remove the world from within the game.
  • Tilesets, and ground properties, such as liquids, collision,
  • Serialization and chunk loading.
  • Frustum/Occlusion culling, alongside any other culling or optimizations.
  • Entities, Players, Shots, Enemies.
  • Stats, UI, Settings, Controls.
  • Inventory, Gear, Consumables.
  • Subworlds, portals, dungeons.
  • Abilities, weapons, armor, trinkets, class features.
  • Player chat, and separation of the client and server architecture.
  • Guilds, quests, accounts, trading, towns, teleport scrolls.
  • Anticheat, antidupe, moderation.
  • Limited playable Indev. The core gameplay loop won’t be implemented, nor will much of the art, sounds, quests, towns, bosses, encounters, dungeons, or game mechanics.
  • Death/DC mechanics. You know… technically you can’t die until I code it in!
  • Classes, class trees, and unique unlock mechanics.
  • Fame, Gold, Divinity, and other currencies.
  • A more useful friend system. Friend chat, discord integration, limited teleportation.
  • Minigames in nexus not related to the main game. Sometimes you need a break from adventuring.
  • Client updater, client repairer, bug reporting, patch note delivery system, forums.
  • Oh, forgot about the particle system. That’ll be fun…

It’ll be awhile for the aforementioned indev release, but I’ll keep this thread updated with my progress!