Tags:
Node Thumbnail

เมื่อช่วงเดียวกันของปีที่ผ่านมา ผู้อ่าน Blognone คงคุ้นหน้าคุ้นตากับเกมแก้ปัญหาด้วยภาษา Assembly นามว่า TIS-100 จากบริษัท Zachtronics กันไปแล้ว และเหมือนว่าผู้สร้างจะค้นพบแนวเกมที่ถนัดและลงตัวเสียที เพราะในเวลาไม่ถึงหนึ่งปีก็ได้เปิดตัวเกมใหม่สไตล์เดิม แต่ยกเครื่องทุกอย่างใหม่หมดในชื่อ SHENZHEN I/O จนอาจพูดติดตลกได้ว่า "นี่คือเกม TIS-100 รุ่นที่ทำเสร็จ" ก็พอได้

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

หมายเหตุ: เกมนี้ไม่เหมาะกับคนที่เกลียดการอ่านคู่มืออย่างเข้าไส้ครับ :p

บุกตลาดอิเล็กทรอนิกส์แดนมังกร

เมื่อพูดถึงดินแดนแห่งเทคโนโลยี หลายต่อหลายคนคงนึกถึงซิลิคอนแวลลีย์อย่างแน่แท้ ซึ่งก็ไม่ผิดแปลกอะไรเพราะนวัตกรรมเปลี่ยนโลกจำนวนไม่น้อยต่างถูกบ่มเพาะจากที่แห่งนั้น อย่างไรก็ตาม ณ ดินแดนค่าแรงถูกในอีกฟากโลกอย่างประเทศจีน ก็เป็นสถานที่ที่เปลี่ยนไอเดียจากความว่างเปล่าเหล่านั้นให้กลายเป็นสิ่งของที่จับต้องจริงได้ ตั้งแต่ผลิตภัณฑ์คุณภาพสูงอย่าง iPhone ไปจนถึงสินค้าเกรดต่ำที่เราเรียกกันติดปากว่า "ของก๊อปจีนแดง" ด้วยปริมาณสินค้าอิเล็กทรอนิกส์ที่ผลิตออกมาจำนวนมหาศาล ก็น่าจะกล่าวได้ว่าประเทศจีนก็มีความสำคัญด้านเทคโนโลยีไม่ยิ่งหย่อนไปกว่ากันเลย โดยสิ่งที่พี่จีนของเรานั้นเก่งเป็นพิเศษก็คือด้านฮาร์ดแวร์และผลิตภัณฑ์ประเภทฝังตัว (embedded system) นั่นเอง

และเมืองหลวงทางด้านเทคโนโลยีของจีนก็คงหนีไม่พ้นเขตเศรษฐกิจพิเศษเซินเจิ้น ที่นอกจากจะอยู่ชายฝั่งทะเลทำให้สามารถขนส่งสินค้าได้อย่างสะดวกแล้ว การอยู่ติดกับเขตบริหารพิเศษฮ่องกง (ซึ่งเคยเป็นอาณานิคมของอังกฤษมาก่อน) ก็ทำให้บริษัทจากต่างประเทศไหลเข้ามาตั้งถิ่นฐานบนจีนแผ่นดินใหญ่ได้อย่างไม่ยากเย็น และด้วยความเจริญเติบโตทางเศรษฐกิจแบบก้าวกระโดดนี้เอง ก็ทำให้เมืองที่มีประชากรไม่ถึงหนึ่งล้านคนเมื่อสามสิบปีที่แล้ว กลายมาเป็นมหานครที่มีผู้คนขวักไขว่กว่าสิบล้านคนในปัจจุบัน

ด้วยความเปิดกว้างและทันสมัย จึงไม่น่าแปลกใจเท่าไหร่ที่ตัวเอกในเกมนี้ (เรา) จะเลือกย้ายถิ่นฐานออกจากบ้านเกิด เพื่อมาเป็นวิศวกรต่างด้าว (expat) ณ ดินแดนมังกรแห่งนี้ครับ

ลุยสร้างงานระบบฝังตัว

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

No Description

รูปที่ 1: ตัวอย่างเอกสารบางหน้า

หมายเหตุว่าเราไม่จำเป็นต้องอ่านเอกสารทั้งหมดให้เข้าใจในครั้งเดียวก็ได้ (เช่นเดียวกันกับการทำงานจริง?) เพียงแค่อ่านส่วนที่จำเป็นต้องใช้กับงานชิ้นนั้นๆ ก่อนก็เพียงพอแล้ว ส่วนที่เหลือก็เปิดดูให้ผ่านตาว่าอะไรอยู่ตรงไหน และมีคำแนะนำหรือข้อห้ามที่ไม่ควรปฏบัติเป็นพิเศษหรือไม่

เมื่อเข้าใจการใช้งานคร่าวๆ แล้ว ก็เริ่มจากอ่านเมลชี้แจงงานก่อนลงมือต่อวงจร

No Description

รูปที่ 2: เมลรายละเอียดงานชิ้นแรก ง่ายๆ เพียงแค่สร้างกล้องดัมมี่

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

ด้านภาษาโปรแกรมที่ใช้นั้น จะเป็นภาษาที่คล้ายกับ Assembly แต่เพิ่มแนวคิดเรื่อง flag ว่าจะทำคำสั่งนั้นๆ หรือไม่เข้ามา กล่าวคือ ถ้าหากคำสั่งดังกล่าวมีเครื่องหมายบวก (+) นำหน้าอยู่ คำสั่งนั้นจะทำงานก็ต่อเมื่อการตรวจสอบเงื่อนไขครั้งที่ผ่านมาให้ค่าเป็นจริงเท่านั้น

No Description

รูปที่ 3: ตัวอย่างการต่อวงจรและเขียนโปรแกรมบนชิป

เช่นเดียวกับทุกเกมที่เน้นการแข่งขันแบบหาค่าที่ดีที่สุด (optimization) เมื่อแก้ปริศนาเสร็จก็จะมีตารางเทียบคะแนนกับเพื่อนๆ ขึ้นมาให้ดู โดยเกมนี้เน้นอยู่ 3 อย่าง ได้แก่ จำนวนบรรทัดโปรแกรม ปริมาณพลังงานที่ใช้ และราคาผลิตต่อหน่วย

No Description

รูปที่ 4: ตารางเปรียบเทียบคะแนน

แม้เกมนี้จะไม่ได้เน้นแข่งด้านการทำงานที่รวดเร็วแบบ TIS-100 แต่การออกแบบวงจรแบบขนาน (parallel) ที่ดี ก็ยังเป็นหัวใจหลักในการแก้ปริศนาต่างๆ อย่างมีประสิทธิภาพครับ

ส่วนอัตราการกินไฟของวงจรนั้นขึ้นอยู่กับจำนวนชิปและบรรทัดคำสั่งที่ทำงาน ซึ่งสามารถทำให้ลดลงได้โดยใช้ลอจิกเกตแทนในบางโอกาส (เช่น ในรูปที่ 5) แต่อย่าลืมว่าการทำเช่นนั้นย่อมต้องแลก (tradeoff) มาด้วยราคาต่อหน่วยที่สูงขึ้นแทนแทบทุกครั้ง

No Description

รูปที่ 5: ตัวอย่างวงจรที่ใช้แต่เกต

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

แต่จุดที่สำคัญที่สุด ผมว่าน่าจะเป็นการที่เกมปล่อยให้ผู้เล่นตั้งคำถามกับตัวเองว่า คนทำงานตัวเล็กๆ อย่างเราสามารถทำอะไรได้บ้าง เมื่อได้รับมอบหมายชิ้นงานที่หมิ่นเหม่กับศีลธรรมความเชื่อของตนเอง อย่างเช่นการสร้างอุปกรณ์ช่วยเล็งเป้าปืน หรือการพิมพ์เนื้อบดติดมันแทนการแล่เนื้อจริง ไปจนถึงการฝังประตูหลัง (backdoor) เพื่อให้ผู้ดูแลระบบสามารถทำงานได้ง่าย แต่ก็ทำลายความปลอดภัยในฝั่งผู้ใช้งาน

No Description

รูปที่ 6: ตกลงว่าเราควรสร้างอุปกรณ์เหล่านี้หรือไม่?

พักครึ่งกับเกมไพ่

ผมว่า Zachtronics น่าจะเข้าอกเข้าใจผู้ชื่นชอบเกมไขปริศนาเป็นอย่างดี เพราะเขาได้ใส่มินิเกมสำหรับพักสมองจากปริศนาหลักด้านการต่อวงจร ให้มาใช้สมองกับเกมไพ่แบบ Solitaire แทน

No Description

รูปที่ 7: Solitaire ที่ใช้หน้าไพ่นกกระจอกในการเล่น

แม้เกมไพ่นี้จะใช้ชื่อเหมือนกับ Solitaire ที่แถมมากับ Windows แต่กฏการเล่นจะไปคล้ายกับ FreeCell จุดต่างสำคัญคือไพ่ตัวเลขที่มีสามสี และหน้าอักษรจีนที่ไม่สามารถวางซ้อนบนไพ่อื่นได้

เล่นต่อหลังเกมจบ

เช่นเดียวกันกับ TIS-100 ผู้เล่นสามารถสร้างด่านใหม่ๆ เองได้ด้วยภาษา Lua แล้วส่งขึ้นไปแบ่งปันกับเพื่อนๆ บน Steam Workshop ครับ

No Description

รูปที่ 8: สร้างด่านใหม่ๆ เองด้วยสคริปต์ภาษา Lua

ด้วยการแบ่งปันจากชุมชนนี่เอง เกมนี้จึงมีอายุการเล่นซ้ำที่ยาวนานแม้ว่าผู้เล่นจะตะลุยแคมเปญหลักของเกมจนจบไปแล้ว

หรือถ้าใครอยากพบความท้าทายแบบสุดๆ ก็ลงมือออกแบบวงจรที่ใฝ่ฝันเองได้เลย ดังเช่นวิดีโอต่อไปนี้

วิดีโอ 1: เกม Tetris ที่สร้างบนเกม SHENZHEN I/O อีกทีหนึ่ง

สรุป

เกมจำลองชีวิตการทำงานของวิศวกรได้เป็นอย่างดีครับ ปริศนาไม่ได้ยากจนเกินไป แถมการต่อวงจรได้อย่างอิสระบนบอร์ดที่มีขนาดเหลือเฟือก็ทำให้ปริศนาต่างๆ ง่ายลงไปอีก ผมว่าโปรแกรมเมอร์ทั่วๆ ไปน่าจะสามารถเล่นเกมนี้จบได้ภายในไม่ถึงสิบชั่วโมงนะครับ (แต่ถ้าพยายามหาวิธีต่อวงจรที่ดีที่สุด หรือติดเล่นเกมไพ่ก็อาจใช้เวลาเกินไปเยอะโข)

แน่นอนว่าเกมนี้ไม่ได้เหมาะสำหรับทุกคน ถ้าใครไม่ชอบเกมแนวแก้ปริศนา หรือคิดว่าแค่ทำงานก็หมดแรงแล้ว การข้ามเกมนี้ไปก็ถือว่าไม่ได้พลาดอะไรครับ

แต่ถ้าใครต้องการเรียนรู้โลกแห่งการเขียนโปรแกรมจากศูนย์ หรืออยากเพิ่มพลังสมองด้านการคิดวิธีแก้ปัญหาแบบคู่ขนานแล้ว เกมนี้ก็น่าจะช่วยให้สัมฤทธิ์ผลที่หวังไว้อย่างสนุกสนานไม่น้อยเลยทีเดียว

Get latest news from Blognone

Comments

By: suwijakza
iPhoneAndroidUbuntuWindows
on 1 January 2017 - 20:15 #962103
suwijakza's picture

เป็นเกมส์ที่ซื้อตั้งแต่เปิดตัววันแรกๆเลย แต่เป็นเกมส์ที่ยากเกินไปที่จะเอาไว้ใช้แค่เล่น "ฆ่าเวลา"นะ 55

By: Noblesse
AndroidRed HatUbuntuWindows
on 1 January 2017 - 20:46 #962104

เกมนี้แนะนำให้ดู playthrough ของ Scott Manley ใน Youtube ครับ :D

By: artiya4u
AndroidUbuntu
on 1 January 2017 - 22:31 #962111
artiya4u's picture

nop


Found me on @artiya4u

By: isk on 1 January 2017 - 22:32 #962112

ยากไป

By: blue111
AndroidUbuntuWindows
on 1 January 2017 - 23:55 #962120

ตอนแรกว่าปีใหม่นี้จะไม่เสียซื้อเกมแล้วนะ เจอรีวิวนี้เข้าไปจนได้หวังว่าคงไม่ยากกว่า TIS-100 มากหรอกนะ เดี๋ยวจะเล่นไม่จบ ฮาๆ

By: Jaddngow
AndroidUbuntuWindows
on 3 January 2017 - 12:39 #962275
Jaddngow's picture

ไม่มีความรู้เรื่องวงจรเลย เล่นจบแล้วจะพอสร้างวงจรhardware ง่ายๆเองได้ไหมครับ


โดยส่วนตัวคิดแว่เป็นอย่างเนี๊ยะ

By: neizod
ContributorTraineeIn Love
on 4 January 2017 - 02:41 #962392 Reply to:962275
neizod's picture

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

แต่ยังไงสุดท้ายก็ต้องไปทำความเข้าใจกับ hw ในโลกความจริงอยู่ดีครับ

By: mementototem
ContributorJusci's WriterAndroidWindows
on 4 January 2017 - 10:02 #962422 Reply to:962275
mementototem's picture

เท่าที่ดูรีวิว น่าจะเป็นเกี่ยวกับ logic gate เสียมากกว่า วงจรจริง ๆ ต้องพึ่งพาอะไรมากกว่านี้เยอะเลยครับ เข้าใจเรื่องพื้นฐานอิเล็ก R C L Tr D Z ว่ามีคุณสมบัติยังไง ยังพอสร้างวงจรง่าย ๆ ได้ง่ายกว่าครับ

สมัยนี้ อุปกรณ์หลายอย่างมัน on Chip เป็น IC ตัว ๆ นึง หรือจะเป็นพวก rPi/Arduino ที่เขียนโปรแกรมควบคุมใส่เข้าไปได้เอง แค่จ่ายไฟให้ถูกแล้ว ใส่ input แล้วนำ output ออกมาใช้ได้ (แต่ก็ต้องเข้าใจพื้นฐานอิเล็กก่อนอยู่ดีแหละครับ)


Jusci - Google Plus - Twitter - FSN

By: Jaddngow
AndroidUbuntuWindows
on 3 January 2017 - 12:39 #962276
Jaddngow's picture

ไม่มีความรู้เรื่องวงจรเลย เล่นจบแล้วจะพอสร้างวงจรhardware ง่ายๆเองได้ไหมครับ


โดยส่วนตัวคิดแว่เป็นอย่างเนี๊ยะ

By: rainhawk
AndroidWindows
on 3 January 2017 - 20:26 #962356
rainhawk's picture

เล่นแล้วโคตรต้องใช้สมองจริงจัง
ไม่เหมือนเกมเท่าไหร่เลย


hello world

By: Nai_Sara
AndroidWindows
on 4 January 2017 - 08:36 #962408

น่าสนใจมากครับ แต่เล่นจริงๆ ไม่รู้ว่าจะเล่นไหวรึเปล่า
เอาไปให้พวกเด็กภาควิชาอิเล็กทรอนิคส์เล่นน่าจะดี

By: pariwat11 on 4 January 2017 - 12:00 #962466

เจ๋ง ตรงสามารถแก้โค้ดได้ด้วย


BlackGreen

By: panurat2000
ContributorSymbianUbuntuIn Love
on 4 January 2017 - 15:59 #962533
panurat2000's picture

แล้วส่งขึ้นไปแบ่งบันกับเพื่อนๆ

ด้วยการแบ่งบันจากชุมชนนี่เอง

แบ่งบัน ?

By: neizod
ContributorTraineeIn Love
on 6 January 2017 - 00:09 #962901 Reply to:962533
neizod's picture

อุ้ย หางปลาหาย