ทักษะความสามัคคีจะสามารถถ่ายโอนได้หรือไม่


16

ฉันกำลังเรียนรู้สามัคคีและทำงานผ่านหนังสือเรียนคณิตศาสตร์ของวิดีโอเกม

เป้าหมายของฉันคือการสร้างเกมแข่งรถสำหรับ WebGL (ใช้ Three.js และอาจ Physic.js)

ฉันตระหนักดีว่าโปรแกรม Unity ปกป้องคุณจากสิ่งที่เกิดขึ้นมากมายและงานที่ทำเสียงฮึดฮัดจำนวนมากที่เกี่ยวข้องกับการพัฒนาแม้กระทั่งวิดีโอเกมที่เรียบง่าย ทักษะที่ฉันเรียนรู้การแปลไปยังกรอบ / เครื่องมืออื่น ๆ

ฉันค่อนข้างเชี่ยวชาญในการออกแบบระดับด้วย WebGL และฉันเป็นตัวดัดแปลง 3 มิติที่ดี จุดอ่อนของฉันคือ AI และฟิสิกส์แน่นอน

ในขณะที่ฉันกำลังเขียนคณิตศาสตร์ของฉันอย่างรวดเร็วและในขณะที่ฟิสิกส์มีความน่าสนใจอย่างปฏิเสธไม่ได้มีเพียงไม่กี่ชั่วโมงต่อวันและมีเครื่องยนต์มากมายที่จะคอยดูแลสิ่งนี้

AI ดึงดูดใจฉันมากขึ้นและจำเป็นมากขึ้น AI เปลี่ยนไปอย่างมากจากเกมหนึ่งไปอีกเกมหนึ่งซึ่งมีการเปลี่ยนแปลงอย่างมากในระหว่างการพัฒนาและฟิสิกส์นั้นมีความคงที่มากกว่า

แนวคิดของ AI ใน Unity จะทำให้ฉันสามารถถ่ายทอดความรู้นี้ไปได้ทุกที่หรือไม่? หรือว่าฉันจะพายเรือใน Unity creek ด้วยทักษะเหล่านี้หรือไม่


4
นักออกแบบเลเวลด้วย WebGL?
Ben

3
AI ถูกกำหนดโดยอัลกอริทึมและใช้งานในรหัส ตรรกะใด ๆ ที่คุณเขียนในสคริปต์สามารถถ่ายโอนไปยังภาษาและแพลตฟอร์มอื่นได้อย่างง่ายดาย ตัวอย่างเช่นอัลกอริธึมการพา ธA * pathไม่มีอะไรที่เป็นเอกภาพเกี่ยวกับมัน
MLM

1
หากมีสิ่งใดการใช้กรอบที่แข็งแกร่งเช่น Unity จะช่วยให้คุณหลีกเลี่ยงสิ่งล่อใจที่จะพลิกโฉมวงล้อและมุ่งเน้นไปที่การสร้างรูปแบบการเล่นที่ไม่เหมือนใครและสนุกที่คุณต้องการ นอกจากนี้ยังหมายความว่าคุณจะมีความเชี่ยวชาญในชุมชนที่จะวาดเมื่อคุณพบว่าตัวเองอยู่ในอุปสรรค์ แม้ว่ารายละเอียดจะแตกต่างกันไปมาก แต่แนวคิดพื้นฐานของการทำงานในเครื่องยนต์สามารถถ่ายโอนได้ - การตัดฟันของคุณในครั้งเดียวจะช่วยในการเรียนรู้เครื่องยนต์ในอนาคต และเมื่อ MLM ชี้ให้เห็นรหัสใด ๆ ที่คุณเขียนเองจะสามารถนำไปใช้ได้ทุกที่
DMGregory

@ WebGL ฉันหมายถึงการสร้างเลเวลตั้งแต่เริ่มต้นสำหรับเกมเบราว์เซอร์ 3 มิติไม่มีส่วนต่อประสาน
Starkers

คำตอบ:


27

การพูดอย่างกว้าง ๆ มีทักษะสองประเภท:

  1. "ฉันสามารถทำให้สิ่งนี้เป็นประกายได้โดยคลิกที่ปุ่มนั้น" นี่คือความรู้ที่เป็นอันหนึ่งอันเดียวกันของโดเมน เป็นสิ่งที่คุณได้เรียนรู้เกี่ยวกับวิธีใช้ Unity และอาจไม่ช่วยคุณมากนักเมื่อเรียนรู้ส่วนต่อประสานของระบบอื่น (ในขณะที่ระบบอื่นน่าจะมีวิธีที่จะทำให้วัตถุมันวาวมันอาจจะมีระบบที่แตกต่างไปจากเดิมอย่างสิ้นเชิงสำหรับการกำหนดค่ารูปลักษณ์นั้น - การเรียนรู้วิธีของ Unity จะไม่สอนวิธีของระบบอื่นโดยอัตโนมัติ)
  2. "ถ้าฉันต้องการให้แน่ใจว่าผู้เล่นสังเกตเห็นวัตถุนี้ฉันสามารถทำให้มันเป็นประกายได้" นี่คือความรู้โดเมนเกม; มันเป็นสิ่งที่คุณได้เรียนรู้เกี่ยวกับวิธีการทำงานของเกมและวิธีที่ผู้เล่นโต้ตอบกับเกมโดยไม่ขึ้นกับว่าเอ็นจิ้นหรือ SDK ใดที่นำสิ่งต่าง ๆ มาใช้

หากคุณกำลังเรียนรู้อัลกอริธึมหรือถ้าคุณกำลังเรียนรู้ว่าควรใช้เทคนิคเฉพาะเมื่อใดและอย่างไรคุณจะต้องสร้างทักษะที่สามารถถ่ายโอนได้สูงซึ่งเกี่ยวข้องกับเกมทั้งหมด หากคุณเพียงแค่เรียนรู้วิธีจัดการส่วนต่อประสานของเครื่องยนต์คุณอาจสร้างทักษะที่ไม่สามารถถ่ายโอนได้


7

ใช่. อัลกอริทึมการเรียนรู้คืออัลกอริทึมการเรียนรู้ การใช้งานอาจเปลี่ยนแปลงได้ แต่คุณจะยังคงเข้าใจกลยุทธ์โดยรวม

อย่างไรก็ตามมันเป็นความจริงที่ว่าคุณจะได้เรียนรู้ในระดับสูงของสิ่งที่เป็นนามธรรม นั่นหมายความว่าการย้ายไปยังเอนจิ้นอื่นหรือไม่มีเอ็นจิ้นอาจทำให้คุณต้องเรียนรู้รายละเอียดปลีกย่อยของอัลกอริทึมและรายละเอียดของการใช้งาน

โดยรวมแล้วมันเป็นกลยุทธ์ที่ดีในการเรียนรู้สิ่งใหม่ ๆ แม้ว่าจะช่วยปรับปรุงความเข้าใจทั่วไปของคุณในหัวข้อเท่านั้น แต่มันทำให้การเรียนรู้และนำไปใช้งานอีกครั้งด้วยเทคโนโลยีที่แตกต่างกันซึ่งง่ายกว่ามาก


3

มันขึ้นอยู่กับ.

มีแง่มุมบางประการที่สามารถนำไปใช้ได้เช่นความสามารถในการออกแบบเกมที่สอดคล้องกันที่ใช้งานได้ แต่นั่นมาจากการเรียนรู้ที่จะใช้เอ็นจิ้นเกม / SDK

แต่ทุกอย่างขึ้นอยู่กับ:

- ระดับการใช้งานของคุณหากคุณยืมสคริปต์และรู้เฉพาะสิ่งที่เป็นภาพส่วนใหญ่มีแนวโน้มว่าสิ่งเดียวที่จะนำติดตัวไปได้คือความคุ้นเคยกับเครื่องมือบางอย่าง

- ซอฟต์แวร์ที่คุณได้สร้างแบ็คกราวด์ในรูปแบบเทียบกับซอฟต์แวร์ใหม่เริ่มตั้งแต่บางสิ่งบางอย่างเช่น GameMaker ไปจนถึงบางอย่างเช่น CryEngine, UDK, Unity ทำได้ไม่ดีนักยกเว้น:

- คุณมีพื้นหลังในภาษาการเขียนโปรแกรมต่างๆ Unity ใช้ Unityscript ซึ่งเป็นไอเทมที่เป็นของตัวเองเช่น C # และ java

หากคุณเป็นคนใหม่เหมือนที่คุณเคยบอกไว้ฉันจะเริ่มต้นด้วยพื้นฐานกับ GameMaker ทำความคุ้นเคยกับส่วนต่อประสานการลากและวางและการเขียนโปรแกรมการเล่นเกมขั้นพื้นฐานแล้วเรียนรู้วิธีเขียนสคริปต์ของคุณเองด้วย GameMaker Language ในขณะเดียวกันเริ่มเรียนรู้การเขียนโปรแกรมภาษา (Java, C, C ++, C #, ... ฯลฯ ) แนวคิดที่จะมีประโยชน์อย่างเหลือเชื่อสำหรับเมื่อคุณเริ่มเรียนรู้ภาษาเครื่องยนต์บุคคลแรก

หาก AI เป็นสิ่งที่คุณสนใจจริง ๆ คุณไม่สามารถเครียดได้เพียงพอที่จะเรียนรู้ภาษาการเขียนโปรแกรมและตรรกะที่อยู่เบื้องหลังพวกเขา AI นั้นยากและยากจริงๆและมีจำนวนมากที่เกี่ยวข้องกับการเขียนสคริปต์สำหรับพวกเขา ดังที่กล่าวไปแล้วแนวคิดเหล่านั้นที่อยู่เบื้องหลังการเขียน AI ที่ดีควรจะดำเนินต่อไป แต่ไม่จำเป็นต้องเป็นวิธีการที่แน่นอนในการทำเช่นนั้นเนื่องจากโปรแกรมเกม / SDK ทุกเกมนั้นแตกต่างกัน

ฉันรู้ว่าคุณคงไม่อยากได้ยินเรื่องนี้และฉันก็ไม่เคยพยายามที่จะกีดกันคุณ แต่อย่างใด แต่คุณมีถนนยาวข้างหน้าคุณ การศึกษาด้านการออกแบบเกมดูเหมือนจะสนุกมากและบางครั้งมันก็เป็นไปได้ แต่มีหลายสิ่งที่ต้องรู้และมีงานให้ทำอีกมาก

ฉันหวังว่าสิ่งนี้จะช่วยนำทางคุณไปในทิศทางที่ถูกต้อง

ที่มา: การออกแบบ / เขียนโปรแกรมวิดีโอเกมนักศึกษาที่มีประสบการณ์ด้าน Unity, UDK และ GameMaker ประสบการณ์ที่มีประโยชน์: C, C ++, Java, โครงสร้างข้อมูล OOP, Autodesk Maya, ProTools, Reaper, Audition, Photoshop, GIMP ... คุณได้รับแนวคิด

หากความรู้ของคุณมี จำกัด มากให้เริ่มจากบางสิ่งเช่น GameMaker หรือ Project Spark มันจะช่วยให้คุณเข้าใจพื้นฐานจริงๆ


ฉันหวังว่าฉันจะไม่เจอกับอาการกระตุกอย่างแรง ฉันไม่ได้หมายความอย่างนั้น โชคดีในการเดินทางของคุณ!
UberPwnd

เขาไม่ได้ระบุอย่างชัดเจนในคำถามที่นี่ แต่ภาพรวมของโปรไฟล์ทำให้ชัดเจนว่าเขาไม่จำเป็นต้องเริ่มต้นด้วย GameMaker (เช่นgamedev.stackexchange.com/questions/75627/ … ) ฉันหมายถึง แม้ว่าเขาจะเป็นคนสีเขียวโดยสิ้นเชิงกับการเขียนโปรแกรมฉันก็ไม่แน่ใจในคำแนะนำนั้น แต่เขาไม่ได้อยู่ในพื้นที่สีเทา
jhocking

@ UberPwnd ไม่เลย! ขอบคุณมาก ๆ
Starkers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.