
1993 నాటి DOS గేమ్ "ఫీల్డ్ ఆఫ్ మిరాకిల్స్ 2" యొక్క బ్రౌజర్ పోర్ట్ సోర్స్ కోడ్ విడుదల చేయబడింది. టైప్స్క్రిప్ట్లో వ్రాయబడిన ఈ ప్రాజెక్ట్, పాత ఎగ్జిక్యూటబుల్ ఫైల్ను రన్ చేయకుండానే అసలు గేమ్ను బ్రౌజర్లో పునఃసృష్టిస్తుంది.
ఈ పోర్ట్ రచయిత అసలైన బైనరీ డేటాను మరియు డిస్అసెంబ్లీ ఆధారిత పునర్నిర్మాణాన్ని ఉపయోగించి గేమ్ యొక్క ప్రవర్తనను పునఃసృష్టించారు. ఈ ప్రాజెక్ట్లో స్ప్లాష్ స్క్రీన్, ప్లేయర్ పేరు నమోదు, ఎనిమిది టోర్నమెంట్ దశలు, 16-సెక్టార్ల చక్రం, చేతి కర్సర్తో అక్షరాల ఎంపిక, స్కోర్బోర్డ్పై అక్షరాలను వెల్లడించడం, బాక్సులతో కూడిన ఒక మినీగేమ్, బహుమతి కోసం యాకుబోవిచ్తో బేరసారాలు, వాణిజ్య ప్రకటనల విరామాలు, ఒక తుది వేడుక మరియు ఒక లీడర్బోర్డ్ వంటి అంశాలు ఉన్నాయి.
ఈ ప్రాజెక్ట్ యొక్క కీలక సాంకేతిక లక్షణం దాని "జీరో బైనరీస్" విధానం. అసలైన వనరులు అస్పష్టమైన బైనరీ ఫైల్స్గా ఉపయోగించబడవు: స్ప్రైట్లు మరియు ఫాంట్లు నష్టరహిత WebP మరియు JSON మానిఫెస్ట్లుగా ఎన్కోడ్ చేయబడతాయి, అయితే ప్రశ్నల నిఘంటువు మరియు హైస్కోర్ పట్టిక JSONలో ప్రాతినిధ్యం వహిస్తాయి. పరీక్షలు వనరులను బైట్ బైట్గా తిరిగి అసలైన ఫైల్స్గా పునఃసమీకరించగలవు, ఇది బదిలీ యొక్క ఖచ్చితత్వాన్ని ధృవీకరించడానికి అనుమతిస్తుంది.
ఈ రిపోజిటరీలో యూనిట్ మరియు ఇంటిగ్రేషన్ టెస్టులు, బిల్డ్ టెస్టులు, ప్లేరైట్ ద్వారా స్మోక్ టెస్ట్, మరియు ఒక సాధారణ "వెరిఫై" మోడ్ వంటి కొన్ని తనిఖీలు కూడా ఉన్నాయి. దీన్ని రన్ చేయడానికి, వెబ్ డైరెక్టరీకి వెళ్లి, npm ద్వారా డిపెండెన్సీలను ఇన్స్టాల్ చేసి, డెవ్ సర్వర్ను లాంచ్ చేస్తే సరిపోతుంది.
రోజెట్కెడ్ ప్రకారండెవలపర్ డెనిస్ షిర్యాయెవ్, గేమ్ను బైనరీ కోడ్ నుండి టైప్స్క్రిప్ట్కు మార్చడానికి క్లాడ్ ఫేబుల్ 5ను ఉపయోగించారు. ఈ మోడల్, స్ప్రైట్లను కూడా సంగ్రహించి, తిరిగి వ్రాసిన సోర్స్ కోడ్ను కేవలం కొన్ని గంటల్లోనే తిరిగి ఇచ్చిందని ఆయన పేర్కొన్నారు. ఫేబుల్ 5 ఇటీవల విడుదల కావడం, ఆ తర్వాత మూసివేయబడటంతో, ఆధునిక LLMలు ఇప్పుడు కొత్త కోడ్ను రూపొందించడానికి మాత్రమే కాకుండా, పాత సాఫ్ట్వేర్ను పునరుద్ధరించడానికి మరియు పోర్ట్ చేయడానికి కూడా ఎలా ఉపయోగించబడుతున్నాయో చెప్పడానికి ఈ కథ ఒక ప్రధాన ఉదాహరణగా నిలిచింది.
ప్రాజెక్ట్లోని టైప్స్క్రిప్ట్ భాగానికి MIT లైసెన్స్ ఉంది, కానీ 1993 నాటి అసలు గేమ్ నుండి రీకోడ్ చేయబడిన డేటాకు ఈ లైసెన్స్ వర్తించదని రచయిత ప్రత్యేకంగా స్పష్టం చేశారు.
మూలం: linux.org.ru
