{"id":94,"date":"2013-10-11T08:57:53","date_gmt":"2013-10-11T08:57:53","guid":{"rendered":"http:\/\/blog.restemeier.com\/?p=94"},"modified":"2014-10-26T09:19:22","modified_gmt":"2014-10-26T09:19:22","slug":"r-u-b-e-as-level-editor","status":"publish","type":"post","link":"http:\/\/blog.restemeier.com\/?p=94","title":{"rendered":"R.U.B.E as Level Editor"},"content":{"rendered":"<p><a href=\"https:\/\/www.iforce2d.net\/rube\/\">R.U.B.E<\/a> is an editor designed to edit scenes for the <a href=\"http:\/\/box2d.org\/about\/\">Box2D <\/a>physics engine, but it is flexible enough for general level editing. So this is a <a href=\"http:\/\/pingus.seul.org\/\">Pingus<\/a> level in R.U.B.E:<\/p>\n<div id=\"attachment_137\" style=\"width: 310px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.restemeier.com\/wp-content\/uploads\/2013\/10\/pingus-rube1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-137\" class=\"size-medium wp-image-137\" alt=\"pingus-rube\" src=\"http:\/\/blog.restemeier.com\/wp-content\/uploads\/2013\/10\/pingus-rube1-300x164.png\" width=\"300\" height=\"164\" srcset=\"http:\/\/blog.restemeier.com\/wp-content\/uploads\/2013\/10\/pingus-rube1-300x164.png 300w, http:\/\/blog.restemeier.com\/wp-content\/uploads\/2013\/10\/pingus-rube1-1024x560.png 1024w, http:\/\/blog.restemeier.com\/wp-content\/uploads\/2013\/10\/pingus-rube1-624x341.png 624w, http:\/\/blog.restemeier.com\/wp-content\/uploads\/2013\/10\/pingus-rube1.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-137\" class=\"wp-caption-text\">Pingus in R.U.B.E<\/p><\/div>\n<p>R.U.B.E is very fast, but feels very low level. I don&#8217;t like that editing different elements requires mode switches and that some functionality is only bound to keyboard shortcuts, but that probably makes it very fast to use once you&#8217;ve learned them. Some of the editing keys feel familiar from Blender, so a Blender user may be at an advantage.\u00a0R.U.B.E embeds\u00a0<a href=\"http:\/\/www.angelcode.com\/angelscript\/\">AngelScript<\/a>\u00a0as a scripting language to extend and customise the editor.<\/p>\n<p>It would be useful to be able to organise a scene into different layers. Similar to Inkscape I am missing some kind of library to store reusable gameplay elements, but this could probably be implemented using the scripting language.<\/p>\n<p>The file format is designed around the Box2D runtime, but with a bit of work it is possible to use it in a different engine. It is a\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Json\">JSON <\/a>document that can be easily accessed from many programming languages.<\/p>\n<p><em>Update: For some reason the spambots like this post, so I disabled comment posting. Sorry about that!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>R.U.B.E is an editor designed to edit scenes for the Box2D physics engine, but it is flexible enough for general level editing. So this is a Pingus level in R.U.B.E: R.U.B.E is very fast, but feels very low level. I don&#8217;t like that editing different elements requires mode switches and that some functionality is only [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,9],"tags":[],"class_list":["post-94","post","type-post","status-publish","format-standard","hentry","category-level-editing","category-r-u-b-e"],"_links":{"self":[{"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=\/wp\/v2\/posts\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=94"}],"version-history":[{"count":17,"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":203,"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=\/wp\/v2\/posts\/94\/revisions\/203"}],"wp:attachment":[{"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.restemeier.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}