Login:  Password:   Remember?  
Show Quick Gamelist
Games:397  Guilds:2,007
Members:1,146,869  Online:0
Guests:0  Posts:3,123,606
Recent forum postsRSS
Active threads
Cloud view
List all forums
General Forums
Developers Corner General Discussion
Popular Game Forums
Click a status to find game forum
Game Forums
Click a letter to find game forum

MMORPG.com Discussion Forums

26 posts found
Galadourn

Advanced Member

Joined: 2/06/08
Posts: 543

 
3/30/09 5:20:42 PM#1

According to this thread...it's terribly wrong.

 

Any experts here to make more clear?

DarthRaiden

Elite Member

Joined: 11/20/05
Posts: 3081

i make art,
till someone dies.

Forum Terrorist

3/30/09 5:48:24 PM#2

LOL.."i write MMO's for living"

..and i don't approve da code  ..

 

Here you find proper reply

-----MY-TERMS-OF-USE--------------------------------------------------

Everyone who logs into NGE destroys a bit of the SW Universe.

No SWG Pre-Cu, No money to the $OE suckers , simple and fair.

DON't agree to $OE 's EULA. They change the gameplay without respect your investement.

"There was suppression of speech and all kinds of things between disturbing and fascistic." Raph Koster (parted $OE)

thinktank001

Elite Member

Joined: 12/13/08
Posts: 577

3/30/09 6:07:24 PM#3
Originally posted by DarthRaiden

LOL.."i write MMO's for living"

..and i don't approve da code  ..

 

Here you find proper reply


 

Coder Lingo 101:

Design Decision-  A term used when a person(team) cannot solve a problem.

DarthRaiden

Elite Member

Joined: 11/20/05
Posts: 3081

i make art,
till someone dies.

Forum Terrorist

3/30/09 6:09:57 PM#4

The problem cannot be solved it will exist in every client - server application. The handling will be different .. 

-----MY-TERMS-OF-USE--------------------------------------------------

Everyone who logs into NGE destroys a bit of the SW Universe.

No SWG Pre-Cu, No money to the $OE suckers , simple and fair.

DON't agree to $OE 's EULA. They change the gameplay without respect your investement.

"There was suppression of speech and all kinds of things between disturbing and fascistic." Raph Koster (parted $OE)

Mattyb710

Advanced Member

Joined: 3/27/08
Posts: 95

3/30/09 6:11:41 PM#5

I like how people who have never once even seen a snippet of Darkfall's coding try to comment on it, saying it's "wrong".....

javac

Apprentice Member

Joined: 8/13/08
Posts: 1266

3/30/09 7:26:29 PM#6
Originally posted by DarthRaiden

Here you find proper reply

 

the linked poster above is correct.

 

in a nutshell:

when client<->server communication is interrupted, on the server side, you have 2 basic implementation choices: (1) allow the client (player) to continue along their last known course, or (2) treat the client as stopped or barely moving. DF does the latter, as do most FPSes. most MMOs do the former.

 

the problem with (2) is that to other people, the lagged out player just stops moving, which obviously sucks for them in combat. with (1), the player would just appear to continue moving in the same direction. examples of this in MMOs are, eg: someone disconnecting in a raid and ghosting into the boss/spawn up ahead, or DAOC "lag-casting".

 

the HUGE problem with (1) is that it's easy to exploit, by artificially making your client lag, which causes the server and other clients to see your character warping and rubberbanding all over the place. using (2), if you artificially try to lag your client, it's highly detrimental to you (because you just stand still -- easy target).

 

darkfall does it the best way, for its kind of gameplay (FPS). the OP in that post doesn't know what he's talking about. he's conflating lag with ping, when the 2 are handled very differently.

 

 

Mrbloodworth

Hard Core Member

Joined: 3/20/05
Posts: 4948

"pleasantly paralyzed"

3/31/09 9:36:22 AM#7

 

Movement prediction would not be a good thing for a game like this (Due to its combat nature), its best to leave it all on the server.

 

However, we do know that the server is the clients bitch in regards to movement and updates....or speedhacks wouldn't work.

The real problem is they implemented the server as the end all be all of movement (good) , however it doesn't seem to have any sanity checks (bad). Meaning the server accepts any data received as real.

Essentially, it's halfassed.

 

----------
"Anyone posting on this forum is not an average user, and there for any opinions about the game are going to be overly critical compared to an average users opinions." - Me

"No, your wrong.." - Random user #123

"Hello person posting on a site specifically for MMO's in a thread on a sub forum specifically for a particular game talking about meta features and making comparisons to other titles in the genre, and their meta features.

How are you?" -Me

robertb

Novice Member

Joined: 2/26/09
Posts: 675

3/31/09 9:41:55 AM#8
Originally posted by Mrbloodworth

 

Movement prediction would not be a good thing for a game like this (Due to its combat nature), its best to leave it all on the server.

 

However, we do know that the server is the clients bitch in regards to movement and updates....or speedhacks wouldn't work.

The real problem is they implemented the server as the end all be all of movement (good) , however it doesn't seem to have any sanity checks (bad). Meaning the server accepts any data received as real.

Essentially, it's halfassed.

 

 

I have seen speed hacks in most of the online games I have played, at one time or another. As this is the case, do all MMO's rely on similar architecture?

Mrbloodworth

Hard Core Member

Joined: 3/20/05
Posts: 4948

"pleasantly paralyzed"

3/31/09 9:47:44 AM#9
Originally posted by robertb
Originally posted by Mrbloodworth

 

Movement prediction would not be a good thing for a game like this (Due to its combat nature), its best to leave it all on the server.

 

However, we do know that the server is the clients bitch in regards to movement and updates....or speedhacks wouldn't work.

The real problem is they implemented the server as the end all be all of movement (good) , however it doesn't seem to have any sanity checks (bad). Meaning the server accepts any data received as real.

Essentially, it's halfassed.

 

 

I have seen speed hacks in most of the online games I have played, at one time or another. As this is the case, do all MMO's rely on similar architecture?

No, they don't, and speed hacks come in different flavors. Its more of a case of "How easy did you just make it for people to spoof the server or create speed/movement hacks".

Its all data, and all data can be manipulated, its a question of ease.

And no, i have not seen any of darkfalls code, im am purely speculating here. I am giving them the benefit of the doubt that they did not leave the client to report movement..... Even if i see things that give me pause to the contrary. Pun intended.

 

----------
"Anyone posting on this forum is not an average user, and there for any opinions about the game are going to be overly critical compared to an average users opinions." - Me

"No, your wrong.." - Random user #123

"Hello person posting on a site specifically for MMO's in a thread on a sub forum specifically for a particular game talking about meta features and making comparisons to other titles in the genre, and their meta features.

How are you?" -Me

javac

Apprentice Member

Joined: 8/13/08
Posts: 1266

3/31/09 10:47:22 AM#10
Originally posted by robertb

I have seen speed hacks in most of the online games I have played, at one time or another. As this is the case, do all MMO's rely on similar architecture?

 

all network games (not just MMOs) use the same basic principle of the server streaming information to the client, which the client then renders. in all modern games, the server dictates everything, essentially because the information the client sends cannot be trusted not to be manipulated. there are, however, various thorny issues with how network lag is handled, accordingly most network games use varying degrees of client side prediction (read: guesswork) when the stream of info between client & server are interrupted (due to lag/packetloss/disconnection).

 

deliberate manipulation of this network stream can produce various in-game effects, such as what we might call speedhacking, rubberbanding, etc (alternatively, speedhacks and the like may arise from exploitation of a plain old boring bug in the network stack - won't go into this here).

 

there is basically no real way of preventing this kind of abuse, without impacting performance in a big way. similarly, all client/server programs (not just games) are susceptible to other programs intercepting and manipulating the data stream between client/server, by the very nature of the client/server setup. as you said, the proof is in the pudding: basically every network game out there has speedhacks and/or aimbots.

 

lastly, it may simply not be possible to implement certain kinds of games without offloading *some* of the game logic onto the client, which obviously means introducing the potential for cheats. course, there is the possibility of doing thing like on the fly encryption/decryption of packets between client/server but the potential for figuring out a cheat is always going to be there.

 

 

Rekindle

Hard Core Member

Joined: 3/03/05
Posts: 945

3/31/09 12:28:43 PM#11
Originally posted by Mrbloodworth

 

Essentially, it's halfassed.

 


 

Like many, many aspects of this game from the UI to the (lack of) real content.

pprllo

Novice Member

Joined: 6/10/07
Posts: 106

3/31/09 1:56:58 PM#12

I think it's quite crystal clear that 100% of the movement is handled client-side without sanity checks. That's probably for the sake of performance, because this kind of system is probably the fastest one.

In other words, they're NOT using time based movement at all, they're using another system (simpler & faster & less precise, if you wish).

 

With such an architecture, implementing the system the OP is talking about would be very hard and taxing performance-wise.

 

tombear81

Novice Member

Joined: 3/17/07
Posts: 814

"Meeza spullon and gramma is ou me ma taut me. Yousa no write be nasta to ma speelin n a grumma !"

3/31/09 4:47:20 PM#13
Originally posted by javac 

the HUGE problem with (1) is that it's easy to exploit, by artificially making your client lag, [..]

 

Oh dear !...  me  and javac agree on something. I have seen this problem in quake wars where attempts are made "average"  out latency. I have seen plenty of players almost unhittable and jerkily moving due there deliberate gimping of their connection. Of course on decent servers they get banned quickly. With regard to DF we don't know what the source code is like as we cannot see it.

 

However just to disagree with Javac (!) the combat is still too rudimentry and basic for my and many more refined FPS players tastes. Certainly not M&B like. At best the code is probably a very generic solution. No technological marvel here I am afriad. Very simple combat  actions/options so you can have much more people on screen. No real boundary has been broken. I can understand the pro and cons of various techinques and limitations but I cannot understand why DF combat is marked as revolutionary when it is simply not. it is simply 100 odd people (if that) running around and hitting left mouse button and right occasionally with little sequencing or fluidity or directional attacks/blocks. 

To put it another way AV won't be selling this piece of DF on as Tasos reuseable technology speech which he gave to attract funders. It is simply so so... 

Ragnaven

Apprentice Member

Joined: 1/16/06
Posts: 159

If you fail at life, history will remove you from memory.

3/31/09 5:10:29 PM#14

Okay you will flame me but I will state something here, it harkens back to the days of yor, when rocks were soft and dirt was young and there was this game called EverQuest. The GM's there decided in the vasty world of pvp they would do something new and interesting, they would not make people that lagged out keep moving, or stop, if they were in combat. Nope if you smacked a lagged out person that person became one bad #%# npc that handed you your #$% without mercy and also handed the same #$% to anyone else that hit them. Call it what you will but short sighted codeing be short sighted codeing. If EQ did that some three to four years ago, they should be able to as well.

jimmyman99

Advanced Member

Joined: 6/07/04
Posts: 2691

"Damn you, poetical justice" - Homer Simpson

3/31/09 5:55:43 PM#15
Originally posted by javac
Originally posted by DarthRaiden

Here you find proper reply

 

the linked poster above is correct.

 

in a nutshell:

when client<->server communication is interrupted, on the server side, you have 2 basic implementation choices: (1) allow the client (player) to continue along their last known course, or (2) treat the client as stopped or barely moving. DF does the latter, as do most FPSes. most MMOs do the former.

 

the problem with (2) is that to other people, the lagged out player just stops moving, which obviously sucks for them in combat. with (1), the player would just appear to continue moving in the same direction. examples of this in MMOs are, eg: someone disconnecting in a raid and ghosting into the boss/spawn up ahead, or DAOC "lag-casting".

 

the HUGE problem with (1) is that it's easy to exploit, by artificially making your client lag, which causes the server and other clients to see your character warping and rubberbanding all over the place. using (2), if you artificially try to lag your client, it's highly detrimental to you (because you just stand still -- easy target).

 

darkfall does it the best way, for its kind of gameplay (FPS). the OP in that post doesn't know what he's talking about. he's conflating lag with ping, when the 2 are handled very differently.

 

 

No, if you artificially generate lag in scenario 1, then you will warp on client side, since the server will update your correct position to the client when its connection re-establishes. The only difference is in 1) as you mentioned you will just keep doing the last action server recorded (EQ1 style: moving forward into lava pools, rotating around your axis, etc) and in 2) you will just stop. Why would client data be preferred over server data? It makes no sense.

I am the type of player where I like to do everything and anything from time to time.

http://en.wikipedia.org/wiki/Holodomor - pre-WW2 genocide.

javac

Apprentice Member

Joined: 8/13/08
Posts: 1266

3/31/09 9:07:22 PM#16
Originally posted by jimmyman99
Originally posted by javac
Originally posted by DarthRaiden

Here you find proper reply

 

the linked poster above is correct.

 

in a nutshell:

when client<->server communication is interrupted, on the server side, you have 2 basic implementation choices: (1) allow the client (player) to continue along their last known course, or (2) treat the client as stopped or barely moving. DF does the latter, as do most FPSes. most MMOs do the former.

 

the problem with (2) is that to other people, the lagged out player just stops moving, which obviously sucks for them in combat. with (1), the player would just appear to continue moving in the same direction. examples of this in MMOs are, eg: someone disconnecting in a raid and ghosting into the boss/spawn up ahead, or DAOC "lag-casting".

 

the HUGE problem with (1) is that it's easy to exploit, by artificially making your client lag, which causes the server and other clients to see your character warping and rubberbanding all over the place. using (2), if you artificially try to lag your client, it's highly detrimental to you (because you just stand still -- easy target).

 

darkfall does it the best way, for its kind of gameplay (FPS). the OP in that post doesn't know what he's talking about. he's conflating lag with ping, when the 2 are handled very differently.

 

 

No, if you artificially generate lag in scenario 1, then you will warp on client side, since the server will update your correct position to the client when its connection re-establishes. The only difference is in 1) as you mentioned you will just keep doing the last action server recorded (EQ1 style: moving forward into lava pools, rotating around your axis, etc) and in 2) you will just stop. Why would client data be preferred over server data? It makes no sense.

 

there is usually some resyncing of where the client & server think you should be, since while packets were lost, the server was only guessing what you *might* have been doing were packets not lost.

 

in any case it's clear DF doesn't do movement on the client.

tombear81

Novice Member

Joined: 3/17/07
Posts: 814

"Meeza spullon and gramma is ou me ma taut me. Yousa no write be nasta to ma speelin n a grumma !"

4/01/09 1:18:11 PM#17
Originally posted by javac
Originally posted by jimmyman99
Originally posted by javac
Originally posted by DarthRaiden

Here you find proper reply

 

the linked poster above is correct.

 

in a nutshell:

when client<->server communication is interrupted, on the server side, you have 2 basic implementation choices: (1) allow the client (player) to continue along their last known course, or (2) treat the client as stopped or barely moving. DF does the latter, as do most FPSes. most MMOs do the former.

 

the problem with (2) is that to other people, the lagged out player just stops moving, which obviously sucks for them in combat. with (1), the player would just appear to continue moving in the same direction. examples of this in MMOs are, eg: someone disconnecting in a raid and ghosting into the boss/spawn up ahead, or DAOC "lag-casting".

 

the HUGE problem with (1) is that it's easy to exploit, by artificially making your client lag, which causes the server and other clients to see your character warping and rubberbanding all over the place. using (2), if you artificially try to lag your client, it's highly detrimental to you (because you just stand still -- easy target).

 

darkfall does it the best way, for its kind of gameplay (FPS). the OP in that post doesn't know what he's talking about. he's conflating lag with ping, when the 2 are handled very differently.

 

 

No, if you artificially generate lag in scenario 1, then you will warp on client side, since the server will update your correct position to the client when its connection re-establishes. The only difference is in 1) as you mentioned you will just keep doing the last action server recorded (EQ1 style: moving forward into lava pools, rotating around your axis, etc) and in 2) you will just stop. Why would client data be preferred over server data? It makes no sense.

 

there is usually some resyncing of where the client & server think you should be, since while packets were lost, the server was only guessing what you *might* have been doing were packets not lost.

 

in any case it's clear DF doesn't do movement on the client.

 

Thought a quick glance of you tube shows some wonderful speed hacks with no rubber banding or latency effects you would normally see. I think the speed of the movement may actually be .. client side?

Come on Javac post some links to you tube vids of hacks and discuss with comparison to other speed hacks in other games:)

jimmyman99

Advanced Member

Joined: 6/07/04
Posts: 2691

"Damn you, poetical justice" - Homer Simpson

4/01/09 3:29:38 PM#18
Originally posted by tombear81

Thought a quick glance of you tube shows some wonderful speed hacks with no rubber banding or latency effects you would normally see. I think the speed of the movement may actually be .. client side?

Come on Javac post some links to you tube vids of hacks and discuss with comparison to other speed hacks in other games:)

 

I think you are right. If client movements were processed on server, then there would be no speedhacking, since the server adjusts your location. If this work is done on client side, though, then the client can be "hacked" and simply update server with movement distances 10 times more then usual.

If that is the case, wouldn't there be some checks whether client reports abnormal movement (after compensating for sprinting/riding)? I've done some work with client/server communications, but never in a game, so maybe I am missing something?

I am the type of player where I like to do everything and anything from time to time.

http://en.wikipedia.org/wiki/Holodomor - pre-WW2 genocide.

pprllo

Novice Member

Joined: 6/10/07
Posts: 106

4/01/09 3:48:46 PM#19
Originally posted by javac

there is usually some resyncing of where the client & server think you should be, since while packets were lost, the server was only guessing what you *might* have been doing were packets not lost

in any case it's clear DF doesn't do movement on the client.

Actually the opposite is quite clear. The movement is quite clearly almost completely client side, and I'm willing to bet that the client sends <X, Y> packets to the server, rather than <DeltaX, DeltaY> packets.
 

IMHO they did not even implement sanity checks.

I think the only serverside movement-related feature is collision detection (there are no pass-through-walls hacks as of now AFAIK).

PapaB34R

Novice Member

Joined: 11/15/04
Posts: 212

Never lose your way, or someone else might find it

4/01/09 4:00:40 PM#20
Originally posted by Galadourn

According to this thread...it's terribly wrong.

 

Any experts here to make more clear?

 

is this an 1april joke or is it really that bad?

Rytif

Apprentice Member

Joined: 9/14/04
Posts: 169

4/01/09 6:09:54 PM#21

Any serious reponse with the "expert" opinion on DF's coding is just going to net a total "wannabe" or complete newbie. For starters every design is different, there is no such thing as a golden standard design nor actual "MMO" code to copy/paste in to your application. Unless you have seen the source and/or the technical design document of this title, it is impossible and very amateurish to even give your "expert" opinion.

Oh yeah, and if you are a very good reverse engineer... you may have a slight indication of how the application operates.. considering the developers didn't do a very good job hiding the trace (aka comments!).

That is all.

 

*reading those posts in the DF forums... I think they are seriously just realizing that games are rendered and capped by timers....wow.

Rytif

Apprentice Member

Joined: 9/14/04
Posts: 169

4/01/09 6:21:32 PM#22

 

Quoted by the Darkfall Forum:

==========================================================================================

public static void UpdateTime()
{
// you do this to actually get the time that's elapsed for example using the api calls for QueryPerformanceCounter
QueryPerformanceCounter(out m_lCurrentTime);

m_fElapsedTime = (float)((double)(m_lCurrentTime - m_lLastTime) / (double)m_lTimerFrequency);
m_dTime += m_fElapsedTime;
m_lLastTime = m_lCurrentTime;
}
So when you would account for movement it would be something like:

public void Agent_Move()
{
Vector3 ActorDir = Vector3.Normalize(Vector3.Subtract(new Vector3(_AgentGointToPosition.x, _AgentGointToPosition.y, _AgentGointToPosition.z), new Vector3(_AgentPosition.x, _AgentPosition.y, _AgentPosition.z)));
Vector3 ActorPosition = Vector3.Add(new Vector3(_AgentPosition.x, _AgentPosition.y, _AgentPosition.z), Vector3.Scale(ActorDir, _AgentCurrentSpeed));
_AgentLastGoodPosition = _AgentPosition;
_AgentPosition = new TV_3DVECTOR(ActorPosition.X,ActorPositio n.Y,ActorP osition.Z);//new TV_3DVECTOR(ActorPosition.X, World.Landscape.GetHeight(ActorPosition. X, ActorPosition.Z), ActorPosition.Z);
//_AgentPosition = slide(_AgentLastGoodPosition, _AgentPosition);
_AgentPosition = Agent_Collide(_AgentLastGoodPosition, _AgentPosition);
Agent_SetLookAt(new TV_3DVECTOR(_AgentGointToPosition.x, _AgentPosition.y, _AgentGointToPosition.z));
if (_AgentOwnerStyle == AgentOwnerEnum.Mesh)
World.MeshManager.Mesh[_AgentOwnerName].Position = _AgentPosition;
else
World.ActorManager.Actors[_AgentOwnerName].Position = _AgentPosition;
}
=============================================================================================

 /end qoute

 

BLAHAHAHAHAHA! That code was exactly copied from Truevision3D.com and was qouted to describe to the developers on how to program their engine. It was also insisted by the other DFers to hire this individual because he'll create better code.... that is not his nor from a custom engine... mind you I'm positive it's also not c++ (it's C#). It goes to show that there is nothing but script kiddies over there in that community.

It's just so basic and has absolutely no indication of network movement (dead walking?)... because it was from a Truevision3D tutorial.. blahahaha!

Nyast

Hard Core Member

Joined: 10/13/05
Posts: 72

4/01/09 6:26:31 PM#23

I can't comment on Darkfall since I haven't played it, but here's a professional programmer point of view on the code that has been posted: it's horrible.

The OP criticizes the non-existing use of elapsed time in the client and posts pseudo-code to show how it's supposed to be. The only problem is that none of the time variables set in "UpdateTime" are used in his "Agent_Move" function, so really, either he seriously typo-ed his code, either he doesn't know what he's talking about.

PapaB34R

Novice Member

Joined: 11/15/04
Posts: 212

Never lose your way, or someone else might find it

4/01/09 8:08:41 PM#24
Originally posted by Rytif

 

Quoted by the Darkfall Forum:

==========================================================================================

public static void UpdateTime()
{
// you do this to actually get the time that's elapsed for example using the api calls for QueryPerformanceCounter
QueryPerformanceCounter(out m_lCurrentTime);

m_fElapsedTime = (float)((double)(m_lCurrentTime - m_lLastTime) / (double)m_lTimerFrequency);
m_dTime += m_fElapsedTime;
m_lLastTime = m_lCurrentTime;
}
So when you would account for movement it would be something like:

public void Agent_Move()
{
Vector3 ActorDir = Vector3.Normalize(Vector3.Subtract(new Vector3(_AgentGointToPosition.x, _AgentGointToPosition.y, _AgentGointToPosition.z), new Vector3(_AgentPosition.x, _AgentPosition.y, _AgentPosition.z)));
Vector3 ActorPosition = Vector3.Add(new Vector3(_AgentPosition.x, _AgentPosition.y, _AgentPosition.z), Vector3.Scale(ActorDir, _AgentCurrentSpeed));
_AgentLastGoodPosition = _AgentPosition;
_AgentPosition = new TV_3DVECTOR(ActorPosition.X,ActorPositio n.Y,ActorP osition.Z);//new TV_3DVECTOR(ActorPosition.X, World.Landscape.GetHeight(ActorPosition. X, ActorPosition.Z), ActorPosition.Z);
//_AgentPosition = slide(_AgentLastGoodPosition, _AgentPosition);
_AgentPosition = Agent_Collide(_AgentLastGoodPosition, _AgentPosition);
Agent_SetLookAt(new TV_3DVECTOR(_AgentGointToPosition.x, _AgentPosition.y, _AgentGointToPosition.z));
if (_AgentOwnerStyle == AgentOwnerEnum.Mesh)
World.MeshManager.Mesh[_AgentOwnerName].Position = _AgentPosition;
else
World.ActorManager.Actors[_AgentOwnerName].Position = _AgentPosition;
}
=============================================================================================

 /end qoute

 

BLAHAHAHAHAHA! That code was exactly copied from Truevision3D.com and was qouted to describe to the developers on how to program their engine. It was also insisted by the other DFers to hire this individual because he'll create better code.... that is not his nor from a custom engine... mind you I'm positive it's also not c++ (it's C#). It goes to show that there is nothing but script kiddies over there in that community.

It's just so basic and has absolutely no indication of network movement (dead walking?)... because it was from a Truevision3D tutorial.. blahahaha!

 

I dont know much bout program languages but I thought dot net have taken over c++?

ianubisi

Novice Member

Joined: 11/28/03
Posts: 4219

E: 86% A: 60%
S: 46% K: 6%

4/01/09 10:01:54 PM#25


Originally posted by PapaB34R
I dont know much bout program languages but I thought dot net have taken over c++?

If by "dot net" you mean C#, then the answer is no. Utility programs can be written in a managed code base like C#. But if you want high degrees of efficiency it is usually better to use an unmanaged code base like C++ to ensure better access directly to machine instructions.

2 Pages 1 2 » Search