156:, and more. The new engine should read these data files and, in theory, load and understand them in a way that is indistinguishable from the original. The result of a proper engine clone is often the ability to play a game on modern systems that the old game could no longer run on. It also opens the possibility of community collaboration, as many engine remake projects tend to be open source. Game engine recreation can be beneficial to game publishers because the legal use of a re-creation still requires the original data files, as a player must still purchase the original game in order to legally play the re-created game (as detailed in this
22:
391:
207:, in the first step the general game's functionality is programmed and the structure is defined. Then, in later steps, the resulting engine is adapted to the specific detail behaviour of the original game, often by reverse engineering, debugging and profiling the original. An example is
600:
The "no source, no port" rule is not completely true, you can get something similar (but not the same) as a port through static recompilation. Similar stuff was done several times by M-HT for some DOS games. The game was also converted for
Android with somewhat similar
257:
binary executable, CPU instruction for instruction. In the development phase this has the disadvantage that for a long time no running prototype exists. Also on the negative side, the resulting code is very specifically tied to this single game, often ugly
229:
wise" identical behaviour. On the positive side, running code exists faster, and the finally resulting source code is less specifically tied to a specific, single game and can be reused as a general game engine for other games.
248:
game engine recreations, bottom up dis-assembled/decompiled versions for a specific game are often able to replicate the behaviour of the original exactly. In these cases, the game core is recreated bottom up with
376:
291:
239:
466:"As you can see it doesn't look much different from x86 disassembly, the only difference is that you can compile it for other 32bit archs (there is no way it would work on 64bit.."
615:
753:
695:
225:, which resulted in being used for many more games. Typically, this approach results in an approximation of the original behaviour only and not a "
172:
versions, recent hardware or even completely different operating systems than originally intended. Another motivation is the ability to fix engine
812:
39:
215:
without dis-assembling the original executable, which result in game engines whose behavior differs from the original. Another example is the
788:
641:
86:
619:
278:
is an example of a video game engine emulation project which also follows this philosophy for accurate representation of the games.
105:
583:
58:
746:
510:
Support for
Beneath a Steel Sky, made possible thanks to Revolution Software supplying us with the original assembly source code!
539:
800:
404:
157:
65:
1521:
43:
1471:
1318:
1084:
204:
1617:
923:
817:
72:
1668:
783:
739:
723:
released port of
HomeworldSDL. enables your Pandora to experience the excellent work done by the guys at HomeworldSDL.
263:
54:
32:
1248:
670:
461:
1188:
1034:
847:
1263:
1506:
1351:
1476:
710:
1627:
1541:
1501:
1228:
1198:
1152:
1147:
1112:
1064:
1009:
832:
807:
766:
561:
338:
240:
List of commercial video games with available source code § Games with reconstructed source code
198:
153:
79:
1572:
1421:
1356:
1253:
1127:
1117:
1104:
1024:
918:
310:
250:
325:
of classical systems or operating systems is an alternative to an engine recreation; for instance
1426:
1094:
963:
908:
396:
274:. Most often, the result is also not called "game engine" but "game recreation" or "game clone".
216:
145:
522:
1551:
1173:
1014:
968:
689:
649:
365:
356:
259:
212:
133:
1278:
1243:
1054:
645:
346:
169:
137:
1592:
1536:
1486:
1461:
1392:
1304:
1283:
1238:
1193:
1137:
1132:
1079:
953:
948:
177:
176:
which is often hard or impossible with the original engines (with notable exceptions, see
173:
141:
308:). This is the best case, optimal for accuracy and minimizing the effort. An example is
1643:
1142:
1019:
587:
129:
1662:
1546:
1531:
1496:
1466:
1361:
1004:
994:
984:
943:
878:
446:
423:
221:
1384:
1089:
1069:
898:
481:"About 120,000 lines of pseudo-assembly language. Crazy thing to do. But it works."
345:, potentially leading to better performance than emulation; an example is the 2014
254:
168:
Game engine recreations are made to allow the usage of classical games with newer
1441:
1366:
1074:
958:
928:
888:
778:
762:
360:
305:
301:
287:
226:
181:
136:
of the original with the ability to load the original game's data files such as
125:
21:
526:"Source code for Beneath a Steel Sky in Assembly language (415,225 bytes) xxxx"
1607:
1374:
1213:
1049:
933:
450:
386:
342:
300:, the original developers have helped the projects by supplying the original
1456:
1451:
1400:
1335:
1299:
1258:
1223:
1218:
1168:
1059:
1044:
999:
989:
938:
893:
883:
852:
371:
351:
1516:
674:
1446:
1379:
1273:
1183:
1178:
1099:
1039:
913:
857:
322:
492:
1622:
1582:
1577:
1567:
1526:
1491:
1431:
1268:
1233:
1122:
1029:
903:
822:
496:
297:
270:
731:
1612:
1597:
1587:
1511:
1416:
1203:
363:
for the seldom cases that the source code is available; examples are
334:
330:
326:
296:
Occasionally, as was the case with some of the engines/game cores in
208:
149:
476:
1208:
862:
262:"), and can hardly be reused as general game engine. Examples are
1481:
1436:
275:
735:
1602:
477:
Chaos
Strikes Back for Windows (and Linux, MacOS X, Pocket PC)
15:
616:"Jagged Alliance 2 Source Code To Be Bundled With Wildfire"
377:
List of commercial video games with available source code
292:
List of commercial video games with available source code
211:
based on specifications contributed by the community by
1636:
1560:
1409:
1344:
1328:
1317:
1292:
1161:
977:
871:
840:
831:
180:) once a software has become unsupported, with the
46:. Unsourced material may be challenged and removed.
341:is another approach based on the original binary
128:remastering process whereby a new game engine is
747:
118:Type of video game engine remastering process
8:
203:When game engine recreations are made in a
1325:
837:
754:
740:
732:
106:Learn how and when to remove this message
540:"Starcraft für ARM-Handheld kompiliert"
415:
694:: CS1 maint: archived copy as title (
687:
711:"Game of the Week #3 – Homeworld SDL"
7:
44:adding citations to reliable sources
538:Steinlechner, Peter (2014-03-10).
14:
709:pandorapress staff (2011-06-23).
586:. openpandora.org. Archived from
642:"Homeworld Source Code Released"
389:
205:top down development methodology
20:
479:on Dungeon Master Encyclopedia
405:List of game engine recreations
158:list of game engine recreations
31:needs additional citations for
1:
1472:Lightweight Java Game Library
614:Burnes, Andrew (2004-02-25).
329:is a notable emulator of the
213:clean-room re-implementations
818:List of visual novel engines
640:Largent, Andy (2003-10-08).
784:First-person shooter engine
1685:
359:. Another alternative are
304:(those can be then called
285:
237:
196:
774:
618:. ign.com. Archived from
349:architecture version of
55:"Game engine recreation"
796:Game engine recreation
564:. repo.openpandora.org
375:(more examples in the
122:Game engine recreation
1507:Platinum Arts Sandbox
1352:Adventure Game Studio
542:(in German). golem.de
493:"Latest Developments"
464:on pyra-handheld.com
1153:Visual3D Game Engine
808:Game creation system
582:notaz (2014-03-04).
560:notaz (2014-03-04).
339:Static recompilation
199:High-level emulation
40:improve this article
1422:Blender Game Engine
1254:Pixel Game Maker MV
311:Beneath a Steel Sky
251:reverse engineering
124:is a type of video
1669:Video game engines
1427:Bork3D Game Engine
713:. pandorapress.net
622:on January 8, 2013
462:Release: Starcraft
397:Video games portal
217:Total Annihilation
132:from scratch as a
1656:
1655:
1652:
1651:
1552:Wintermute Engine
1313:
1312:
1174:Amazon Lumberyard
969:Zillions of Games
447:Development-Goals
366:Jagged Alliance 2
282:Source code ports
116:
115:
108:
90:
1676:
1326:
1279:UbiArt Framework
1244:Nvidia GameWorks
838:
756:
749:
742:
733:
727:
726:
719:
718:
706:
700:
699:
693:
685:
683:
682:
673:. Archived from
667:
661:
660:
658:
657:
648:. Archived from
646:Inside Mac Games
637:
631:
630:
628:
627:
611:
605:
604:
596:
595:
579:
573:
572:
570:
569:
557:
551:
550:
548:
547:
535:
529:
520:
514:
513:
506:
504:
499:. August 2, 2012
489:
483:
474:
468:
459:
453:
444:
438:
437:
435:
434:
420:
399:
394:
393:
392:
253:of the original
170:operating system
111:
104:
100:
97:
91:
89:
48:
24:
16:
1684:
1683:
1679:
1678:
1677:
1675:
1674:
1673:
1659:
1658:
1657:
1648:
1632:
1556:
1537:Thousand Parsec
1487:Open Wonderland
1462:Irrlicht Engine
1405:
1340:
1320:
1309:
1305:Unreal Engine 5
1288:
1284:Unreal Engine 4
1239:Luminous Engine
1194:Creation Engine
1157:
1138:Unreal Engine 3
1133:Unreal Engine 2
973:
954:Virtual Theatre
949:Unreal Engine 1
867:
827:
770:
760:
730:
716:
714:
708:
707:
703:
686:
680:
678:
671:"Archived copy"
669:
668:
664:
655:
653:
639:
638:
634:
625:
623:
613:
612:
608:
593:
591:
581:
580:
576:
567:
565:
559:
558:
554:
545:
543:
537:
536:
532:
521:
517:
502:
500:
491:
490:
486:
475:
471:
460:
456:
445:
441:
432:
430:
424:"OpenRA/OpenRA"
422:
421:
417:
413:
395:
390:
388:
385:
320:
294:
284:
242:
236:
201:
195:
190:
184:not available.
178:community patch
166:
119:
112:
101:
95:
92:
49:
47:
37:
25:
12:
11:
5:
1682:
1680:
1672:
1671:
1661:
1660:
1654:
1653:
1650:
1649:
1647:
1646:
1644:Open 3D Engine
1640:
1638:
1634:
1633:
1631:
1630:
1625:
1620:
1615:
1610:
1605:
1600:
1595:
1590:
1585:
1580:
1575:
1570:
1564:
1562:
1558:
1557:
1555:
1554:
1549:
1544:
1539:
1534:
1529:
1524:
1519:
1514:
1509:
1504:
1499:
1494:
1489:
1484:
1479:
1474:
1469:
1464:
1459:
1454:
1449:
1444:
1439:
1434:
1429:
1424:
1419:
1413:
1411:
1407:
1406:
1404:
1403:
1398:
1390:
1382:
1377:
1372:
1364:
1359:
1354:
1348:
1346:
1342:
1341:
1339:
1338:
1332:
1330:
1323:
1315:
1314:
1311:
1310:
1308:
1307:
1302:
1296:
1294:
1290:
1289:
1287:
1286:
1281:
1276:
1271:
1266:
1261:
1256:
1251:
1246:
1241:
1236:
1231:
1226:
1221:
1216:
1211:
1206:
1201:
1196:
1191:
1186:
1181:
1176:
1171:
1165:
1163:
1159:
1158:
1156:
1155:
1150:
1145:
1143:Vicious Engine
1140:
1135:
1130:
1125:
1120:
1115:
1110:
1102:
1097:
1092:
1087:
1082:
1077:
1072:
1067:
1062:
1057:
1052:
1047:
1042:
1037:
1032:
1027:
1022:
1020:Essence Engine
1017:
1012:
1007:
1002:
997:
992:
987:
981:
979:
975:
974:
972:
971:
966:
961:
956:
951:
946:
941:
936:
931:
926:
924:Pie in the Sky
921:
916:
911:
906:
901:
896:
891:
886:
881:
875:
873:
869:
868:
866:
865:
860:
855:
850:
844:
842:
835:
829:
828:
826:
825:
820:
815:
810:
805:
804:
803:
793:
792:
791:
781:
775:
772:
771:
761:
759:
758:
751:
744:
736:
729:
728:
701:
662:
632:
606:
574:
552:
530:
515:
484:
469:
454:
439:
414:
412:
409:
408:
407:
401:
400:
384:
381:
319:
316:
283:
280:
235:
232:
219:engine remake
194:
191:
189:
186:
165:
162:
117:
114:
113:
28:
26:
19:
13:
10:
9:
6:
4:
3:
2:
1681:
1670:
1667:
1666:
1664:
1645:
1642:
1641:
1639:
1635:
1629:
1626:
1624:
1621:
1619:
1616:
1614:
1611:
1609:
1606:
1604:
1601:
1599:
1596:
1594:
1591:
1589:
1586:
1584:
1581:
1579:
1576:
1574:
1571:
1569:
1566:
1565:
1563:
1559:
1553:
1550:
1548:
1547:Vassal Engine
1545:
1543:
1540:
1538:
1535:
1533:
1532:Spring Engine
1530:
1528:
1525:
1523:
1520:
1518:
1515:
1513:
1510:
1508:
1505:
1503:
1500:
1498:
1497:Papervision3D
1495:
1493:
1490:
1488:
1485:
1483:
1480:
1478:
1475:
1473:
1470:
1468:
1467:jMonkeyEngine
1465:
1463:
1460:
1458:
1455:
1453:
1450:
1448:
1445:
1443:
1440:
1438:
1435:
1433:
1430:
1428:
1425:
1423:
1420:
1418:
1415:
1414:
1412:
1408:
1402:
1399:
1397:
1395:
1391:
1389:
1387:
1383:
1381:
1378:
1376:
1373:
1371:
1369:
1365:
1363:
1362:Crystal Space
1360:
1358:
1355:
1353:
1350:
1349:
1347:
1343:
1337:
1334:
1333:
1331:
1327:
1324:
1322:
1316:
1306:
1303:
1301:
1298:
1297:
1295:
1291:
1285:
1282:
1280:
1277:
1275:
1272:
1270:
1267:
1265:
1262:
1260:
1257:
1255:
1252:
1250:
1247:
1245:
1242:
1240:
1237:
1235:
1232:
1230:
1227:
1225:
1222:
1220:
1217:
1215:
1212:
1210:
1207:
1205:
1202:
1200:
1197:
1195:
1192:
1190:
1187:
1185:
1182:
1180:
1177:
1175:
1172:
1170:
1167:
1166:
1164:
1160:
1154:
1151:
1149:
1146:
1144:
1141:
1139:
1136:
1134:
1131:
1129:
1126:
1124:
1121:
1119:
1116:
1114:
1111:
1109:
1107:
1103:
1101:
1098:
1096:
1093:
1091:
1088:
1086:
1083:
1081:
1078:
1076:
1073:
1071:
1068:
1066:
1063:
1061:
1058:
1056:
1053:
1051:
1048:
1046:
1043:
1041:
1038:
1036:
1033:
1031:
1028:
1026:
1023:
1021:
1018:
1016:
1013:
1011:
1008:
1006:
1005:Crystal Tools
1003:
1001:
998:
996:
995:Chrome Engine
993:
991:
988:
986:
983:
982:
980:
976:
970:
967:
965:
962:
960:
957:
955:
952:
950:
947:
945:
944:Sim RPG Maker
942:
940:
937:
935:
932:
930:
927:
925:
922:
920:
917:
915:
912:
910:
907:
905:
902:
900:
897:
895:
892:
890:
887:
885:
882:
880:
879:3D GameStudio
877:
876:
874:
870:
864:
861:
859:
856:
854:
851:
849:
846:
845:
843:
839:
836:
834:
830:
824:
821:
819:
816:
814:
811:
809:
806:
802:
799:
798:
797:
794:
790:
787:
786:
785:
782:
780:
777:
776:
773:
768:
764:
757:
752:
750:
745:
743:
738:
737:
734:
725:
724:
712:
705:
702:
697:
691:
677:on 2012-08-04
676:
672:
666:
663:
652:on 2013-10-12
651:
647:
643:
636:
633:
621:
617:
610:
607:
603:
602:
590:on 2015-12-10
589:
585:
578:
575:
563:
556:
553:
541:
534:
531:
527:
524:
519:
516:
512:
511:
498:
494:
488:
485:
482:
478:
473:
470:
467:
463:
458:
455:
452:
448:
443:
440:
429:
425:
419:
416:
410:
406:
403:
402:
398:
387:
382:
380:
378:
374:
373:
368:
367:
362:
358:
354:
353:
348:
344:
340:
337:environment.
336:
332:
328:
324:
317:
315:
313:
312:
307:
303:
299:
293:
289:
281:
279:
277:
273:
272:
267:
266:
261:
260:assembly code
256:
255:dis-assembled
252:
247:
241:
233:
231:
228:
224:
223:
222:Spring Engine
218:
214:
210:
206:
200:
192:
187:
185:
183:
179:
175:
171:
163:
161:
159:
155:
151:
147:
143:
139:
135:
131:
127:
123:
110:
107:
99:
96:November 2015
88:
85:
81:
78:
74:
71:
67:
64:
60:
57: –
56:
52:
51:Find sources:
45:
41:
35:
34:
29:This article
27:
23:
18:
17:
1393:
1385:
1367:
1106:Silent Storm
1105:
1090:Retro Engine
1070:MT Framework
899:Genie Engine
795:
763:Game engines
722:
721:
715:. Retrieved
704:
679:. Retrieved
675:the original
665:
654:. Retrieved
650:the original
635:
624:. Retrieved
620:the original
609:
599:
598:
592:. Retrieved
588:the original
577:
566:. Retrieved
555:
544:. Retrieved
533:
525:
518:
509:
508:
501:. Retrieved
487:
480:
472:
465:
457:
442:
431:. Retrieved
427:
418:
370:
364:
361:source ports
350:
321:
318:Alternatives
309:
306:source ports
295:
269:
264:
245:
243:
220:
202:
167:
121:
120:
102:
93:
83:
76:
69:
62:
50:
38:Please help
33:verification
30:
1442:Game Editor
1321:open-source
1075:PhyreEngine
959:Voxel Space
929:Reality Lab
889:Dark Engine
833:Proprietary
779:Source port
584:"Starcraft"
562:"StarCraft"
523:Source code
497:ScummVM.org
302:source code
288:Source port
227:clock cycle
182:source code
126:game engine
1608:PlayCanvas
1375:Game-Maker
1249:Panta Rhei
1214:Fox Engine
1050:HeroEngine
934:RenderWare
717:2013-04-24
681:2014-03-30
656:2011-01-10
626:2012-12-23
594:2014-03-29
568:2014-03-26
546:2014-03-25
451:github.com
449:openra on
433:2018-08-30
411:References
343:executable
286:See also:
238:See also:
197:See also:
164:Motivation
66:newspapers
1457:id Tech 4
1452:id Tech 3
1401:Stratagus
1336:Z-machine
1300:id Tech 7
1259:RE Engine
1224:id Tech 6
1219:id Tech 5
1189:Construct
1169:4A Engine
1065:Marmalade
1060:Leadwerks
1045:GameSalad
1035:Frostbite
1000:CryEngine
990:C4 Engine
939:RPG Maker
894:GameMaker
884:Clickteam
853:Freescape
848:Filmation
601:approach.
372:Homeworld
352:StarCraft
323:Emulation
258:("pseudo-
234:Bottom up
130:rewritten
1663:Category
1447:GDevelop
1394:Quake II
1380:OHRRPGCE
1319:Free and
1274:Source 2
1264:Snowdrop
1184:Buildbox
1179:Bitsquid
1100:Shark 3D
1040:Gamebryo
1025:Euphoria
914:LithTech
858:Gold Box
813:Game IDE
690:cite web
503:July 14,
383:See also
355:for the
246:Top down
193:Top down
142:textures
1623:Stencyl
1583:Horde3D
1578:GPUOpen
1568:Delta3D
1527:Solar2D
1522:Scratch
1492:Panda3D
1432:Cocos2d
1269:Stencyl
1234:Kynapse
1123:Unigine
1030:Flare3D
904:GoldSrc
823:id Tech
357:Pandora
298:ScummVM
271:OpenTTD
244:Unlike
188:Methods
150:shaders
146:scripts
80:scholar
1628:Stride
1613:Raylib
1598:OpenFL
1588:libGDX
1542:Torque
1517:Ren'Py
1512:Pygame
1502:Plasma
1417:Away3D
1396:engine
1388:engine
1370:engine
1229:Ignite
1204:Defold
1199:Decima
1148:Vision
1113:Source
1108:engine
1010:Diesel
528:(2005)
428:GitHub
335:MS-DOS
327:DOSBox
265:CSBWin
209:OpenRA
154:levels
82:
75:
68:
61:
53:
1637:2020s
1618:Snap!
1573:Godot
1561:2010s
1410:2000s
1386:Quake
1357:Build
1345:1990s
1329:1970s
1293:2020s
1209:Felgo
1162:2010s
1128:Unity
1118:Titan
985:Anvil
978:2000s
919:Mugen
872:1990s
863:SCUMM
841:1980s
138:music
134:clone
87:JSTOR
73:books
1593:Moai
1482:OGRE
1477:Löve
1437:Dim3
1368:Doom
1095:SAGE
1085:RAGE
964:Zero
909:Jedi
801:list
789:list
767:list
696:link
505:2013
290:and
276:MAME
174:bugs
59:news
1603:ORX
1015:Ego
379:).
369:or
347:ARM
268:or
160:).
42:by
1665::
1055:IW
720:.
692:}}
688:{{
644:.
597:.
507:.
495:.
426:.
331:PC
314:.
152:,
148:,
144:,
140:,
1080:Q
769:)
765:(
755:e
748:t
741:v
698:)
684:.
659:.
629:.
571:.
549:.
436:.
333:/
109:)
103:(
98:)
94:(
84:·
77:·
70:·
63:·
36:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.