Redoing my game engine

I have come to the conclusion of pretty much redoing my 2D game engine over the Christmas holidays… And I thought I might ask this amazing Java-loving community for any suggestions (PLZ don’t suggest stuff like “don’t make an engine, use this one instead” because for some reason I find myself happier when making an engine and also it makes me happy that when I make a complete one)

Here are some of my ideas for the redesign:

  • normal event system instead of reflection
  • hopefully a lot less memory usage
  • remove a lot of the “[INTERNAL USE ONLY]” messages from the docs
  • LWJGL 3 usage (multiple windows, multiple IO, etc.)
  • TCP and UDP server/client architecture
  • replace ‘Input’ class with ‘Keyboard’ and ‘Mouse’ classes
  • custom ‘Color’ class
  • any other sensible ideas you guys suggest (if I agree with it)

EDIT: I will also be giving the developer ArrayLists instead of normal Arrays