EOSERV Forum > Programming > Open source client, anyone?
Topic is locked.
Page: << 1 2 3 >>
Open source client, anyone?
Author Message
Post #195813 Open source client, anyone?

This is just a first pass, but I thought I'd share what I have while it's at least working a little bit ;)

Client is written in C#. Requires installation of XNA Game Framework (development studio or whatever). Runs in Visual Studio 2013 (I don't know about express edition). Take a look at this site to download XNA if you don't have it already: https://msxna.codeplex.com/releases/view/117230

Source is available here: https://github.com/ethanmoffat/EndlessClient

UPDATE: binary is available here: https://github.com/ethanmoffat/EndlessClient/blob/master/Release.zip (built 8/8/2014 at 17:32 PST)

UPDATE 2: the binary will try to connect to 127.0.0.1:8078, so you'll need a local instance of eoserv running in order to try it out (or just build the source...its not hard...)

UPDATE 3 (8/15/14): Haven't had much time on this lately, but gameplay development is in-progress, and I added support for a reading a config.ini. The main 11 buttons (well, 10 that actually worked in the original client) transition between different UI panels and show updated content based on which one was clicked. Only loads the background images for those so far. Will upload source/binaries for new version when I get on my other computer, a screenshot is included for now.

[Intermediate update] (9/25/14): Added some basic chat handling. Doesn't actually handle in-game chat yet but it is close. The framework is all there. As a sample the news from the server (kinda) works. Like I said..."intermediate"...

UPDATE 4 (9/28/14): Chat rendering is working like a champ. As a demo, the news text file that is loaded from the server and sent to the client on login is rendering properly and scrolling properly-er. The scrollbar has been pretty buggy in the past but is working well now.

UPDATE 5 (10/4/14): Public and Private chat seem to be working. I have a few more features to add to those two and adding handling for other types of chat won't be too hard. This will be my last update on this post (see linked github for changelists and code updates).

ChangeList

Version 2.1 (9/25/2014):

  • Base logic for handling in-game chat
  • Server's news text is shown on the news panel (hacky workarounds for days)
  • Scroll bar (used in account creation message dialog and chat panels) needs a rework working like a champ

Version 2 (8/8/2014):

  • Welcome packets are handled and file downloads are supported. Watch in amazement as the server gives YOU the maps/pubs you need!
  • Numerous bug fixes based on responses in this thread (mostly related to dialogs and other UI controls in the menus)

Screenshot of the in-game screen so far: (UPDATE: more screenshots available in this album here!)


(original) Screenshot of my client (sorry Apollo, using your GFX/pubs for testing :-/):


And the original client looks like this:


---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
10 years, 22 weeks ago
Post #195814 Re: Open source client, anyone?

It looks so well made. I hope it gets completed. o3o

10 years, 22 weeks ago
Post #195815 Re: Open source client, anyone?

i can't find a compiled executable file but it looks nice.

---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
10 years, 22 weeks ago
Post #195816 Re: Open source client, anyone?

Alright, you plebs. OP updated with link to binaries. You'll need to copy gfx/pubs over still.

---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
10 years, 22 weeks ago
Post #195819 Re: Open source client, anyone?

doesn't work even after copying my gfx/pub over.

---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
10 years, 22 weeks ago
Post #195821 Re: Open source client, anyone?
weedindeed posted: (1st Aug 2014, 11:50 pm)

doesn't work even after copying my gfx/pub over.


Well, you're the one who wanted a compiled binary... It's looking for a server running on localhost. If you want it to work, start a local instance of eoserv running on the same computer listening on port 8078. Or, change the code to point to a different server and rebuild it, since the entire point of this project is to do exactly that.

Adding support for a config.ini is not mission critical to me at the moment.

---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
10 years, 22 weeks ago
Post #195826 Re: Open source client, anyone?

I can't open the game itself.
even while running a server...

---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
10 years, 21 weeks ago
Post #195833 Re: Open source client, anyone?
weedindeed posted: (2nd Aug 2014, 10:26 pm)

I can't open the game itself.
even while running a server...


I'm guessing it's missing a DLL dependency then? I can't really help much when your problem is either "doesn't work" or "I can't open it". Help me to help you. Be descriptive. Use your words.

Assuming it's a missing DLL dependency, make sure .NET (at least v4.0) and XNA are installed like I described (at least the XNA runtime needs to be there). XNAControls.dll and EOLib.dll also need to be wherever the game is extracted.

If it's not, it could be Windows firewall is being a toolbag, so make sure you have a port exception for port 8078 on your computer.

---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
10 years, 21 weeks ago
Post #195834 Re: Open source client, anyone?

got the  Microsoft XNA Framework Redistributable 4.0 and it worked.

Keyboard isn't working when creating accounts but it works when trying to log-in.(probably you haven't coded it yet)

log-in works perfect .

question: Does XNA supports window stretching and the resize button(between the x and minimize button)  if not how are you going to add them ....I'm using allegro 4 to make a client but it doesn't support these 2 things.

also the client said something about the old pub files format what's that?

---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
10 years, 21 weeks ago
Post #195835 Re: Open source client, anyone?
weedindeed posted: (5th Aug 2014, 10:19 am)

got the  Microsoft XNA Framework Redistributable 4.0 and it worked.

Keyboard isn't working when creating accounts but it works when trying to log-in.(probably you haven't coded it yet)

log-in works perfect .

question: Does XNA supports window stretching and the resize button(between the x and minimize button)  if not how are you going to add them ....I'm using allegro 4 to make a client but it doesn't support these 2 things.

also the client said something about the old pub files format what's that?


Interesting - keyboard input should be working for creating accounts. I haven't tested that in a while so I probably changed something that borked it. I'll definitely look into that, glad everything else is working though!

XNA supports resizing/maximizing the window. The 'Game' class that is the base of everything has a handle to the game's underlying window (Win32 HWND) so I can always just go in through WinForms and change stuff using that handle if I need to, since I'm not planning on an Xbox or Windows Phone port at all :P I'm planning to enable stretching the window once the player is in-game and try to make it so that the client shows more of the map instead of scaling all the graphics. Might be kind of challenging but it would look much better than images stretched up from 640x480.

Old pub files format is just a little version check I added. I had another topic on here about rendering hair, and the way I solved that problem was to add new item sub-types to the pub files. I used a previously unused byte as a "version" number in the file, so it checks this when the game loads. The version number is updated when the pubs are processed by the BatchPub utility that I include in the source. You might notice hair showing through on characters wearing hoods or helmets otherwise!

---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
10 years, 21 weeks ago
Post #195836 Re: Open source client, anyone?

There is something else I found in the client ,the boxes are not moving right not the correct way as eo ,nvm about it probably it's not important .

edit:sometimes the text of the "could not find server" box appears in the top left side for a sec ,before the box appears.

---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
10 years, 21 weeks ago
Post #195841 Re: Open source client, anyone?
weedindeed posted: (5th Aug 2014, 07:17 pm)

There is something else I found in the client ,the boxes are not moving right not the correct way as eo ,nvm about it probably it's not important .

edit:sometimes the text of the "could not find server" box appears in the top left side for a sec ,before the box appears.


That second one I'm actually working on right now, it's been a problem for a looong while.

What's the first one you're talking about? Which boxes aren't moving right?

---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
10 years, 21 weeks ago
Post #195843 Re: Open source client, anyone?

perhaps it's the most unimportant thing in the world,but the message boxes like the one that shows when the connection fails or the one with the text that shows when your creating a new account,when you move these boxes to the edge of the window and then try to move them again they won't move in a correct way.....

---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
10 years, 21 weeks ago
Post #195847 Re: Open source client, anyone?

Looks promising... how long have you been working on this?

10 years, 21 weeks ago
Post #195851 Re: Open source client, anyone?
weedindeed posted: (6th Aug 2014, 10:19 pm)

perhaps it's the most unimportant thing in the world,but the message boxes like the one that shows when the connection fails or the one with the text that shows when your creating a new account,when you move these boxes to the edge of the window and then try to move them again they won't move in a correct way.....


The dialogs should all be fixed now. I've been trying to fix that problem with the words popping up in the top left for a while now (I haven't updated the binary but the source is fixed). Also it should no longer be possible to drag them off screen.

 

Septharoth posted: (7th Aug 2014, 02:27 pm)

Looks promising... how long have you been working on this?

This all started because like 4 years ago I tried loading GFX in C# using P/Invoke and it didn't work (I had no idea what I was doing). I revisited the problem in April and got it almost immediately, so I just kind of went with it. I developed the UI controls (buttons, dialogs, etc) as part of my senior project at school. Development on the actual client itself took off mid July. I haven't had as much time on it as I would like recently because I started working but I've been adding little bits and pieces here and there so hopefully I'll be able to complete it!

---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
10 years, 21 weeks ago
Page: << 1 2 3 >>
Topic is locked.
EOSERV Forum > Programming > Open source client, anyone?