Patreon: https://www.patreon.com/sgdk
GitHub: https://github.com/stephane-d/sgdk
SGDK เป็นชุดพัฒนาฟรีที่ช่วยให้การพัฒนาซอฟต์แวร์ใน ภาษา C สำหรับ ไดรฟ์ Sega Mega มันมีไลบรารีการพัฒนาเอง (พร้อมแหล่งรหัส) และเครื่องมือที่กำหนดเองบางอย่างที่ใช้ในการรวบรวมทรัพยากร SGDK ใช้คอมไพเลอร์ GCC (เป้าหมาย M68K-ELF) และ LIBGCC เพื่อสร้างภาพ ROM Binaries (GCC 6.3) มีไว้สำหรับ Windows OS เพื่อความสะดวก แต่คุณต้องติดตั้งด้วยตัวเองสำหรับระบบปฏิบัติการอื่น ๆ โปรดทราบว่า SGDK ยังต้องการ Java (เครื่องมือที่กำหนดเองต้องการ) ดังนั้นคุณต้องติดตั้ง Java ในระบบของคุณ
ไลบรารี SGDK และเครื่องมือที่กำหนดเองถูกแจกจ่ายภายใต้ใบอนุญาต MIT (ดูไฟล์ License.txt) GCC Compiler และ LIBGCC อยู่ภายใต้ใบอนุญาต GNU (GPL3) และซอฟต์แวร์ใด ๆ ที่สร้างจากมัน (เป็นไลบรารี SGDK) อยู่ภายใต้ใบอนุญาตข้อยกเว้นไลบรารีรันไทม์ GCC (ดูไฟล์ Runtime)
ก่อนอื่นคุณต้องรู้ว่า SGDK ใช้ภาษา C (แอสเซมบลียังเป็นไปได้ แต่ไม่จำเป็น) ดังนั้นจึงขอแนะนำให้คุ้นเคยกับการเขียนโปรแกรม C ก่อนที่จะพยายามพัฒนาด้วย SGDK การเรียนรู้ภาษา C ในเวลาเดียวกันกับการเรียนรู้การเขียนโปรแกรม 'Sega Mega Drive' นั้นยากเกินไปอย่างแน่นอนและคุณจะได้รับที่ไหนเลย อย่างน้อยก็เป็นสิ่งสำคัญที่จะมีความรู้พื้นฐานของฮาร์ดแวร์ไดรฟ์ Sega Mega (โดยเฉพาะระบบวิดีโอ)
และ -0 - การอ้างอิงการพัฒนาไดรฟ์ขนาดใหญ่ที่ยอดเยี่ยม:
https://github.com/and-0/awesome-megadrive
Raster Scroll - คู่มือกราฟิกไดรฟ์ Sega Mega:
https://rasterscroll.com/mdgraphics/
Mega Cat Studios - คู่มือกราฟิก Sega Mega Drive:
https://megacatstudios.com/blogs/retro-development/sega-genesis-mega-drive-vdp-graphics-guide-v1-2a-03-14-17
บล็อกของ SIK ที่อุทิศให้กับการเขียนโปรแกรมประกอบ MD แต่อธิบายสิ่งต่าง ๆ มากมาย (และในทางที่ดี) เกี่ยวกับฮาร์ดแวร์ Sega Mega Drive:
https://plutiedev.com
บทความดีๆจาก Rodrigo Copetti อธิบายสถาปัตยกรรม Mega Drive:
https://www.copetti.org/projects/consoles/mega-drive-genesis
คู่มือซอฟต์แวร์ Genesis ซึ่งมีทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับ Sega Mega Drive:
https://segaretro.org/images/a/a2/genesis_software_manual.pdf
จากนั้นเมื่อคุณรู้สึกพร้อมคุณสามารถไปไกลกว่านี้และในที่สุดก็ติดตั้ง SGDK :)
คุณสามารถค้นหาคำแนะนำการติดตั้งและบทเรียนเกี่ยวกับวิธีการใช้ SGDK บนวิกิ:
https://github.com/stephane-d/sgdk/wiki
SGDK มาพร้อมกับเอกสาร Doxygen (สร้างขึ้นจากไฟล์ส่วนหัว. h) ซึ่งให้คำอธิบายเกี่ยวกับโครงสร้างและฟังก์ชั่น SGDK คุณสามารถค้นหาได้ในโฟลเดอร์ 'Doc' (เปิด doc/html/files.html ในเบราว์เซอร์ของคุณ)
สิ่งสำคัญคือต้องรู้ว่า SGDK ต้องอาศัย ทรัพยากร ที่รวบรวมผ่านเครื่องมือ ResComp อย่างมาก คุณควรอ่านไฟล์ ResComp.txt เพื่อทำความเข้าใจว่า คุณสามารถใช้ทรัพยากรประเภทใดและจะประกาศได้อย่างไร จากนั้นคุณสามารถดูโฟลเดอร์ 'ตัวอย่าง' จาก SGDK และโดยเฉพาะอย่างยิ่งตัวอย่าง Sonic ซึ่งเป็นงานแสดงที่ดีของการใช้ SGDK โดยทั่วไป (ฟังก์ชั่นและทรัพยากร)
คุณสามารถหาบทเรียนมากมายทางออนไลน์เกี่ยวกับ SGDK แต่ระวังบางอย่างล้าสมัยหรือบางครั้งก็ผิด
ฉันขอแนะนำให้เริ่มต้นจากวิกิซึ่งให้พื้นฐานที่จะเริ่มต้น แต่ถ้าคุณต้องการบทเรียน ภาพ และการสอนที่สมบูรณ์มากขึ้นคุณสามารถลองดูสิ่งเหล่านี้ได้:
บทเรียนการเขียนโปรแกรม MD จาก OHSAT:
https://www.ohsat.com/tutorial/mdmisc/creating-graphics-for-md/
บทเรียนที่สมบูรณ์และภาพจาก Danibus (ภาษาสเปนเท่านั้น):
https://danibus.wordpress.com/
นี่คือรายการเครื่องมือที่มีประโยชน์ที่จะช่วยคุณสร้างสินทรัพย์ของคุณ:
asesprite
เกลกราฟิก
การส่งเสริม
Grafx2
Palette Quantizer: เครื่องมือที่ทรงพลังในการแปลงภาพของคุณด้วยข้อ จำกัด ของจานสีจานสี
16tile: SGDK เฉพาะตัวแก้ไขแผนที่กระเบื้อง
กระเบื้อง: ตัวแก้ไขแผนที่กระเบื้องรองรับโดยเครื่องมือคอมไพเลอร์ทรัพยากร SGDK
LDTK: ตัวแก้ไขแผนที่กระเบื้องใหม่ แต่ทรงพลัง (รองรับรูปแบบกระเบื้องเช่นกัน)
Ogmo: โปรแกรมแก้ไขแผนที่กระเบื้องที่ดีและเรียบง่ายอีกตัวหนึ่ง
Palette Merger: เครื่องมือที่อนุญาตให้เปลี่ยนดัชนี Palette Tile Palette และลำดับความสำคัญได้อย่างง่ายดาย
DefleMask: เพลงติดตามการสนับสนุนหลายระบบเป็นไดรฟ์ Sega Mega
Furnace: ตัวติดตามเพลงใหม่ที่รองรับหลายระบบ
WAVOSAUR: Editor Wave Sound (Windows เท่านั้น)
Audacity: Wave Sound Editor (ระบบปฏิบัติการทั้งหมด)
ไดรเวอร์เสียง SGDK อาจไม่ตรงกับความต้องการของคุณดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องรู้ว่ามีทางเลือกบางอย่าง:
MDSDRV: การสนับสนุนไดรเวอร์เสียงที่ทรงพลัง FM & PSG SFX การเล่น PCM ที่ขว้างได้ ...
Echo: ไดรเวอร์เสียงอื่นที่รองรับ FM & PSG SFX และทำงานได้ 100% ใน Z80 CPU
Minimusic: ไดรเวอร์เสียง Z80 ขนาดเล็กสำหรับ Mega Drive ที่วิ่งออกจาก Z80 RAM ทั้งหมดและไม่สามารถเข้าถึงสล็อตคาร์ทริดจ์ได้
หากคุณต้องการความช่วยเหลือหรือสนับสนุนด้วย SGDK คุณสามารถเข้าร่วม SGDK Discord Server:
https://discord.gg/xmnbwqs
นอกจากนี้คุณยังสามารถไปที่ฟอรัม Spritesmind ซึ่งอุทิศให้กับการพัฒนา Sega Mega Drive และมีส่วนเฉพาะสำหรับ SGDK:
http://gendev.spritesmind.net/forum/
ผู้ใช้ UNIX/LINUX ควรลองใช้สคริปต์ที่ง่ายมากนี้เพื่อให้คุณสามารถใช้ SGDK จากไวน์ได้อย่างง่ายดาย:
https://github.com/franticware/sgdk_wine
นอกจากนี้ยังมีโซลูชันใหม่ที่เสนอโดย Daniel Valdivieso เพื่อใช้ SGDK กับ VSCODE ภายใต้ระบบปฏิบัติการใด ๆ โดยใช้ไวน์:
https://github.com/v4ld3r5/sgdk_vscode_template
อีกทางเลือกที่ยอดเยี่ยมคือการใช้สภาพแวดล้อมที่สมบูรณ์ Marsdev ที่พัฒนาโดย Andy Grind: https://github.com/andwn/marsdev รองรับ OSE ทั้งหมดให้ความเข้ากันได้ของ SGDK รวมถึงการสนับสนุน 32X ดังนั้นอย่าลืมตรวจสอบ
ผู้ใช้ MacOSX ยังสามารถเข้าถึง SGDK ด้วย Gendev สำหรับ MacOS จากโครงการ Sonic3D:
https://github.com/sonic3d/gendev-macos
วิธีที่ทันสมัยในการติดตั้งในสภาพแวดล้อมใด ๆ คือการใช้ Docker
ในการดาวน์โหลดภาพฐาน sgdk
:
docker pull ghcr.io/stephane-d/sgdk docker tag ghcr.io/stephane-d/sgdk sgdk
หรือสร้าง:
docker build -t ghcr.io/stephane-d/sgdk-m68k-gcc:latest -f deps/gcc.Dockerfile deps/ docker build -t sgdk .
จากนั้นรวบรวม env ท้องถิ่นเช่น samples
เช่น:
cd sample/game/sonic docker run --rm -v "$PWD":/src sgdk
หมายเหตุ:
$PWD
จะไม่ทำงานบน Windows %CD%
จะต้องใช้แทน
เพื่อหลีกเลี่ยงการเขียน ./out
ไฟล์เป็นรูทเรียกใช้คำสั่ง Docker เป็นผู้ใช้ปัจจุบัน: docker run --rm -v "$PWD":/src -u $(id -u):$(id -g) sgdk
นอกจากนี้คุณยังสามารถลองใช้โซลูชัน Doragasu Docker สำรองซึ่งใช้คอมไพเลอร์ Linux ดั้งเดิม (เร็วกว่ามาก): https://gitlab.com/doragasu/docker-sgdk
ใช่คุณกำลังอ่านอย่างถูกต้องขอบคุณ Matthew Nimmo คุณสามารถใช้ SGDK จาก AWS ^^ นี่คือลิงก์ไปยังบล็อกของเขาซึ่งอธิบายวิธีการทำเช่นนั้น: https://community.aws/content/2hzinsywwwwwx8cyeaifkquutvoyqj/how-to- build-retro-games-in-aws-using-sega-genesis-development-Kit-SGDK
คุณสามารถค้นหาเทมเพลต Visual Studio ในโฟลเดอร์ 'Vstudio' เพื่ออำนวยความสะดวกในการรวม SGDK ด้วย VS หรือเพื่อนำไปใช้ต่อไปคุณยังสามารถติดตั้งส่วนขยาย VS ที่ทำโดย Zerasul:
https://marketplace.visualstudio.com/items?itemname=zerasul.genesis-code
SGDK ฟรีอย่างสมบูรณ์ แต่คุณสามารถรองรับได้ใน Patreon: https://www.patreon.com/sgdk
Doragasu สำหรับเอ็นจิ้นมัลติทาสกิ้ง (ขึ้นอยู่กับการใช้งาน SIK), Megawifi, Flash Save Support และอื่น ๆ ที่ดี
SIK สำหรับการใช้งานพื้นฐานแบบมัลติทาสกิ้งและสำหรับแหล่งข้อมูลทางเทคนิค Plutidev Mega Mega Drive ที่ไม่มีค่า
Chilly Willy สำหรับการสนับสนุนความสุข / คอนโทรลเลอร์เกือบทั้งหมดใน SGDK (และตัวอย่างการทดสอบความสุข ^^)
Astrofra สำหรับตัวอย่าง Starfield Donut และ Readme ที่ปรับปรุงใหม่;)
Gligli สำหรับการสร้างและจัดหา GCC 6.3 สำหรับ Windows
Gunpog สำหรับทำโลโก้ 'น่ารัก' SGDK
Adrian Spoz สำหรับการสร้างโลโก้ 'Profesionnal' SGDK
Vojtěch Salajka สำหรับสคริปต์ที่อนุญาตให้ใช้ SGDK ได้อย่างง่ายดายจากไวน์ (Linux/UNIX แต่อาจใช้งานได้กับ OSX ด้วย)
Daniel Valdivieso สำหรับโซลูชันที่ใช้ไวน์อื่นเพื่อใช้ SGDK บน multi-OS (รวมถึงเทมเพลต VSCODE)
Andy Grind สำหรับโครงการ Marsdev ช่วยให้ใช้ SGDK ในระบบปฏิบัติการใด ๆ และยังรองรับ 32X dev
Kubilus สำหรับพอร์ต Gendev Linux ของ SGDK
Sonic3d สำหรับพอร์ต Gendev OSX ของ SGDK
Vladimir Kryvian สำหรับการสนับสนุน Visual Studio และแม่แบบ
Steve Schnepp สำหรับการสนับสนุน Docker
Andreas Dietrich สำหรับตัวอย่างเอฟเฟกต์ Wobbler & Scaling ที่ดี
CLBR สำหรับการมีส่วนร่วมต่าง ๆ
JGyllinsky สำหรับการจัดหา / ปรับปรุงชุดการสร้าง
Nolddor สำหรับการแก้ไข / การมีส่วนร่วม
Starling13 สำหรับการแก้ไข
DavidGF สำหรับการมีส่วนร่วม (ปรับปรุงการเพิ่มประสิทธิภาพแอสเซมบลี LTO)
Shiningbzh / Jeremy และ Kentosama สำหรับความช่วยเหลืออันมีค่าในการทดสอบ
Vetea และ Studio Vetea Discord คนทั่วไปเพื่อการสนับสนุนและความเมตตา
ทุกคนที่ฉันลืมและโดยทั่วไปทุกคนช่วยเหลือโดยให้การสนับสนุนรายงานข้อบกพร่องเพิ่มตัวอย่างและสนับสนุน SGDK ในทุก ๆ ด้าน!
แน่นอนฉันขอขอบคุณ Patreon ทั้งหมดของฉันสำหรับการสนับสนุนอย่างต่อเนื่อง แต่ฉันต้องการอุทิศให้กับการบริจาคที่พิเศษและอบอุ่นมากสำหรับการบริจาคจาก:
Bitmap Bureau (ทีมวิกฤต Xeno)
Neofid Studios (ทีมปีศาจของ Astborg)
Dmitry (di)
Rajen Savjani
โครงการเหล่านี้เป็นที่รู้จักกันว่าอยู่บนพื้นฐานของ SGDK (รายการที่ไม่ครบถ้วนสมบูรณ์) :
Tanzer โดย Mega Cat Studios
Masiaka โดยการต่อต้าน
Crisis Xeno โดยสำนักบิตแมป
ปีศาจแห่งสตูดิโอ Neofid Asteborg
2048 โดย Atamurad
Abbaye des Morts (L ') พอร์ต MD อย่างไม่เป็นทางการโดย Moon-Watcher
Art of Leonbli (The) โดยการต่อต้าน
Barbarian MD Port โดย Z-Team
ปีศาจแห่ง Asteborg โดย Neofid Studio
devwill เกินไป md โดย amaweks
Fatal Smarties สร้างขึ้นสำหรับ GGJ 2016
Fullscreen NICCC 2000 โดย Resistance
IK+ Deluxe MD MD Port โดย Z-Team
Irena โดย White Ninja Studio
Omega Blast โดย Nendo
Perlin & Pinpin โดย Lizardrive
Right 2 Repair โดย Super Megabyte ที่สร้างขึ้นสำหรับ GGJ 2020
กลับไปที่พอร์ต MD อย่างไม่เป็นทางการโดย Z-Team
Road to Valhalla โดย Bounty/Banana & Resistance
เกลียว (The) โดยการต่อต้าน
TCK โดย GGS Studio Creation
Tetris MD พอร์ต MD อย่างไม่เป็นทางการโดย Nero Jin
Thundercats MD โดย Rolando Fernández Benavidez
เดินทางโดยการต่อต้าน
Wacky Willy Weiner Sausage Surfer สร้างขึ้นสำหรับ GGJ 2017