{"id":14,"date":"2019-05-31T20:26:53","date_gmt":"2019-05-31T20:26:53","guid":{"rendered":"https:\/\/blogs.scummvm.org\/vyzigold\/?p=14"},"modified":"2022-05-23T20:27:24","modified_gmt":"2022-05-23T20:27:24","slug":"supernova2-engine-after-the-first-week","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/vyzigold\/2019\/05\/31\/supernova2-engine-after-the-first-week\/","title":{"rendered":"Supernova2 engine after the first week"},"content":{"rendered":"<p>Hello reader, it has been more than a week since my last post and I have the first week of work done.The plan for this week was to create a tool to generate English translation, make a basic engine and make ScummVM assign the Mission Supernova 2 game to that engine.<\/p>\n<div><\/div>\n<p>When I made the schedule for this Google Summer of Code, I planed to use the engine for the first game as a template. I knew the games are quite similar, but I thought I would still have to change quite a lot of the methods and accordingly to that I made the schedule. So far it looks like I quite misjudged the similarities of the games. I started slowly, copying from the first engine only the really essential parts. Then I was carefully as I needed them adding more and more methods with just some little adjustments until I basically ended up with almost identical engine except for the really specific parts (rooms, objects, &#8230;). I guess that if I started by copying the whole first engine and deleting what isn&#8217;t needed for the second game or reimplementing what&#8217;s different, I would get pretty similar result after less time and a lot less work.<\/p>\n<p>The initial schedule was:<\/p>\n<ul>\n<li>\n<div><u>Week 1<\/u>:<\/div>\n<ul>\n<li>\n<div>Make tool to generate Supernova2.dat with translated strings and images<\/div>\n<\/li>\n<li>\n<div>Make ScummVM correctly detect MS2 game and assign it to Supernova 2 engine<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<div><u>Week 2<\/u>:<\/div>\n<ul>\n<li>\n<div>Implement loading of game files and strings from Supernova2.dat into memory<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<div><u>Week 3<\/u>:<\/div>\n<ul>\n<li>\n<div>Start working on the intro animation<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<div><u>Week 4<\/u>:<\/div>\n<ul>\n<li>\n<div>Finish the intro animation<\/div>\n<\/li>\n<li>\n<div>Start working on rendering the first room<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><u>Week 5<\/u>:\n<ul>\n<li>Finish rendering the first room<\/li>\n<li>Add inventory, commands and exit map to the screen<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<div><u>Week 6:<\/u><\/div>\n<ul>\n<li>\n<div>Implement user event handling<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><u>Week\u00a0<\/u><u>7<\/u>:\n<ul>\n<li>Implement the logic behind commands, exit map and inventory<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><u>Week\u00a0<\/u><u>8<\/u>:\n<ul>\n<li>Implement Save\/Load feature<\/li>\n<li>Start adding the rest of the rooms<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<div><u>Week 9<\/u>:<\/div>\n<ul>\n<li>\n<div>Finish adding the rooms<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><u>Week 10<\/u>:\n<ul>\n<li>Add the outro animation<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><u>Week\u00a0<\/u><u>11<\/u>:\n<ul>\n<li>Add sound<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li>\n<div><u>Week 12<\/u>:<\/div>\n<ul>\n<li>\n<div>Fix bugs<\/div>\n<\/li>\n<li>\n<div>Room to spare<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The schedule didn&#8217;t work quite as planed, since in the first week, I basically completed the first 8 weeks. I started adding the rest of the rooms and right now I am at 4 rooms out of 71.<\/p>\n<div><\/div>\n<div>For the next week I plan to continue adding the rest of the rooms.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello reader, it has been more than a week since my last post and I have the first week of work done.The plan for this week was to create a tool to generate English translation, make a basic engine and make ScummVM assign the Mission Supernova 2 game to that engine. When I made the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts\/14\/revisions\/15"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}