Ygg Engine

December 2022, Week 1

+ Server tested on Python 3.11
+ Refactored some client behaviors to better fit the authoritative server model
+ Client now performs data resync when client encounters disagreement from server (eg attempt to equip inventory item you dont own)
+ Compiled client for Linux and Windows in Nuitka for testing
+ Added Santa-like NPC type and some Christmas themed items
+ SIEM alerts testing
+ Key remap logically implemented, still need to make in-game GUI options
- Need to debug a Rabbyt OpenGL issue for client python 3.9 port or migrate to Pyglet2- I will wait for future client refactor for now
- Resolved crypto library compile issue with Nuitka

November 2022, Week 2

+ Testing "jail" mechanics for RP
+ Registered a domain and started working on Flask web app to be used as an alpha account registration portal, high-scores, etc
+ Added fencing corner sprites
+ Created class to manage monsters, aggro, threads, collisions
- Monsters use dumb aggro pathfinding. Monsters get caught behind objects and other monsters (similar to RS)
- NPC humanoids use A* pathfinding, thus NPCs solve mazes if needbe to get to you if aggro
- Benchmarked Pyglet-2 with Python3.9 for future porting considerations over Rabbyt for sprite rendering
- Modified the Rabbyt Cython port to use list comprehension instead of iteration for rendering; Benchmarks the same so doesn't really matter though
- Performance is not really an issue but always trying to get gooder regardless
- Still not corrected arrow offsets for the bow anim. as seen in shown webm

October 2022, Week 3

+ Server channel functions now use their own threads
+ Further stress testing: Connected 300 headless clients, started open requests for each, results were good
+ Added 150 new isometric tiles to the Realm Editor
+ Equipment interface bugfixes, good to go now
+ Increased opcode dictionary keys for Client->Server from 200 to 1000
- webm is not an actual attack with the bow
- I need to do some pixel art for game objects I need

+ Created GUI for trading, shop, bank interfaces
+ Created a class that manages all game trades and open trade requests
+ Existing trade related opcodes modified to work with this class
- Added more media to Steam page

October 2022, Week 2

+ Server can enforce client whitelist rules (build versions, plugins, etc)
+ Created class to manage/rotate DH, AES keys for server and players
- Encryption will be optional for normal game traffic (outside of the login), set by the server

+ Inventory sprites now cover ~90% of total items, replacing the red-x
+ Headless client created for development and testing tool
+ Server stress testing results are good
+ NPC Dialog dictionary data structure determined
+ Various networking related things to sync the multiplayer gameplay mostly
+ Several of the server functions with for loops now use list comprehension
+ Various chat commands added, getserveruptime, pingtest, logout, clearchat, changepass
- Quests were held up by dialog, now I need to decide questing-related data types
- I am contemplating the design of the "instances" for now special scenarios (instanced boss battles, etc)
- Considering the minigames I want to implement first: castle wars clone, battle royal, horde survival

October 2022, Week 1

+ Status animation synced for multiplayer networking via 2 new opcodes
+ Now using AGDG scraping friendly progress report template
+ Status animation default clock is now 0.025 delta-time (2x prev)
- Prev: Spell animations synced over multiplayer
- Prev: Enemy player equipment changes over multiplayer (worn item switching)
- Will be programming most of tonight

+ Trade system logically implemented on server and client, just needs the GUI, includes 5-server/5-client new opcodes
+ Added 4 new character faces
+ Added 17 hats/accessories

+ Player bank database schema created
+ Banking system mostly implemented on server and client. Needs the GUI and some remaining opcodes for QOL
+ Added a new wizard hat with 6-recolor variations
- Probably going to get shops, etc logically implemented, then do the GUIs for them at once
- I've been wanting to do quests for some time, should be some progress there soon

+ Online player list added
+ Graceful logout process added, with a placeholder animation (yesterday)
- Doing treasure maps (now), which will be similar to clue scrolls in osrs
- I am having a lot of fun and so much in store. Enginedev pays off.