Jump to content
Eternal Lands Official Forums
csiga

Alternative client

Recommended Posts

Hi! I developed an unofficial chat-only client some years ago in Adobe Flash (as a learning project for tcp/ip communication in ActionScript 3). It was unofficial so limited to test server. Now the new Flash Player with its new 3D core opened the possibility to make a real client (check the Adobe MAX 2011 unreal engine videos on youtube ;)). It can also make the game playable via Facebook or possibly on some new mobile devices supporting Flash with 3D and may bring more new players into EL. Any opinions?

 

Of course I plan to port as much parts as possible from the original EL client code, so they can be kept in sync with the officially released client versions.

Share this post


Link to post
Share on other sites

IMO, it's not a good idea. You'll need anyway to install the game on the computer to have the data available. Look at Dofus for instance, it's using a flash client but you need to install the game, I don't really see the point... :confused:

 

If you want to have a real flash client that works without any install, you'll need to stream all the data on demand which will greatly increase the loading time and the bandwith of the server. I don't know if it is possible to cache explicitly the data downloaded, I think it's done automatically by using the cache from the web browser but is it really working nice?

 

Last point, flash is really slow so if the aim is to make the client run on mobile devices, there are much better way to do it.

 

Anyway, it's just my opinion. If you think all the problems I pointed out can be resolved then you can try. But I think you'll encounter a lot of other problems so good luck! :)

Share this post


Link to post
Share on other sites

Hi Schmurk, Flash isn't quite slow in my experience. Of course the 3D capabilities will not available on all of the mobile devices, but to run on mobile devices is just an option, not the goal. Some example from the new player's 3D capabilities:

Share this post


Link to post
Share on other sites

In fact, what I'm fearing the most is all the stuff that you can't run on GPU. In your video example we don't see any animated characters and in general the skinning of rigged characters is quite consuming in CPU time. So if for instance you can't make this run on GPU like it's done with the vertex programs in the current client, you'll have a lot of difficulties to display only 10 characters on the screen without any loss of performance or you would need a really good CPU. I've already coded some stuff in AS3 and done some complex computations with it and I know that it's much much slower than the same stuff in native code.

 

Moreover, unless you port it yourself, you'll have to find a replacement for the cal3d lib in order to animate the characters.

 

Anyway, I'm not saying it's impossible because I didn't study in details what we can do with the new AS3 3D API but I think it's a lot of work for a result that might be not convincing. Moreover, actually I don't really see the point of doing a flash client. EL is already running on windows, linux, mac and Xaphier is working on a new engine that will be much better and that will make the port to mobile devices much more easier...

 

But again, it's just my point of view and if I were you, I would not do it. But I'm not you... ;)

Share this post


Link to post
Share on other sites

The 3d engine (namely Molehill) are using a low level programmable pipeline, its syntactically very close to GLSL. Because I want to learn this engine in deep, thats why I choose to do a complex project like EL client (after over on the tutorial parts). I am sure if Unreal 3 engine runs smoothly, there can be no problems with the character rigging.

 

Good example to massive amount of calculations is the port of the physics framework called Box2D to AS3, it runs very well. If something seems impossible, there is still an option to use in C and link with Adobe Alchemy to the player.

 

Another example which use character animation:

 

Edited by csiga

Share this post


Link to post
Share on other sites

The 3d engine (namely Molehill) are using a low level programmable pipeline, its syntactically very close to GLSL.

Hum, according to what I've seen about it some time ago, it's not close to GLSL. It was more close to assembly code. But maybe they improved it since, I didn't look at it recently. So if you can do as much stuff as you can do with GLSL, that's great! :)

 

Good example to massive amount of calculations is the port of the physics framework called Box2D to AS3, it runs very well.

From what I've seen, it's damn slow. As long as you have only a few objects to manage it's ok but when you are starting to have a lot of objects, the FPS is decreasing drastically. And it's only a 2D physics engine! The computations are not that complex, believe me. You should be able to manage several hundreds of objects at the same time without any problem...

 

If something seems impossible, there is still an option to use in C and link with Adobe Alchemy to the player.

Alchemy seems nice in theory but it's not that good in practice because you have to transfer your data back and forth between the AS3 code and the C code. So unless you can access to the OpenGL directly from the C code (which I doubt a lot), it's totally useless IMO.

 

But I understand you're motivation about learning Molehill, it definitely looks interesting as an extension of flash. So I wish you good luck with your experimentations and I will be very interested to see what you can achieve with it! ;)

Share this post


Link to post
Share on other sites

The point for a Flash client would be that people could possibly play it from their phones and stuff (once they add support for the 3D stuff in the Android Flash).

Share this post


Link to post
Share on other sites

Interesting idea, the first video posted is made with the UDK engine i think, I've messed around with it for awhile and receive their monthly emails, they just recently released the whole mobile device part and are pushing it hard atm(also allows porting to iphones and ipad). It's definitely powerful but the license on that one for EL would pry be $99 up front then if EL shop ever made over $50k then it would be 25% on any sale....

 

Stage 3d (formerly molehill) looks a little better as far as no fees. There are several companies using it like Alternativa3D(which may still be using the older molehill not sure)in the second video which attempts to make it easier to transfer your project into flash and just "charges" putting their logo somewhere in the project like at start up etc.

 

interesting stuff but like Schmurk said i'm not sure it's developed much for mmo's yet, remember you can always get great graphics out of a pre-pathed demo because it doesn't have to use system resources for anything else like connecting to the server and interpreting the "random" paths of other rl players.

Share this post


Link to post
Share on other sites

Even some 2D client would be cool.

Think something like this:

some2dgame.png

 

It ofc couldn't offer the playability of the 3D client, but especially due to EL having the tile/grid position system it does, i'd think it would be possible. Parsing the ELM's and having them equate to a basic 2D map i'm guessing would be a bit of a task; handling of displaying harvestable objects might be a little tricky and there's stuff like whether or not to display water or grass at a tile that in the 3D client would be part of a shoreline containing both water and grass.

 

Maybe it'd be better to not use the ELM's (only the walkable tile data from them) and re-make EL's maps in a more compatible format.

 

I have no Java coding experience but if a few people are willing to get on board as well, I would be willing to help with making small bitmaps and, if i'm provided an interface to do so, re-making some of EL's maps as 2D maps.

 

We could also check if there's any free sprite/texture sets out there we can use.

 

 

 

edit: this post should really be in the android client/widget thread i guess :P

Edited by Korrode

Share this post


Link to post
Share on other sites

Hi Elf_Ninja,

 

The example video I posted is just for let see the capabilities of Molehill, not meant to build the EL client on Unreal Engine.

Share this post


Link to post
Share on other sites

Korrode, I was thinking about that, but it is not possible (or won't look pretty) because many objects are turned at weird angles and stuff.

Remaking all the maps would be a huge PITA, and unless it can be done by a program, no way we can do it. And being done by a program will not be pretty.

Share this post


Link to post
Share on other sites

Yeah the whole thing would be a lot of work for sure...

 

What about something simplistic using Bloodsucker's maps, where it just displays his map the whole time and NPC's, mobs and players get represented on it by some little sprites... and it could support trading, using storage, etc... even engaging mobs in combat and using spells should be ok?

Share this post


Link to post
Share on other sites

It might be possible to use the extreme zoom out feature that is not yet in the official client and a series of snapshots. I have not played with the map editor, but if it has the extreme zoom out feature, it could perhaps be used instead of the client.

 

Rendering of everything could be done alot easier if we had a record feature added to EL where it would record sprite positions and actions into an XML file or something like that and then we could play it back at various angles. This would create porting of a 2D image set for the game into something that could be automated and a "port EL" script could be done after EL's normal client is updated.

 

If the code that communicates with the server and the code that interacts with the player were separated, it would probably ease the development of different clients as they could just work on the part they need to be different. It might be rather simple to make a port of the server interface code for device X.

Share this post


Link to post
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

×