I've been on this forum for a while (hah, a few years; blimey). And since the birth of proper OOP within the RSPS community, Deltascape bases have been shunned as the worst thing in existence; but it seems to me that nobody ever explains why. People just get told "Ew, Delta; I wouldn't touch that with a 10 foot pole held by someone's dead hamster in a contained vacuum chamber inside a bunker in another country on a different continent.".
So as someone who's created two (pretty cool, albeit lacking in some respects) servers using this source; I can safely say I've learned its ins and outs.
So here goes: These are the reasons you SHOULDN'T use Deltascape as a base!
- Deltascape is NOT Object Oriented Programming; the code methods used within this source should be called "FilthScribbles" or whatever; because it genuinely is - just blocks of junk.
- Deltascape runs all of the players off a single thread - IN SEQUENCE (of 500ms cycles), what does this mean? - It means that if you click, you may have to wait up to half a second for your 'turn' to have your command processed; not only that - if there's A LOT of players online - you will have to wait even longer.
- Deltascape has no in-built collision checks of any kind. It basically relies on the client to do the work; and between the start-and the-end of your characters walk path, the source doesn't know where this character is. This also means no player-following, which also means PvP will be more frustrating than enjoyable.
- Deltascape has a lot of unused or flat-out flawed code; namely - the legendary refreshSkills() which floods the client with packets on EVERY SINGLE ATTACK.
- Deltascape npcHandler is a mess, there's a lot of rewriting to be done, should you want to use this source for a proper PvM server.
- Two-clicks: will be required for most of the interactions; this is because process() cannot invoke an action in the client, that's simply not how it works. So if you click on an agility obstacle, the character will walk there and stop; because the server cannot initiate the action; the same thing applies other things as well.
- Deltascape has a very fat client.java; splitting it would be an inconvenience because as mentioned before: the server does not employ Object Oriented Programming.
There are of course more reasons than this, but I feel this should be sufficient... If you are looking to start a server in order to learn something about Java (doesn't matter what reasons you have for it, don't let anyone tell you to NOT do it, just do what you like) - then avoid Delta, anything you learn from that source will damage your future ability both in Java and even the use of other sources.
If you wonder what a good base might be: Try Hyperion or Asteria; those are good. They're pretty blank and not filled with strange things.Just don't do what I did (my addiction to Delta started with Cheezscape back in dem early days) and once my current server is finished content-wise; I'll be pushing myself to learn how to use Asteria to re-create the same thing, just better.
P.S. If anyone ever asks you why Delta is bad, just show them this.