Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Eclipse - Some Unique Name Here


Rob Janes
 Share

Recommended Posts

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](http://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 ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)

**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.
Link to comment
Share on other sites

  • Replies 423
  • Created
  • Last Reply

Top Posters In This Topic

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

I agree with you ! ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)

I'll certainly try my hardest to make it with useful advantages versus minor gameplay perks.
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

> 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.
Link to comment
Share on other sites

> 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](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/biggrin.png) 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](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/biggrin.png).
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

Here's tonight's update.

[www.samugames.com/EOrjanes2.zip](http://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.
Link to comment
Share on other sites

I have always been a fan of the work you produce on here. Im using this engine. Im gonna be a noob here though and ask for some code snippits when you updae the engine, If not its all good Ill just wait for a stable release! Any ways, excellent work man, honestly. Always intrests me to read a topic of yours :3
Link to comment
Share on other sites

The code will be available to everyone once the competition for the Vb6 Head Developer position is finished. Every release will be stable, so you can start without having access to the source code to develope your game, and when the source is released after the competition, modify it however you see fit.
Link to comment
Share on other sites

Thanks.

I'm open to suggestions on what people want included.

Ideally, these should be optimization suggestions or ways to improve the engine or accessibility versus features that would be custom to your own game. The goal is to add to the base engine and make it better, without necessarily creating a game for someone and all they need to do is plug in their own graphics. That being said, I do think it needs a default quest system, and guild system. These are just standard MMO items that would be nice to have in the base engine, but that's just my opinion.

I have a method to greatly increase performance and how smooth players move even with a lot of people on a single map, it will also greatly decrease network traffic, which I hope to tackle next week. I'll go into more detail later.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...