Big list of updates!
Wow, it's been a long time since I've posted anything. Does this mean I haven't been working on Harmonia? Absolutely not! In fact, I've been working on it quite a bit. So why I haven't I posted anything? Because I'm a shut-in that would rather work on code than communicate with the outside world - at least until the game feels somewhat complete.
Regardless, here's an update, in all its non-proofread glory! I'm largely fueled by caffeine right now, so don't be too surprised if this rambles on a bit. Also, news posts in the future will be infrequent, just because that's easiest for me, but rest assured that everything is progressing along nicely.
There aren't many new screenshots to post, but here are a few:
- Screenshot #1: Real-time lighting integrated into the rendering engine
- Screenshot #2: Ultra-fast new rendering engine. 6 fps isn't great, but my laptop has an awful Intel integrated graphics chip. A screenshot this size would have been about 0.5 fps before! I've also made some improvements since this.
- Screenshot #3: Animated gif of the newest sprites. Each sprite has a walking animation in all 8 possible directions. In the works are three new monsters and one new class (Birdsoldier).
- Screenshot #4: Big improvements to the networking architecture, and the beginning of the new login screen. This isn't impressive on the outside, but represents a huge leap forward on the inside.
What else is new? Here's some stuff for the client:
- New rendering engine. It turns out everything was slow because it was rendering the world in a really, really dumb way. This is now fixed. Framerate is literally 10x better than before!
- Improved tile picking. With the new rendering engine, picking tiles with the mouse is now 100% accurate AND lightning fast.
- More sprites! Art assets were a major bottleneck for Harmonia for a the longest time, but I've settled on a 16x16 aesthetic that looks good enough and is easy enough for me to draw. Drawing skills are not my best skills :( But 7/8 of the current player classes are done, and they look pretty nice, if I do say so myself.
- Real-time lighting. The server has had lighting effects for a long time, but they weren't reflected in the game engine yet. Now they are, although it's a bit broken, so a rework is in the near future - it will be worth it!
- Smooth lighting. With the new rendering engine, I can do a lot more. Normals are now provided by coordinate instead of by surface, so everything looks smooth instead of jagged and metallic.
- UI rewrites and effects. The UI code has received a facelift for extra flexibility and ease. Thanks to these changes, windows now fade in-and-out when opened and closed. They also have a neat sound effect when opened! This feels complete, so I can move on to more important things.
Alright, that's nice, but what about gameplay? Here's another big list:
- Scaled-down concept. Harmonia the MMO is too grandiose for just one person, and I'd like to keep this a solo project. So, the concept has, for now, been scaled down to a more Roguelike dungeon-crawler. A lot of the material will still be in, but re-worked to fit into one giant, complete zone.
- Procedural generation. As stated in the previous blog post, procedural generation is in the game. Caverns can be generated as you advance, then populated with monsters and items.
- Procedural equipment. One of my favorite new features, new weapons and armor are now generated using a variety of variables: material type, elemental balance (color), weight, damage type, spell/skill, enchantment, and so on. In lower dungeon levels, it's normal to come across things like: a +1 titanium sword, some -2 purple iron gloves of brilliance, a +1 copper Aura lance, or a -3 moonstone quarterstaff.
- Weapons are now available to all classes. The weapon restriction seemed dumb, so now it's gone! All 18 (?) weapon classes are available for every class - although you still have to learn it. Each class's level 1 skill has been moved to their weapon, which is obtained at level 1. For example, when your sword skill is at level 1, you will learn the "Channel" ability, previously assigned to the Soldier class. This means this ability is available to every class patient enough to master the sword. Likewise, Soldiers can now learn the Monk's "Fireball" ability by mastering the claw, knuckle, or quarterstaff.
- Upgrading equipment! By using the new random equipment, you can modify their level by +1, for a price. Prices are exponentially higher as they reach higher levels (i.e, a +6 copper sword), so it's more cost-effective to find a new weapon (a -2 titanium sword would be better!).
- Targeting improvements. Targets are now managed by CONNECTION instead of by ENTITY - this means that switching between group members using the ` key will preserve your targets.
- Bugfixes + optimizations galore! A lot of things were slow, and a lot of things were broken or unintuitive. Things are improved!
Whew - Quite a post! Hopefully this is everything. Who know that making an entire MMO by oneself would be so much work? :P Until next time! ...Whenever that is. Later!