對HGE遊戲引擎的一次封裝

 HGE遊戲引擎是一個開源2D遊戲引擎,基於directX。它的渲染及邏輯是基於幀回調的架構模式,其提供一些基本的映像操作和輸入控制功能。 我在之前寫一個2D遊戲的時候對它整個架構進行了一次封裝,很多地方寫得比較噁心,請原諒我在變數上命名的不規範。 在此分享出來,主要可以參考一下大體架構吧。 HGE遊戲引擎基於幀的回調讓我很不爽,因為咱的遊戲邏輯一般是連續的,跟具體幀無關,所以我把整個HGE跑在自己的一個線程之中。我的遊戲邏輯部分通過發訊息,通知介面更新

apache的Alias配置

在 apache中配置Alias,如下格式 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory>

Direct3D頂點結構使用總結

D3D裡面最基本的就是頂點了,雖說一直在用,可是卻也是自己比較模糊的一個點,知道其中的意思,卻不是很清楚,今天就總結一下,掃一下這個盲區:D3D中的頂點緩衝區的聲明:LPDIRECT3DVERTEXBUFFER9 g_pVB        = NULL;    //頂點緩衝區對象通常都是用LPDIRECT3DVERTEXBUFFER9 來聲明頂點緩衝區,它其實就是IDirect3DVertexBuffer9的指標類型,這兩個起到的效果是一樣的。用LPDIRECT3DVERTEXBUFFER9

使用dataadapter和dataset更新資料庫

DataAdapter   的 Update 方法可調用來將 DataSet 中的更改解析回資料來源。與 Fill 方法類似,Update 方法將 DataSet 的執行個體和可選的 DataTable 對象或 DataTable 名稱用作參數。DataSet 執行個體是包含已作出的更改的 DataSet,而 DataTable 標識從其中檢索更改的表。當調用 Update 方法時,DataAdapter 將分析已作出的更改並執行相應的命令(INSERT、UPDATE 或 DELETE)。當

HGE引擎GUI對象的擴充

 HGE引擎提供一個基本的GUI控制項類,其不實現任何功能,但是提供一套虛函數和屬性供衍生類別使用。開發人員可以在此基礎之上開發屬於自己的控制項,總的來說還是比較方便的。 我在開發自己的遊戲架構過程中,吸取了許多經驗教訓。建議HGE引擎的使用者們不要直接在渲染過程中使用HGE提供的圖形函數,而應該將他們全部都封裝在GUI控制項衍生類別中,這樣有幾大好處。 1. 更貼近物件導向,使得程式架構清晰;2. 更好管理資源,使用和釋放都在同一個小模組中,即使規模擴大,也方便維護;3.

進階著色語言HLSL入門(1)

進階著色語言HLSL入門(1) 在我們寫的程式裡頂點和像素是很小的對象,它們由GPU來執行,是固定功能管線的一部分。用我們自己寫的著色器程式替換一部分固定功能管線,在繪製效果上我們獲得很大的靈活性。我們不再局限於預定義的"固定"操作。為了編寫著色器程式,我們需要一種進階著色器語言(High-Level Shading Language ,簡稱HLSL)。 在DirectX 8中,著色器是用低級著色器組合語言編寫的。幸運的是,我們不必再用組合語言來寫著色器了,DirectX

VAST(AOI)

原文連結:http://vast.sourceforge.net/ VAST is a light-weight network library to support scalable peer-to-peer (P2P) virtual environment / virtual world applications such as Massively Multiplayer Online Games (MMOGs). It is based on the research of

知名網遊Server端架構分析

http://blog.csdn.net/sodme/archive/2004/12/12/213995.aspx類似於QQ遊戲百萬人同時線上的伺服器架構實現 收藏

DataSet運用DES加解密到Xml

本文轉自:http://www.cnblogs.com/zjzkiss/archive/2006/06/12/423446.html 最近在一個工程中需要對DataSet進行加密,然後以檔案形式傳輸後在另一端解密還原。於是查詢了一些資料,發現多是對字串和檔案加密的方法。於是只好自力更生,參考.net的對稱式加密技術和網上的一些資料,研究出了DataSet的加密方法。代碼比較簡單,附下:1  using System;2  using System.Collections;3  using

網遊Server端開發基礎

1 伺服器的網路連接  大多數的網路遊戲的伺服器都會選擇非阻塞select這種結構,為什麼呢?因為網路遊戲的伺服器需要處理的串連非常之多,並且大部分會選擇在Linux/Unix下運行,那麼為每個使用者開一個線程實際上是很不划算的,一方面因為在Linux/Unix下的線程是用進程這麼一個概念類比出來的,比較消耗系統資源,另外除了I/O之外,每個線程基本上沒有什麼多餘的需要並行的任務,而且網路遊戲是互交性非常強的,所以線程間的同步會成為很麻煩的問題。由此一來,對於這種含有大量網路連接的單線程伺服器,

.NET下WebBrowser的一個BUG以及其替代品——geckofx

 今天研究一個小問題,在C#的WebBrowser下開啟奇藝網的視頻,經常整個FLASH就偏了,進度條控制條什麼的都沒有。要全屏一下然後還原才能解決這個問題。 如下,圖1為webbrowser開啟,圖2為IE8開啟。webbrowser中整個偏了,並且沒有控制條。  然後試了一下用各種基於微軟Webbrowser控制項的瀏覽器都有該問題。。用VS2010

以修改註冊表的方式避免ACK確認機制帶來的延時現象

TCP本身屬面向連結的通訊協議。通訊雙方的每一個收發動作,需要以通訊鏈路正常為前提。因此TCP協議內部提供了預設的ACK驗證機制。假定A、B之間存在一條TCP通訊鏈路,某一時刻A第一次向B發送資料,而之後B未主動向A發送資料,則約200ms之後,B會自動向A回傳一個長度為1的ACK確認包——這是由TCP內部預設機制決定的,而A在未收到ACK確認包之前,不允許第二次向B發送資料,因此B第二次收到資料時,會莫名其妙的產生一個約200ms的延時——這個延時不是別的,正是ACK確認包預設的發送時延。當我

基於儲存格的AOI(Area of Interest)演算法簡析

>> 查看原文 (from:部落格園 思緒無涯 行者無疆) AOI( Area Of Interest )是網遊伺服器中必不可少要考慮的一個問題,當前主流的AOI演算法依然是基於2D的格子的,

網路遊戲中的資料包設計和定義(初論)

接觸了一段時間的網遊封包設計,有了一些初步的思路,想借這篇文章總結一下,同時也作個記錄,以利於以後更新自己的思路。  網路遊戲的技術研發,分為三個主要的方面:伺服器設計,用戶端設計,資料庫設計。而在伺服器和用戶端之間實現遊戲邏輯的中介則是遊戲資料包,伺服器和用戶端通過交換遊戲資料包並根據分析得到的資料包來驅動遊戲邏輯。網路遊戲的實質是互動,而互動的控制則由伺服器和用戶端協同完成,協同就必然要依靠資料來完成。  當前網路遊戲中的封包,其定義形式是各種各樣的,但歸納起來,一般都具有如下要素:封包長度

網路遊戲的用戶端同步問題

有關位置同步的方案實際上已經比較成熟,網上也有比較多的資料可供參考。在《頻寬節流設定下的視覺實體屬性傳播》一文中,作者也簡單提到了位置同步方案的構造過程,但涉及到細節的地方沒有深入,這裡專門針對這一主題做些回顧。 最直接的同步方案就是用戶端在每次發生位置改變時都向伺服器報告

XNA Game Studio or Silverlight: Which Product is Right for Me?

The first question many developers will face after deciding to develop a game for Windows Phone 7, is which of the two game development models they should choose. Developers can choose to develop their game using either the XNA Framework or

AOI伺服器的實現

此處純粹收藏,如有再轉,請按如下方式標明出處,以示尊重。 >> 作者部落格:雲風的BLOG 把AOI的部分獨立出來 應該是在 blog 上第 2 次討論 AOI 的問題了,另外還要算上一篇寫完沒有公開的。昨天剛出差回來,晚上跟前大唐的伺服器主程聊了一下。扯到了 AOI 的問題,我提了個分離這個模組的方案,在此記錄一下。AOI 主要有兩個作用,一個是在伺服器上的角色(玩家或 NPC

遊戲伺服器的架構設計(一點參考,實際價值似乎不大……)

遊戲伺服器的設計是一項頗有挑戰性的工作,遊戲伺服器的發展也由以前的單服結構轉變為多服機構,甚至出現了bigworld引擎的分布式解決方案,最近瞭解到Unreal的伺服器解決方案atlas也是基於叢集的方式。負載平衡是一個很複雜的課題,這裡暫不談bigworld和atlas的這類伺服器的設計,更多的是基於功能和情境劃分伺服器結構。首先說一下思路,伺服器劃分基於以下原則:1:分離遊戲中佔用系統資源(cpu,記憶體,IO等)較多的功能,獨立成伺服器2:在同一伺服器架構下的不同遊戲,應儘可能的複用某些伺

SQL常用語句一覽(增刪改查Easy)

SQL常用語句一覽 (1)資料記錄篩選: sql="select*from資料表where欄位名=欄位值orderby欄位名[desc]" sql="select*from資料表where欄位名like'%欄位值%'orderby欄位名[desc]" sql="selecttop10*from資料表where欄位名orderby欄位名[desc]" sql="select*from資料表where欄位名in('值1','值2','值3')"

基於進程的遊戲Server端架構設計

以下轉自雲風的blog,原文名稱:多進程的遊戲伺服器設計原文地址:http://blog.codingnow.com/2006/10/multi_process_design.html#comments 目前,我們的遊戲伺服器組是按多進程的方式設計的。強調多進程,是想提另外一點,我們每個進程上是單線程的。所以,我們在設計中,系統的複雜點在於進程間如何交換資料;而不需要考慮線程間的資料鎖問題。如果肆意的做進程間通訊,在進程數量不斷增加後,會使系統混亂不可控。經過分析後,我決定做如下的限制:如果一個

總頁數: 61357 1 .... 16351 16352 16353 16354 16355 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.