RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Open source XNA Ultima Online client

Poplicola

Sorceror
UltimaXNA has reached Milestone 0.1: Interaction and network. This milestone includes a complete rewrite of the client's networking (thanks Jeff!), numerous feature additions, and countless bug fixes.

Some of the big features we've added or fixed in the past week are:
* Persistent entity targeting: You can now left click on an entity to target them, and their stats show up in the gui (see the attached screenshot).
* Interaction with items. You can now pick up items, drop items to specific spots on the ground, move items between containers, equip and un-equip items, view item properties, and so on.
* Update speed independent of fps: when the client is in the background, or there is a heavy load on your system, the fps is reduced. However, this does not affect the update speed of the mobiles; you could run this engine at 240fps or 2fps, and mobiles would move at (basically) the same speed.
* Better support for login and logout: the client responds appropriately to login errors and can now logout on command (Ctrl-Q).

It's been a while since I've updated this thread, but as I said before, new features are being added daily.
 

Attachments

  • Target.jpg
    Target.jpg
    151.2 KB · Views: 298
  • Debug.jpg
    Debug.jpg
    77.4 KB · Views: 228

Poplicola

Sorceror
As of r123 (r123 - ultimaxna - Google Code), you can now engage mobiles in combat!

To test this all out, I gave myself a 2000dmg/hit sword and proceeded to rob a band of orcs. Oguk, here, was obviously the big winner in last night's poker game. ;)
 

Attachments

  • pokerwinnings.jpg
    pokerwinnings.jpg
    110.2 KB · Views: 348

Tylius

Sorceror
I've been actively watching this for a while and the progress is amazing, great work!

While I'm sure many people would be against it for imitating, I was wondering if perhaps an action-bar could be looked at for implementing (similar to World of Warcraft/Lord of the Rings, etc);

In essence I suppose it would basically just be automatically setting macros for the spells you place on the action-bar, but it could open up the game for players who are used to above mentioned games (I know personally, my wife would be able to get into the game more if it had a familiar aspect such as that)

I haven't looked at any of the code yet myself, but when I get a chance I'll see if I can work out some code for it, I can't imagine it being that difficult as it would be setting hotkeys for the abilities and that's basically it, the bulk of the work would be creating a hotbar that could be drag/dropped onto I suppose (I think at least!)

Any thoughts or responses on this would be great!
 

Goury

Sorceror
Code:
~/.wine/drive_c/UndeadTwo/UndeadTwo/bin/Release$ mono UndeadTwo.exe

** (UndeadTwo.exe:13159): WARNING **: The following assembly referenced from /home/goury/.wine/drive_c/UndeadTwo/UndeadTwo/bin/Release/UndeadTwo.exe could not be loaded:
     Assembly:   Microsoft.Xna.Framework.Game    (assemblyref_index=1)
     Version:    3.0.0.0
     Public Key: 6d5c3888ef60e27d
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/home/goury/.wine/drive_c/UndeadTwo/UndeadTwo/bin/Release/).


** (UndeadTwo.exe:13159): WARNING **: Could not load file or assembly 'Microsoft.Xna.Framework.Game, Version=3.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d' or one of its dependencies.
The entry point method could not be loaded

i need some help here
 

Jeff

Lord
Tylius;806084 said:
I've been actively watching this for a while and the progress is amazing, great work!

While I'm sure many people would be against it for imitating, I was wondering if perhaps an action-bar could be looked at for implementing (similar to World of Warcraft/Lord of the Rings, etc);

In essence I suppose it would basically just be automatically setting macros for the spells you place on the action-bar, but it could open up the game for players who are used to above mentioned games (I know personally, my wife would be able to get into the game more if it had a familiar aspect such as that)

I haven't looked at any of the code yet myself, but when I get a chance I'll see if I can work out some code for it, I can't imagine it being that difficult as it would be setting hotkeys for the abilities and that's basically it, the bulk of the work would be creating a hotbar that could be drag/dropped onto I suppose (I think at least!)

Any thoughts or responses on this would be great!

I've been working on a UI Framework that will allow you to create these types of things with ease.
 

Poplicola

Sorceror
I've been working on a UI Framework that will allow you to create these types of things with ease.
Something I'm looking forward to as well.

Here are some of the features added or bugs fixed yesterday:

WarMode:
* Added support for WarMode flag sent by server. (GameObjects/MobileFlags.cs,
Client/UltimaClient.cs)
* Players who have WarMode = true will animate in the 'ready' position. (GameObjects/Unit.cs)
* Added StandAttackStance and WalkInAttackStance to the UnitActions enum. (GameObjects/Unit.cs)
* GameState.cs now polls the player object for WarMode status, instead of maintaining its own copy
(GameState.cs)
* Added Network/MobileFlags.cs. Lots of flags in here, but only WarMode is currently supported.
* Modified MobileIncomingPacket and MobileMovingPacket to support the new MobileFlags class.

Unit facing:
* The server will often send two move packets in quick succession: one to move, and one to set the
facing once the unit has completed its move. I've added a _queuedFacing variable so the unit only
changes its facing once it has completed the move.

Corpses:
* Modified draw position of corpse. They now draw on the correct tile, although they are overdrawn
by other tiles.

Sound:
* Support for added for sound! No support for position or volume control yet, though. Enjoy all that
orc gibberish.

Support for POL server: you should be able to login to a vanilla POL server now.

Death animations are now supported! On receive_DeathAnimation(), UltimaClient calls GameObject.DeathAnimation()
 

Poplicola

Sorceror
I'm working on code that will enable item usage. Bandages are already working.
 

Attachments

  • testitem.png
    testitem.png
    12.8 KB · Views: 203

Maynza

Formerly DontdroptheSOAD
This thread is really fascinating good work man, looking forward to see where this goes.
 

JCKodel

Sorceror
Rendering problem

See the attached screenshot... the tiles rendered after a mobile are covering it =\
How to fix it?
 

Attachments

  • Untitled-1.png
    Untitled-1.png
    229 KB · Views: 227

Poplicola

Sorceror
JCKodel;807068 said:
See the attached screenshot... the tiles rendered after a mobile are covering it =\
How to fix it?

The legacy client splits up graphics that are wider than one tile into multiple horizontal subgraphics and assigns each of those to a seperate tile. It also seperates graphics vertically based on the (center) variable... any pixels below the center of the image are split into seperate images.

So, take the dragon for example: it's four tiles wide, 80 pixels high, and has a center of, say, -20. The dragon graphic would be split into 8 graphics: four across for the tiles, 60 pixels high on the tiles row where it is centered, and 20 pixels high on the tiles row at (x+1, y+1).

But we don't have that implemented yet. :) We'll definitely get around to it, but it'll take some time.
 
Top