open All Channels
seplocked EVE Technology Lab
blankseplocked Stop the Feature Glut: Take the API to the Next Level
 
This thread is older than 90 days and has been locked due to inactivity.


 
Author Topic

Andargor theWise
Collateral Damage Unlimited
Posted - 2007.09.26 14:47:00 - [1]
 

Edited by: Andargor theWise on 03/10/2007 23:20:36

EDIT: THIS IS NOT MACRO FRIENDLY, please read before making a comment like that. Laughing

I do not claim that the ideas herein are original, others have suggested something similar at different times, but they are usually buried in multi-page threads.

In the current Dev Blog, Eris talks about the Tactical Map, and asks for suggestions on how to improve features. 7 pages later, the feature requests are still pouring in.

This is just a small example of the current feature glut. There are so many aspects of the game world that require features, UIs, logic, and so on, that development effort and associated maintenance keeps growing.

The other side-effect is that the client becomes bigger, more unwieldy, and arguably the extra features induce UI lag.

And Erisí thread proves that the player community realizes the full potential of the Eve game world by requesting innumerable features of which CCP will only be able to implement a small portion, and will have difficulty maintaining over time..

The current API is a tiny fraction of what could be achieved. The suggestion is to minimize the client functionality, and instead implement a true API for the reading and manipulation of game data.

There could be a client-side API and a server-side API (as it is currently). How it is implemented could be via any number of methods, but of course security and code integrity would have to be maintained. For example, the client could respond to a local TCP port for API calls, and the server-side component could be enhanced.

Security concerns could be addressed by not providing any ship control facilities or item manipulation via the API, a maximum number of calls over time and introducing a processing delay (akin to the current 5-minute delay with the current API).

The Eve development community would take the brunt of the work to extend the functionality of the client via the API. We have many examples of independent developers that have stepped up to fulfill player needs, JumpPlanner comes to mind.

CCP could then focus on the core functionality of the client, namely the sandbox environment, combat, missions and economic system. Performance could be enhanced, and any API calls would not be treated in priority.

All that CCP would have to manage for extra functionality would be the versions of API according to the new content for the game world as it evolves.

By focusing on their core technology, a little like their strategy with White Wolf to focus on their core business, perhaps a lean mean fighting/missioning/marketing machine will emerge.

I know the inevitable argument that macros could benefit from this, and my answer that this would not make it any more difficult than the current situation. As I mentioned, the API should not have any ship or item manipulation capabilities.

I encourage you to read Erisí Dev Blog comment thread, and get an idea of just how many features people are requesting. And just imagine if most of it could be coded independently, if only CCP would provide the facilities to do so: a true API.

I probably have not though of every issue, of course. The point was to bring the idea to the fore, and hopefully get some constructive comments.


Andargor theWise
Collateral Damage Unlimited
Posted - 2007.09.30 23:23:00 - [2]
 

Wow, I never thought I would be so clear that I would stun everyone into silence. Laughing


Synn Seitti
Republic Military School
Posted - 2007.10.02 06:00:00 - [3]
 

I'll explain why it won't ever happen in one word: Macrominers.

Sadly,the gameplay is repetitive enough that most of it can be completely automated, and there's a constant battle to stop people playing unfairly/trying to avoid carpal tunnel. An open API would require either A) giving in, and saying macros are OK. or B) A radical shift in gameplay where monkeys clicking buttons for hours on end continue to produce the same reward forever.

John McShip
TERRA NIX
Posted - 2007.10.02 15:32:00 - [4]
 

if any of the devs played Asherons Call, they will know why this is the kind of addition which can completely break eve

in AC it was called Decal.

Ambo
I've Got Nothing
Posted - 2007.10.03 12:04:00 - [5]
 

Have to say I think this is a terrible idea.

It would destory the point of playing because 'playing' would just involve writing a program to manipulate the API functions and letting it run.

Eve would become about who could write the best code and little else.


An open source version of the client would be interesting but far too open to abuse.

Aerean
Caldari
Posted - 2007.10.03 20:00:00 - [6]
 

There's a big issue here that people are skipping out on. Andargor made perfectly clear, and I quote:

Quote:
the API should not have any ship or item manipulation capabilities.


This DEFINITIVELY PRECLUDES the possibility of macromining as you would not be able to control or automate any in-game process.

What Andargor is suggesting, and I would like to support his suggestion, is that the DATA in EVE is made available through the API. This way, all of the features that people would like to see implemented in the game could be implemented separately, relieving CCP from the strain of being the be-all-end-all of feature development. Just think how many people use EVEMon, and how much that IMPROVES the game experience, rather than being detrimental. This is possible because CCP exposes information about a player and some of the generic game data (skills, dependencies, etc.) through the API. All I'm asking is that more data be exposed. The possibilities to BETTER the game experience for everybody are endless.

Andargor theWise
Collateral Damage Unlimited
Posted - 2007.10.03 22:58:00 - [7]
 

Edited by: Andargor theWise on 03/10/2007 22:59:46

Yes, the point is not to encourage further macroing by not allowing item or ship manipulation.

Like I said, a 5 minute processing delay can be put in after every API call, or the data can be refreshed only every 5 minutes. It would strongly encourage near-real-time operations, such as information collecting and annotating maps.

And self-quoting ftw Laughing

Quote:

I know the inevitable argument that macros could benefit from this, and my answer that this would not make it any more difficult than the current situation. As I mentioned, the API should not have any ship or item manipulation capabilities.




Andargor theWise
Collateral Damage Unlimited
Posted - 2007.10.03 23:16:00 - [8]
 

Edited by: Andargor theWise on 03/10/2007 23:17:55

Originally by: John McShip
if any of the devs played Asherons Call, they will know why this is the kind of addition which can completely break eve

in AC it was called Decal.


That's definitely not what I am talking about. Decal's effectively a mod architecture, plug-ins that can make internal application calls.

What I'm talking would be something like this: the client responds to messages, let's say SOAP or XML-RPC or some other TCP protocol, whatever. It sends answers back. Hence, program integrity is intact, and full control over what can and cannot be set/put is preserved. The rate at which information can be set/put can be controlled.

Imagine a better version of the galaxy map, developed by someone. Basically, it would run in its own window (I would not recommend allowing graphical elements like windows to be manipulated via the API).

If you run full-screen, it could be an overlay or a "top window". Say you want to know the "pilots in system" stat, you click somewhere in the galaxy map app, it sends an API query to the client (or the eve-o web server, whatever), and the answer comes back. The map updates with the info.

Neat, huh? But it does exactly the same thing as the current map! Oh wait... you highlight an interesting system on the galaxy map, and it sends a message via the API. Poof! Everyone in your alliance that has the same tool can now see the highlighted system.

Sure, it might be delayed a couple of minutes to not induce lag, but isn't that cool?

And that's a very tiny example of the things that can be done. Read Eris' thread, I see POS fuel monitoring, fleet control, hostile intel, and a whole slew of other stuff.

Even if it's just making a better map. A lot of people say that the current map sucks. Well, make a better one! And use the API.

CCP all of a sudden doesn't have a whole bunch of features to manage. They can concentrate on lag free fights (yes, I was in FAT today...) and a much lighter client.





Ambo
I've Got Nothing
Posted - 2007.10.04 07:35:00 - [9]
 

I can kind of see where your going but your discussion is confused and seems to ignore key points.

Originally by: Andargor theWise
The current API is a tiny fraction of what could be achieved. The suggestion is to minimize the client functionality, and instead implement a true API for the reading and manipulation of game data....

As I mentioned, the API should not have any ship or item manipulation capabilities.


Which is it?

are you arguing for allowing manipulation of game data or not, If just not 'ship or items' then what data could you manipulate? Market orders? contracts? starbase admin? All of these would be massively open to abuse and mean that whoever wrote the best code would win, as I said before.

If you are not allowing manipulation then I just see it as an extension of the curent API system, this is already happening.

Aerean
Caldari
Posted - 2007.10.04 08:13:00 - [10]
 

Originally by: Ambo

If you are not allowing manipulation then I just see it as an extension of the curent API system, this is already happening.


Not really. I mean, it could happen that these features are developed, but at the moment the API doesn't allow much.

For instance, here's a list of things the API could include. You can argue with any one of them, but in the end what matters is that there are tons of untapped possibilities. Some of these datasets include:

NOTE: As it stands, all this data is already available in-game

-regional market data based on player location
-Map data: enough to be able to calculate routes, understand a character's location in the game, etc.
-Item data: the properties of all items in the game (e.g. mass, size, description, etc.)
-Station data: the locations and properties of all stations, outposts, and P.O.S.s, etc.

If I had my way, any data that was in the EVE databases that DID NOT COMPROMISE THE PRIVACY OR SECURITY OF OTHER PLAYERS OR CORPORATIONS would be available through the API. I've tried to use the database dumps that CCP provides, but they are just far too out of date to be of much use. Really, you need something that you can poll regularly for new information (even once a week for game data, maybe once an hour for market data).

For those who aren't really clear what the API does and how it's structured, please understand that, as it stands, you can't modify anything through the API, and furthermore, it would be far too unwieldy to manipulate anything through the API even if it was possible. The way it works (or you could just read the documentation Laughing) is that you send an HTTP request with some parameters (like you would for any web page), and CCP returns a file with a bunch of data.

Let me make this perfectly clear:

NOBODY IS TALKING ABOUT ANYTHING THAT WOULD ALLOW MACRO-ANYTHING!!! We're talking about the ability to GET GAME DATA, NOT SCRIPT THE GAME!

The main idea is that, with this data freely available, EVERYBODY can use it to make the game more enjoyable, and understandable. It all comes back to supplementing one's knowledge of the game, nothing more.

Ambo
I've Got Nothing
Posted - 2007.10.04 09:50:00 - [11]
 

Well I suppose that's debatable. The current API is pretty good at what it does and it's being expanded with new functionality. I don't think everything should be available though.

I'm a trader and for me it would save me HUGE amounts of time if I could get market data from the API but I see that as a recipe for disaster. Suddenly, everyone can check all of thier orders almost instantly. They would still have to go online to update them but it would make the market way tougher than it is right now - somthing I personally don't want because I would lose a lot of earning potential.

CCP are expanding the capabilities of the API but they won't include stuff that could harm the game experience in some way, which I think is great. Exposing everything would simply put too much power in the hands of the programmers - believe me, I know. I've got a great tool that has cut down my time spent managing things by hours every day and it's all because of data from the API and a bit of creativity. Giving me access to all the publicly available data in Eve via the API would, frankly, make me overpowered because I can make use of it but many others who play cannot.

Andargor theWise
Collateral Damage Unlimited
Posted - 2007.10.04 12:29:00 - [12]
 

I agree that this has to be done carefully. I do propose some data manipulation, but to the level where you can not macro with it (e.g. alliance or corp data, map annotations, intel, or non game-breaking stuff)

I knew there would be resistance to change, there always has been with new stuff, and this is as off-the-wall as it gets. Smile


CCP Atropos

Posted - 2007.10.04 13:23:00 - [13]
 

Given the current Need For Speed initiative and our desire to fix 6 bugs for every 1 new feature, this could be something we might consider in the future. It would be unlikely to be considered in anything more than a theoretical aspect for the moment though, due to the programming required to implement these ideas.

However, since I personally don't deal with the API side of the development, I'll poke Garthagk and have him give his opinions. Smile

Aerean
Caldari
Posted - 2007.10.05 01:48:00 - [14]
 

Originally by: CCP Atropos

However, since I personally don't deal with the API side of the development, I'll poke Garthagk and have him give his opinions. Smile



Atropos,

Is there any way I could communicate very briefly with a developer involved in the API? If not, would you consider passing on a brief message to such a developer? I have what I think is a concise, thoughtful proposal, and the best part is that it doesn't involve much (CCP) developer work at all!

Any consideration would be highly appreciated!

Dal Rath
Posted - 2007.10.05 11:27:00 - [15]
 

Originally by: Aerean
Is there any way I could communicate very briefly with a developer involved in the API?

Fire up an IRC client and start hanging out in irc.coldfront.net #eve-dev

Aerean
Caldari
Posted - 2007.10.06 04:16:00 - [16]
 

Maybe I wasn't clear. I don't mean any developer working externally with the API. I was hoping to get in contact with a CCP developer involved in building the API. Any chance this could happen?

Thanks!

Tonto Auri
Vhero' Multipurpose Corp
Posted - 2007.10.06 14:51:00 - [17]
 

Aerean, You was clear enough but do not understand given answer.
#eve-dev channel @ coldfront is where CCP devs meet with people.

Now it is clear enough?

Erim Solfara
Amarr
inFluX.
Posted - 2007.10.07 15:39:00 - [18]
 

I'm in support of this thread : )

Andargor theWise
Collateral Damage Unlimited
Posted - 2007.10.08 21:52:00 - [19]
 

Originally by: CCP Atropos

However, since I personally don't deal with the API side of the development, I'll poke Garthagk and have him give his opinions. Smile


<3


Linavin
Mercurialis Inc.
Wildly Inappropriate.
Posted - 2007.10.10 04:24:00 - [20]
 

Im rapidly refreshing the page to see all of your sigs Razz (I want one)

Oh and Streamlined client = Win


 

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only