{"id":688,"date":"2009-09-02T19:11:55","date_gmt":"2009-09-02T09:11:55","guid":{"rendered":"http:\/\/www.vectorstorm.org\/?p=688"},"modified":"2009-09-02T19:20:36","modified_gmt":"2009-09-02T09:20:36","slug":"porting-can-be-fun","status":"publish","type":"post","link":"https:\/\/www.vectorstorm.com.au\/2009\/09\/02\/porting-can-be-fun\/","title":{"rendered":"Porting can be fun"},"content":{"rendered":"

\"DevsMonsters\"<\/a>The neat thing about porting game logic from one system to another is that you get a lot of game functionality for very little development time. \u00a0For example, today I managed to squeeze Developers, Monsters, and Quests into MMORPG Tycoon 2, simply by porting them over from the MMORPG Tycoon 1 systems to the maturing MMORPG Tycoon 2 systems. \u00a0Most of the work involved integrating “Regions” into the code, and converting the old 2D positions and velocities into the new 3D positions and velocities.<\/p>\n

And since I was just adapting existing code to a new home, rather than designing and writing it from scratch, a lot of functionality went in very quickly today. \u00a0You can now place Quest-Givers (which those who tested MMORPG Tycoon 1.1 will be quite familiar with), each of which creates five quests within the region, each of which can result in monster placements. \u00a0Developers rush around the world, entering and exiting via graveyards, activating buildings and placing monsters. \u00a0(In this screenshot, the little red cubes represent monsters; \u00a0they’re in the process of being dragged across the region to their quest zone. \u00a0My cursor is the white one, the blue ones belong to my AI-driven developer employees)<\/p>\n

Sorry for the dull terrain in this screenshot; \u00a0the quests are currently entirely randomly generated, and so I couldn’t choose where to put the monsters, and I had to race to keep up with the AI developers and try to get a shot before they’d finished placing the monsters.<\/p>\n

Theoretically I’ve also ported and re-enabled the player-monster combat code, but I haven’t actually tested that yet; \u00a0I’m sure that there’ll be a few bugs in it, particularly as I haven’t hooked up anything to set a correct combat level on the monsters yet!<\/p>\n

Anyhow, the last big things left on the “get the game as playable as MMORPG Tycoon 1.1 was” list now are to test player-enemy combat, to implement roads, and to hook up the UI (there are still big functional bits of UI which are missing; \u00a0particularly something to tell you how much cash you have, and controls for speeding and slowing the passage of time). \u00a0And finally, I’ll need some sort of zoomed-out map functionality. \u00a0 With all that, I should finally be back at approximately the state where MMORPG Tycoon version 1.1 was at, before I stopped development on that and moved to a 3D world.<\/p>\n

Making stuff pretty, of course, is lower priority; \u00a0I won’t be spending a lot of time on that until after getting the basics of the game in place. \u00a0So I’m going to have to get used to looking at those blue and red cubes for the characters and monsters. \u00a0;)<\/p>\n","protected":false},"excerpt":{"rendered":"

The neat thing about porting game logic from one system to another is that you get a lot of game functionality for very little development time. \u00a0For example, today I managed to squeeze Developers, Monsters, and Quests into MMORPG Tycoon 2, simply by porting them over from the MMORPG Tycoon 1 systems to the maturing…<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[24,25],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/po9WK-b6","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/688"}],"collection":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/comments?post=688"}],"version-history":[{"count":0,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/688\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=688"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=688"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}