Eclipse - Some Unique Name Here

There are plenty of custom versions going around, so it’s time I added one into the mix!

I don’t have a creative name for this version yet…Thoughts?

You can download the compiled Client/Server here to try it out!

www.samugames.com/EOrjanes.zip

(Hold down Right Mouse button to Move)

(Up + Left to go up diagonally, or W + A if you have WASD enabled)

(Player Levels toggable in Options)

(Event Item Changes in Event Editor)

How does this version differ from any other?

99% of the custom verions available on the forums are simply users adding in tutorials that other players have created, tweaking it a little and releasing it as their own. With this version, you can expect all the code to come from one, experienced developer.

What can I expect to get out of this version?

The great thing with having one developer, and not a hodgepodge of tutorials, is that standardized structure. You’ll notice the code stays true to the Eclipse format that has been used by the official developers over the years. You can expect well commented code that you can easily learn from.

What features will it include?

8 Directional Movement (Completed)

WASD Movement (Completed)

Mouse Movement (Completed)

Mailboxes (Mail Text, Currency or Items) (Completed)

Guilds (Not yet started)

Quests (Not yet started)

Achievements (Not yet started)

Additional Event System Functionality (In Progress)

Code Improvements (In Progress)

What improvements will it include?

Network Optimization - Cutting out some useless packets that are sent that are not necessary and only increase network traffic.

Engine Optimization - jcsnider has done a great job with his DX8 modifications, so I’m quite comfortable in saying there won’t be a lot changed here, maybe just optimize some of the rendering functions a little and document it a bit easier for someone without experience to understand.

Why is the source code not available yet?

The source code will go available once the ‘developer’ contest has been completed. This in part because I may be tempted to try and run for the VB6 developer position, but also in part that I don’t want anyone running for the official developer position to simply take this code and call it their own. Call it petty if you will ;)

Current Changelog

  • Added WASD or Arrow Key Movement Options (Can be disabled under the Options Menu)

  • Added Mouse Movement (Right Button Down)

  • Added 8 Directional Movement

  • Added Option to show Player Levels next to their name (Can be disabled under the Options Menu)

  • Converted player files to load from INI storage.

+/- Reduced default number of Switches and Variables for a player, these can be increased if necessary, else it’s just excess data.

  • Added an Amount variable to the Event Conditions. You can now set an Amount for the Has Item Condition for an Event to be spawned for the user. If the user doesn’t have the amount the event won’t spawn. Leaving this empty of blank will result in only if the player has only 1 of the them.

  • Added a check to ensure that on the Change Inventory Item section of events, it will make sure the player has the proper amount. If not, it will show a generic page on the frmMain of the client stating the player does not meet item requirements and stop the event.

  • Removed the blank spaces appended to various player strings. The trim option is still functional within the client/server and can still be called however it will no longer store the extra blank spaces after strings when saving/loading from a player file. You will no longer need to use Trim($Player(index).name)

  • Since we limit one character per account, I’ve removed the option of having to create a character name when creating a new character. Your name will simply appear as your account name.

  • Removed the functionality of the charlist.txt. The only time this file was called was when adding an account to see if one already exists. It simply now calls a FileExist statement to see if that file exists or not.

  • Cannot warp to the next linked map automatically if walking diagonally, must be walking up, down, left, right

  • To save on server-side processing, some diagonal blocking for movement around world edges is processed client-side.

  • NPCs will not move diagonally, nor can you attack or toggle events diagonally. This is by design.

  • Removed Directional Blocking - This was a design choice to better improve diagonal movement. For the time vs. reward of having to modify the directional blocking to include 4 additional directions for it to function smoothly. I’ll eventually work on this, and add corners to directional blocking.

I knew it. I said it since day one of the contest. This guy deserves it more than anyone else. No tutorial, no bullsh!t.

Wow, interesting features going here, i am glad its just not another custom version with random tutorials cramped together like the rest. Good luck with this and i can’t wait to see the results.

~Kibbelz

SUNH!

Anyway, it looks pretty good. Although personally most of this seems too gimmicky and awkward to use myself.

SUNH!

Anyway, it looks pretty good. Although personally most of this seems too gimmicky and awkward to use myself.

I agree with you ! ;)

I’ll certainly try my hardest to make it with useful advantages versus minor gameplay perks.

You pretty much already have my vote… be careful though, the event system does need some work when it comes to speed and such but I am glad that you, unlike everyone else are not tearing it apart haha.

Keep it up and I cannot wait to see what comes out of this. So far, you are the most qualified person by far (IMO) that I have seen try to run for the new developer position.

RuTimeError

Aumation error

Help please

RuTimeError

Aumation error

Help please

you have downloaded/installed the libraries?

http://jcsnider.freemmorpgmaker.com/Eclipse Runtime Files Installer.exe

You pretty much already have my vote… be careful though, the event system does need some work when it comes to speed and such but I am glad that you, unlike everyone else are not tearing it apart haha.

Keep it up and I cannot wait to see what comes out of this. So far, you are the most qualified person by far (IMO) that I have seen try to run for the new developer position.

Thanks for the vote jc;

I am a big fan of how much work you put into the event system. I think the biggest optimization I’ll try to probably make to the event system is how the processes are called. At the moment I find it’s doing a lot of unnecessary looping, and there’s likely a better way to handle it. I haven’t looked a lot into it yet though, it’s on my to-do list this week sometime.

Looks nice. :)

At the moment I find it’s doing a lot of unnecessary looping, and there’s likely a better way to handle it. I haven’t looked a lot into it yet though, it’s on my to-do list this week sometime.

First off, with a couple of well placed booleans and you can remove all of the GoTos :D that is a step in the right direction. Afterwards, most looping can be helped by caching event process locations to the TempPlayer rec and further optimizations can be made from there. I wrote 90% of that code, especially the processing sections while basically asleep around 4 to 5am in the morning XD…. again, best of luck and I will be keeping a good eye on this one :D.

you got my vote too mate :P

…I am glad that you, unlike everyone else are not tearing it apart haha…

😧

Well, Rob, when voting comes, I’ll probably vote for you, this is probably the only version that balances features and optimising well.

I have a few hours tonight so I’ll like optimize the ever system a little, more over just thoroughly read the code and understand / document where improvements could be made, and I’ll likely tackle

projectile weapons - ranged weapons that use a bullet texture and move the bullet seamlessly similar to character movement. If I get more than that done, great.

This is pretty amazing. Good work, i must say you are really good at programming to recode everything.

I’m adding my own features ontop of optimising the existing code to further increase performance, rather than recoding everything. It doesn’t need a rewrite, it just needs some TLC. I come from a background in IT, (college in 2004 for Information Technology - majored in computer programming and minored in networking). We focused more on C, ASP, PERL though, but once you have the logicistics down, it’s the syntax that changes.

Here’s tonight’s update.

www.samugames.com/EOrjanes2.zip

What’s in this build?

  • Ranged Weapons
  • You can use the item editor and toggle a weapon to be melee or ranged. If you select ranged, you will be able to select the projectile texture for the projectile (arrow, bullet etc). These are located in the data files/graphics/projectiles directory
  • Ranged weapons do not use ‘ammo’ stores, this is by design.
  • Collision is unfinished - the arrow will not collide with the environment or NPCs/Players at the moment, I’ll finish that tomorrow.
  • Sometimes you may notice your projectile jump ahead 3-4 pixels. This is your client syncing the positioning with the server. Projectile movement is calculated both client/server side and synced on an interval (to reduce network traffic). The server calculate will be used for collision. If you notice your projectile jump ahead a few pixels, it’s just putting both projectiles in the same location. The server calculates the X/Y while the client calculates the offsetX and offsetY. Similar to players. Projectile movement is calculated server-side to prevent hacking.
  • Players can no longer attack while moving. I found this to be a hinderance in PVP as it felt more hack-n-slash. I may revisit it later.

  • Added a HasWeapon boolean. It will now check to see if a player has a weapon equipped before attacking.

This is mainly used for determing the type of weapon we have equipped, a ranged or melee weapon, but also easily allows a user to choose to remove the ability to attack if the player is not wearing a weapon.

Sounds very cool Rob! Can’t wait to play around with it.

Really good work buddy :)

Hello Rob.

Can we give you proposition to this engine in this topic?

Log in to reply