簡體   English   中英

學習Half-Life 2 SDK有哪些好方法?

[英]What are some good approaches to learning the Half-Life 2 SDK?

我多年來一直是半條命愛好者。 我擁有CS的學士學位,並且從高中開始就進行了非正式的編程。 當我還在大學的時候,我試圖成為一名有趣的程序員......使用第一個半條命引擎......沒有那么好用。 所以我想到了我所有偉大的大學學習:-)我會更多地了解如何解決這個問題,並最終可以做到這一點。 所以我在這里...最終在商業世界編程java ...所以我下載了HL2 SDk並開始查看類結構。 我覺得我上次嘗試這個時就這樣做了......茫然和困惑。 抱歉所有的背景。

那么系統學習代碼結構的最佳方法是什么? 我知道java,我知道c ++ ..我只是不知道任何類的做什么......評論很少,而且文檔似乎微不足道。 好評如潮? 我不想開始自己的模式...我想在某天可能成為一個很酷的MOD的業余程序員...以保持學習編程和業務方面的樂趣。

評論很少,而且文檔似乎微不足道。 好評如潮?

歡迎來到奇妙的Source SDK。 不,它沒有記錄。 試驗,破解,放置斷點,看看如果更改代碼位會發生什么。

在某些情況下,您可能會發現一個有用的維基 ,但它由社區填寫,而不是由Valve填寫,這意味着您不會在那里找到任何實際文檔,只是解釋了之前的模型如何破解引擎。

老實說,它很糟糕。 潛入的唯一方法是潛入。嘗試對游戲進行各種更改,並且不要害怕將現有代碼分開。 它不會很漂亮,但如果它有效,誰會抱怨? 他們的代碼非常糟糕,很有可能,你的代碼也是如此。

您可以從Valve Developer Wiki開始

我認為最好的方法是查看其中少數開源mod之一的源代碼, Open Source Jail Break 它將幫助您至少熟悉代碼。

除此之外,它只是開發人員資源和論壇。

編輯: 攻擊計划似乎也很棒。

另外: 是一個很棒的列表,包括一般和特定主題。

我已經使用了Source SDK一點點並進行了一些修改。 真的,你必須對C和C ++有一個很好的理解。 Source SDK不是現代C ++,更類似於C類,而不是任何真正的OOP。

SDK的簡單形式是代碼的主要部分由實體組成,其中許多實體都可以忽略。

還要知道SDK非常重要地使用繼承,因此請查看基類以獲取您可能需要的功能。

我想說一下可能與你想用SDK做什么相關的重要文件和類的列表。 然后使用VS中的虛擬文件夾(或文件系統上的真實文件夾)開始對這些文件進行排序,並使用find in files選項(或grep)找到解決方法。

一些示例文件:eiface.h - 引擎接口gameinterface.cpp / .h - 來自服務器cdll_client_int.cpp / .h的外部dll的大量接口 - 來自外部dll的大量接口用於客戶端* _gamerules.cpp / .h - Gamerules(確定游戲的邏輯)world.cpp - 確定地圖屬性並加載游戲規則和其他實體的實體

還嘗試使用Source SDK Base而不是HL2MP Base作為mod。 前者更清潔,更容易建立。

我會做任何其他模糊系統做的事情......設置很多斷點並通過觀察它的功能來感受結構。 隨時添加您自己的評論/文檔。 通過進行小的更改來測試您的理解,看看您是否獲得了預期的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM