Conclude an agreement with NNG Lab Co., Ltd.

by nettadmin / 2011. 06. 01. [07:44]

May, 30th, 2011

We concluded an agreement with NNG Lab.

ProudNet will use on "Journey to the west" project.

We will do our best all the time.

Thank you.

Notice

Attend at "LOGIN 2011 Conference"

by nettadmin / 2011. 05. 12. [09:42]

We will attend at LOGIN 2011 Conference.

Conference Information
Date: May, 16th, 2011 ~ May, 18th, 2011
Location: Meydenbauer Center, 11100 NE 6th Street, Bellevue, WA, USA

We will see you there.

Latest News

Attend at "ITS Games 2011"

by nettadmin / 2011. 05. 12. [09:42]

We will attend at "ITS Games 2011"

Event Information
Data: May 16th, 2011 ~ May 17th, 2011
Location: Vista Hall, Walker Hill Hotel, Seoul, South Korea

I look forward see you there.

Latest News

패킷 송수신 코딩 중 실수를 예방하는 법

by nettadmin / 2011. 04. 29. [14:56]

넷텐션에서 타사 파견 기술지원이나 기술 영업 미팅을 나가서 개발중인 게임 소스를 보다 보면 간혹 패킷 송수신 처리를 실수하거나 관련 고생을 하는 경우를 자주 봅니다.

 

그럴만도 한게, 패킷 송수신 처리는 많은 노가다 코딩을 수반하기 때문입니다. (아래는 그 예)

// Message header ID definitions
#define Message_Knight_Move_ID 12
#define Message_Knight_Attack_ID 13// Message format definitions
struct Message
{int m_msgID;
};
struct Message_Knight_Move:public Message
{int m_id;   float m_x,m_y,m_z;
};
struct Message_Knight_Attack:public Message
{int m_id;int m_target;int m_damage;
};// A function which send a formatted message
void Knight_Move(int id,float x,float y,float z)
{Message_Knight_Move msg;msg.m_msgID=Message_Knight_Move_ID;msg.m_id=id;msg.m_x=x;msg.m_y=y;msg.m_z=z;Send(msg);
}// A function which send a formatted message
void Knight_Attack(int id,int target,int damage)
{Message_Knight_Attack msg;msg.m_msgID=Message_Knight_Attack_ID;msg.m_id=id;msg.m_target=target;msg.m_damage=damage;Send(msg);
}// Identified a received message and call an appropriate function for message handling
void DoReceivedMessage(Message* msg)
{switch(msg->m_msgID){case Message_Knight_Move_ID:{Message_Knight_Move* msg2= (Message_Knight_Move*)msg;Do_Knight_Move(msg2->m_id,msg2->m_x,msg2->m_y,msg2->m_z);}break;// ... cases for other message typescase Message_Knight_Attack_ID:{Message_Knight_Attack* msg2=(Message_Knight_Attack*)msg;Do_Knight_Attack(msg2->m_id,msg2->m_target,msg2->m_damage);}break;// ... cases for other message types}
}

코딩하는 것도 노가다이지만, 무엇보다도, 코딩하다가 행여나 실수라도 하면 찾기 힘든 버그가 되기도 합니다. 오랫동안 소스를 유지보수하다보면 저기서 실수를 하는 사람들이 꼭 있습니다. 이 글을 쓰는 이유는, 오늘도 그런 실수를 하는 케이스를 제보받았기 때문입니다. (프라우드넷 쓰는 업체는 아니었음)

 

저런 노가다 코딩을 사람 대신 기계가 자동으로 해줄 수 없을까?라는 할 수 있죠. 그리고 나온 결론은 RPC or RMI를 쓰자~! 입니다. 다행히 RPC나 RMI는 이미 Java나 Win32 등에서도 제공하지만 그것들은 게임에 쓰기에는 너무 범용적이고 불필요한 기능이 많죠. 시각을 다투는 게임 프로그램에서는 부담스럽습니다.

 

그래서 RPC 시스템을 직접 만드는 것이 좋습니다. 그렇게 하면 사람이 직접 상기 코드를 짜는 것과 처리 속도가 같습니다.

 

가령,

Knight_Move([in] int id,[in] float x,[in] float y,[in] float z);
Knight_Attack([in] int id,[in] int target,[in] int damage);

 

이렇게 선언해주면 위의 노가다 코드를 기계가 생성해주는거죠. 일도 쉬워지고, 무엇보다도 실수를 원천봉쇄합니다.

 

자체 RPC 시스템을 만드는 법은 Game Programming Gems 5에서 배현직님이 기고해 주셨습니다.

 

참고로, 프라우드넷에서도 같은 기능을 (물론 Game Programming Gems 책에 나온 것보다 앞서 있는 기능을 가진) 기능을 제공합니다.

Development Issues

프라우드넷 홍보영상

by nettadmin / 2011. 04. 13. [12:00]

etc.

ProudNet English Promotion Movie

by nettadmin / 2011. 04. 13. [11:57]

etc.

[Game Tech 2011] Introduce Server Multicore rather than just thinking about it

by nettadmin / 2011. 04. 01. [16:41]

game@gamespot.co.kr 2011.03.29 / PM 03:06


In March, 29th, there are lecture about server multi-core optimizing at Game Tech 2011 which is global conference at Grand Ball Room in Coex, Samsung-Dong.

CEO Bae Hyunjik from Nettention (Game server engine specialist company) started lecture with topic as "Difficulty of game server & network development" He explained reliable multi-core environment developing without bottle-neck effect and important server administrating under online game situation. 

He said "As I know many of companies are quite worry about introduce server multi-core. However the most important thing is introducing, not just thinking. If you understand problem when you use it, it is not big deal."

During lecture he mentioned things that need to considering when you introduce multi-core and problem that may occur after, usual problem that occur during server code programming and way to solve it. Especially audiences were focused on solution from actual experience.

 

▲ Nettention CEO Bae


Here is problem with introducing multi-core that CEO Bae pointed,
- Super Scalar
- Probability of cache hit
- Probability of non-cache memory access
- Ratio of Write and Read
- Ratio of CPU Threading

He mentioned, developer need to profiling and performance analyze, test coding and roll-back until it works, arrange specification, start actual development, etc for those things. He explained it quite easily.

He recommends using ProudNet for a new company who are just staring with early stage of server design. ProudNet server is running 9 countries with 60 companies.

One of special thing for ProudNet is quick response of developer's feedback. They always apply developer's requirements.

He said "Multi-core performance upgrade and introduce is not optional. Nowadays many online games are becoming bigger and developers are spending their time to optimizing. Introducing multi-core is necessary to improve online game industry"

etc.

Dark Blood open beta service launching

by nettadmin / 2011. 04. 01. [09:41]

From March 31st, 2011, Exciting, non-cutting action game "Dark Blood" Launching!

You will exprience hige quality service with ProudNet

Enjoy Dark Blood!!

Latest News

[Game Tech 2011] It's Game Engine Time!

by nettadmin / 2011. 04. 01. [09:41]


game@gamespot.co.kr 2011.03.29 / AM 09:48 
'
‘World top game engines and top-star developers are together.’

March 29th, ‘Game Tech 2011’ conference was successfully opened at Grand Ball Room in Coex sponsored by Game Spot Korea, ZDnet Korea, Kocca.

It is 3rd anniversary and this year’s topic was ‘World game engine’s new technology and future of multi-platform’ 

Opening key note is Mark Kern (CEO, Red 5 Studio). He is ex-developer of WoW. He established Red 5 Studio in 2005 after retired Blizzard entertainment. Red 5 Studios are preparing to launch MMOFPS “FireFall”

There is famous companies were attended such as Epic Games, CryTek, ScaleForm, Havok, Chair Entertainment, Game On, Nettention, Zerodin Games, Blue Hall Studio, etc.

Last topic is Program Engine Case (Sungjoong, Ryu, Engine Team Leader) as case study type. He will explain ‘Environment changing system in Tera’

Latest News

Attend at "Game Tech 2011"

by nettadmin / 2011. 03. 24. [09:35]

"Challenge to the world game engine market" - Netteion CEO Bae Hyun-Jik

CEO Bae attends Game Tech 2011 Conference as a speaker. Nettention has established 2009 and currently supply more than 60 online game projects.

He will speak about his experience of developing game engine and hidden story of what ProudNet happened in the past as titled with "The story of the Game server & network". 

Also he will announce about processing of multi core performance improvement and result of it.

Latest News