tag:blogger.com,1999:blog-32025758484227805402024-03-21T20:02:47.366-07:00Dejeweled Development Blogaxchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-3202575848422780540.post-43464995054239926152009-11-24T17:55:00.000-08:002009-11-24T19:53:44.542-08:00Engine Prototype 05<div style="text-align: center;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"><param name="movie" value="http://www.deviantart.com/download/144687341/Engine_Prototype_05_by_axcho.swf"><embed src="http://www.deviantart.com/download/144687341/Engine_Prototype_05_by_axcho.swf" type="application/x-shockwave-flash" width="400" height="300"></embed></object><br /><span style="font-size:78%;"><a href="http://axcho.deviantart.com/art/Engine-Prototype-05-144687341">Full View</a></span><br /></div><br />This is my fifth prototype of the <a href="http://dejeweled.blogspot.com/search/label/Engine%20Info">Dejeweled physics engine</a>. The engine now supports collisions between circles and capsules. This version is simple, with an inefficient method of finding colliding pairs. And objects can pass through each other if they are traveling too fast. But that will all change soon.<br /><br />This ragdoll is just like the one from <a href="http://dejeweled.blogspot.com/2009/02/engine-prototype-01.html">Engine Prototype 01</a>, but with a ball to play with. Objects can actually collide now! :D Nifty, eh?<br /><br />Click the window to start. Then use the arrow keys to move the stick figure around. You can also click and drag the mouse to move the ball, too.<br /><br /><b>left</b> - rotate left<br /><b>right</b> - rotate right<br /><b>up</b> - raise arms<br /><b>down</b> - spread legs<br /><br />For slow motion, hold down the space bar. Click the meters to adjust the physics settings.<br /><br />Let me know if you find anything interesting. ;)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com4tag:blogger.com,1999:blog-3202575848422780540.post-47476427174157245492009-11-20T13:10:00.001-08:002009-11-20T13:40:41.693-08:00Engine Screen 05<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXK6YF9n4pf2HE92ATzBglazEfMefQFG87ikUeEtKCXr0qxh9K5IAFPIokJDmCY_nKDISBS81oqxstlD0k5mhEk3DtZ0Xn_jyS1tHGb4DfsxVRtOAqpLCNBy-rUrCGtkFJZ_06m2KdZms/s1600/engine_screen_05.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXK6YF9n4pf2HE92ATzBglazEfMefQFG87ikUeEtKCXr0qxh9K5IAFPIokJDmCY_nKDISBS81oqxstlD0k5mhEk3DtZ0Xn_jyS1tHGb4DfsxVRtOAqpLCNBy-rUrCGtkFJZ_06m2KdZms/s400/engine_screen_05.png" alt="" id="BLOGGER_PHOTO_ID_5406296317485849938" border="0" /></a>Finally, some real progress! :)<br /><br />I've started adding collision detection to the engine. Collision detection is harder than I expected, but not <span style="font-style: italic;">too</span> hard.<br /><br />So far I've implemented simple circle collisions and capsule collisions, which you can see in the screen shot above. But there's still a long way to go. I still have to take into account the effect of friction and restitution forces. I also have to make sure objects don't pass through each other when they are going really fast, which is probably the biggest problem at this point.<br /><br />And then of course there's the issue of efficiency. Right now the engine is using a simple brute-force approach to find colliding objects, but that's going to be really slow with a hundred objects on the screen at once. I'm planning on using the <a href="http://wonderwhy-er.deviantart.com/art/Colission-Study-V3-1-99018669">Sweep and Prune</a> algorithm to speed that up.<br /><br />I'll post the next prototype soon. It's already fun to play with. :)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-71835811653599201182009-09-24T16:00:00.000-07:002009-09-25T14:17:10.045-07:00Engine Prototype 04<div style="text-align: center;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"><param name="movie" value="http://www.deviantart.com/download/138122708/Engine_Prototype_04_by_axcho.swf"><embed src="http://www.deviantart.com/download/138122708/Engine_Prototype_04_by_axcho.swf" type="application/x-shockwave-flash" width="400" height="300"></embed></object><br /><span style="font-size:78%;"><a href="http://axcho.deviantart.com/art/Engine-Prototype-04-138122708">Full View</a></span><br /></div><br />This is my fourth prototype of the <a href="http://dejeweled.blogspot.com/search/label/Engine%20Info">Dejeweled physics engine</a>. The engine still supports rod, pin, and door constraints, both rigid and springy, but this prototype only makes use of rods and pins.<br /><br />But there's a lot that you can do with rods and pins. This is an experiment for an interface, to create interesting structures with the mouse. The final game might not use the same interface, but it will probably be similar.<br /><br />Click the window to start. Then click and drag the mouse to draw and move objects. You can create rods, pin rods to the background, move them, connect them, and delete them.<br /><br /><b>click and drag</b> - create rod<br /><b>click on a rod</b> - create pin<br /><b>drag rod or pin</b> - move rod or pin<br /><b>drag off screen</b> - delete rod or pin<br /><b>drag rod onto rod</b> - connect two rods<br /><br />To pause the simulation, hold down the space bar. Click the meters to adjust the physics settings. The "speed" setting will let you manually adjust the amount of slow motion.<br /><br />Let me know if you find anything interesting. ;)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-57055614810054574832009-09-23T18:56:00.000-07:002009-09-23T19:05:56.038-07:00Engine Screen 04<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0IuHPk0Jw2AXTpIrV8PBtu2HM5g8pPki8QtIIWhHwg7pTDHppeF5aRw8xP3_2P9FxCInnxK5nWi1qEevk91fZlcaYZvmtI2l7yO6FqAIHNHrZYvfTtDmJLm60yIOrdw1GodnbL1oLUpo/s1600-h/engine_screen_04.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0IuHPk0Jw2AXTpIrV8PBtu2HM5g8pPki8QtIIWhHwg7pTDHppeF5aRw8xP3_2P9FxCInnxK5nWi1qEevk91fZlcaYZvmtI2l7yO6FqAIHNHrZYvfTtDmJLm60yIOrdw1GodnbL1oLUpo/s400/engine_screen_04.png" alt="" id="BLOGGER_PHOTO_ID_5384847753198729026" border="0" /></a>Last time I said you could expect an update every week. I may have to revise that. Maybe not <span style="font-style: italic;">every</span> week. But often enough. :)<br /><br />I've been working on the next engine prototype, and there's a lot of new stuff along with it. The physics code hasn't changed, but the interface is entirely different.<br /><br />Instead of a ragdoll to move around, you get to draw lines with the mouse, and move them around and connect them together. What I'm working on now is the ability to pin them to the background so you can make more interesting structures.<br /><br />Check back soon for the finished prototype!axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-53996110468657152022009-09-03T19:07:00.000-07:002009-09-25T14:19:59.485-07:00Engine Prototype 03<div style="text-align: center;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"><param name="movie" value="http://www.deviantart.com/download/135809126/Engine_Prototype_03_by_axcho.swf"><embed src="http://www.deviantart.com/download/135809126/Engine_Prototype_03_by_axcho.swf" type="application/x-shockwave-flash" width="400" height="300"></embed></object><br /><span style="font-size:78%;"><a href="http://axcho.deviantart.com/art/Engine-Prototype-03-135809126">Full View</a></span><br /></div><br />This is my third prototype of the <a href="http://dejeweled.blogspot.com/search/label/Engine%20Info">Dejeweled physics engine</a>. Now the engine supports rod, pin, and door constraints, in two flavors: rigid and springy. And believe me, those springy door constraints weren't easy to make. :p<br /><br />This ragdoll is just like the one from <a href="http://dejeweled.blogspot.com/2009/06/engine-prototype-02.html">Engine Prototype 02</a>, with a staff instead of a sword. The new door constraints let the ragdoll hold the staff at a certain angle, instead of just spinning freely.<br /><br />Click the window to start. Then use the arrow keys to move the stick figure around.<br /><br /><b>left</b> - rotate left<br /><b>right</b> - rotate right<br /><b>up</b> - raise arms<br /><b>down</b> - spread legs<br /><br />For slow motion, hold down the space bar. Click the meters to adjust the physics settings.<br /><br />Let me know if you find anything interesting. ;)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-13747385685493776922009-09-03T12:25:00.001-07:002009-09-03T12:50:53.113-07:00Engine Screen 03<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_P6-wnUSYkpeIgJAEYa5-LkJIzshRHj8akyGuG7HpybvfhM2535VblBKcScUwxwaICFB9ZFRJRoLhcq6rRlsJeGM0w-SOXs7uv1_weiWeAfKWybibk92yRtHGxa3zHeHuDSfzvvaSCQ/s1600-h/engine_screen_03.PNG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_P6-wnUSYkpeIgJAEYa5-LkJIzshRHj8akyGuG7HpybvfhM2535VblBKcScUwxwaICFB9ZFRJRoLhcq6rRlsJeGM0w-SOXs7uv1_weiWeAfKWybibk92yRtHGxa3zHeHuDSfzvvaSCQ/s400/engine_screen_03.PNG" alt="" id="BLOGGER_PHOTO_ID_5377324888879718034" border="0" /></a>I've had to put this project on hold for a while, but now I'm back. I'm <a href="http://evolutionlive.blogspot.com/2009/09/going-indie.html">going indie</a>, and Dejeweled is the big, ambitious project I'm working up to. You can expect to see a new update every week or so.<br /><br />I've been working on door constraints - angular constraints based on a dot product instead of an angle. The ragdoll has a staff. And a door constraint is what's keeping it from spinning around in the ragdoll's hands. It works pretty well.<br /><br />But what I really want is to make the staff rotate in a sort of bouncy, springy way. And I've been having a lot of trouble getting that to happen. It just spazzes out no matter what I try, which means that my math is wrong. This vector calculus has been kicking me in the head, repeatedly, for several hours straight.<br /><br />But I'll figure it out. And I'll release the next engine prototype with an excellently springy and responsive staff. And of course, this will all happen by tomorrow. I hope. :)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-16931189550011827542009-06-23T23:02:00.000-07:002009-06-23T23:18:49.001-07:00Engine Prototype 02<div style="text-align: center;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"><param name="movie" value="http://www.deviantart.com/download/127037450/Engine_Prototype_02_by_axcho.swf"><embed src="http://www.deviantart.com/download/127037450/Engine_Prototype_02_by_axcho.swf" type="application/x-shockwave-flash" width="400" height="300"></embed></object><br /><span style="font-size:78%;"><a href="http://axcho.deviantart.com/art/Engine-Prototype-02-127037450">Full View</a></span><br /></div><br />This is my second prototype of the <a href="http://dejeweled.blogspot.com/search/label/Engine%20Info">Dejeweled physics engine</a>. Now the engine supports both rod constraints and pin constraints, in two flavors: rigid and springy.<br /><br />This ragdoll is just like the one from <a href="http://dejeweled.blogspot.com/2009/02/engine-prototype-01.html">Engine Prototype 01</a>, except now it has a sword! With pin constraints, the ragdoll can grab any point along the weapon, not just the ends. This opens up a lot of possibilities, as you'll see in the next few prototypes.<br /><br />Click the window to start. Then use the arrow keys to move the stick figure around.<br /><br /><b>left</b> - rotate left<br /><b>right</b> - rotate right<br /><b>up</b> - raise arms<br /><b>down</b> - spread legs<br /><br />For slow motion, hold down the space bar. Click the meters to adjust the physics settings.<br /><br />Let me know if you find anything interesting. ;)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com4tag:blogger.com,1999:blog-3202575848422780540.post-728041780057490322009-06-22T23:30:00.000-07:002009-06-23T00:01:23.955-07:00Engine Screen 02<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBjNX-ug7QWJCNQcCU7me2EkwJfOTFtI-w8krUL8IbIIN_bjaEOjjuSlLkwvQs2r5zQYp5FbgzUCMPAy2E0AD71TgOEh6qOljSt5s-jgugDfaENoTEC8mUjrXsxsmLARkBuajD7Wp9goE/s1600-h/engine_screen_02.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBjNX-ug7QWJCNQcCU7me2EkwJfOTFtI-w8krUL8IbIIN_bjaEOjjuSlLkwvQs2r5zQYp5FbgzUCMPAy2E0AD71TgOEh6qOljSt5s-jgugDfaENoTEC8mUjrXsxsmLARkBuajD7Wp9goE/s400/engine_screen_02.png" alt="" id="BLOGGER_PHOTO_ID_5350410673165088770" border="0" /></a>It has been several months since the last update. I'm sorry.<br /><br />Here's a screen shot of what I've just been working on. Now the ragdoll has a sword! Fun. The real point, though, is that the sword is connected to the ragdoll with a pin constraint. Notice how the ragdoll grabs the sword not at the very end, but part of the way up the hilt. That's because of pin constraints. Nifty!<br /><br />It's a small update, but I could go ahead and release a new engine prototype with this sword-wielding ragdoll. Would you like that?axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-32079890441739700312009-02-19T13:00:00.000-08:002009-02-19T13:25:38.223-08:00Engine Prototype 01<div style="text-align: center;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"><param name="movie" value="http://www.deviantart.com/download/113456171/Engine_Prototype_01_by_axcho.swf"><embed src="http://www.deviantart.com/download/113456171/Engine_Prototype_01_by_axcho.swf" type="application/x-shockwave-flash" width="400" height="300"></embed></object><br /><span style="font-size:78%;"><a href="http://axcho.deviantart.com/art/Engine-Prototype-01-113456171">Full View</a></span><br /></div><br />This is my first prototype of the <a href="http://dejeweled.blogspot.com/search/label/Engine%20Info">Dejeweled physics engine</a>. So far the engine supports simple rod constraints in two flavors: rigid and springy. Next up are pin constraints.<br /><br />The ragdoll here is a slightly modified version of the one from my earlier <a href="http://axcho.deviantart.com/art/Ragdoll-Control-Prototype-81051752">Ragdoll Control Prototype</a>, with a new physics engine and some shiny new graphics in the <a href="http://dejeweled.blogspot.com/2009/02/inspiration-series-01.html">Dejeweled style</a>.<br /><br />Click the window to start. Then use the arrow keys to move the stick figure around.<br /><br /><b>left</b> - rotate left<br /><b>right</b> - rotate right<br /><b>up</b> - raise arms<br /><b>down</b> - spread legs<br /><br />For slow motion, hold down the space bar. Click the meters to adjust the physics settings.<br /><br />Let me know if you find anything interesting. ;)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com1tag:blogger.com,1999:blog-3202575848422780540.post-31494812515628081462009-02-08T14:30:00.001-08:002009-02-08T14:51:59.384-08:00Engine Screen 01<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhahP1yTx-ZNZc66CjqQF9lB1nEm6On1k_SVbUzlBTg66UD4a4g78XpEgpRYviy1U48xUJ0O2RwVs2U1iPyjTNb3_hF7f8H0_QfeVs2abKaZZUpjQpZpufU32iFm5UyGrsnjrlZM065hz4/s1600-h/engine_screen_01.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhahP1yTx-ZNZc66CjqQF9lB1nEm6On1k_SVbUzlBTg66UD4a4g78XpEgpRYviy1U48xUJ0O2RwVs2U1iPyjTNb3_hF7f8H0_QfeVs2abKaZZUpjQpZpufU32iFm5UyGrsnjrlZM065hz4/s400/engine_screen_01.png" alt="" id="BLOGGER_PHOTO_ID_5300557706370636322" border="0" /></a>Here's a quick screen shot of what I've been working on. I've just refitted my old <a href="http://axcho.deviantart.com/art/Ragdoll-Control-Prototype-81051752">Ragdoll Control Prototype</a> with a shiny new physics engine, the <a href="http://dejeweled.blogspot.com/search/label/Engine%20Info">Dejeweled Engine</a>. So far I've got both rigid and springy rods working, as well as some decent slow motion. Next up are pin constraints, and then collisions.<br /><br />As you can see in the picture, I've been playing with some graphical effects. There's a white inner glow on the ragdoll body, some glow on the blue lines, and a sort of reflection or shadow below. I'm trying to get it to feel more like a 3D figure in an endless white field, rather than of a 2D bunch of lines on a computer screen. Not sure if any of this will end up in the final game, but for now I'm just playing around. It's fun. :)<br /><br />Once I add pin constraints and make the physics settings adjustable, I'll release the prototype here.axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-83505332237877924062009-02-04T23:30:00.000-08:002009-02-04T23:48:16.410-08:00Inspiration Series 02In my <a href="http://dejeweled.blogspot.com/2009/02/inspiration-series-01.html">last post</a>, I mentioned that <span style="font-style: italic;">Dejeweled is about carving out your own reality from a blinding white field of full-spectrum light, all possibilities at once</span>.<br /><br />This image, from the upcoming LEGO Universe MMO, is a perfect example. These construction workers are not building a universe out of dark nothingness, they are carving a universe out of the infinite potential of the fresh, white page. They are removing, paring down possibilities, until something tangible can remain.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSd1h4mCUXNLLW6MAkmAVlDnmFj-pzfJ6ylFRSUuyM_ZHX2X-OFkiOCo6BZRbWjiWV1y2onJ4Lctishtf5zHy2mpflDuBQ_mbRJ9CxOQB_Xg9EfhkKbbPUFQejIY_Jk8SurPfj7p3PJl0/s1600-h/lego.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 307px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSd1h4mCUXNLLW6MAkmAVlDnmFj-pzfJ6ylFRSUuyM_ZHX2X-OFkiOCo6BZRbWjiWV1y2onJ4Lctishtf5zHy2mpflDuBQ_mbRJ9CxOQB_Xg9EfhkKbbPUFQejIY_Jk8SurPfj7p3PJl0/s400/lego.jpg" alt="" id="BLOGGER_PHOTO_ID_5299214249044083314" border="0" /></a><br />I love this picture.axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-10651361967198658582009-02-01T20:40:00.000-08:002009-02-01T22:06:56.814-08:00Inspiration Series 01Dejeweled is about carving out your own reality from a blinding white field of full-spectrum light, all possibilities at once. That's the feel I want to convey in the art style. You create by subtraction, by taking away, by defining constraints. Like layers of ink on a blank page. The opposite approach would be additive, building up a universe one spark at a time from the cold, infinitely black void, or a cursor blinking on a dark computer screen, waiting for your first command. That's not Dejeweled. Dejeweled is white, bright, light, sliced into actuality.<br /><br />I originally got this from <span style="font-style:italic;">The Matrix</span>. Here are a few more examples I've found.<br /><br /><div style="text-align: center;">Click the images for the full-size originals.<br /><br /><a href="http://try-to-touch.deviantart.com/art/the-noise-of-a-broken-glass-47516557"><img src="http://th07.deviantart.com/fs15/300W/f/2007/027/7/5/the_noise_of_a_broken_glass____by_try_to_touch.jpg" alt="the noise of a broken glass..." /></a><br /><br /><a href="http://try-to-touch.deviantart.com/art/white-on-white-101486022"><img src="http://th06.deviantart.com/fs35/300W/i/2008/296/e/b/white_on_white_by_try_to_touch.jpg" alt="white on white" /></a><br /><br /><a href="http://reginaldbull.deviantart.com/art/walk-the-duck-109282466"><img src="http://th05.deviantart.com/fs40/300W/f/2009/012/5/7/walk_the_duck_by_ReginaldBull.jpg" alt="walk the duck" /></a><br /><br /><a href="http://kotagiri.deviantart.com/art/Structure-2-77202747"><img src="http://th00.deviantart.com/fs26/300W/i/2008/043/a/2/Structure_2_by_kotagiri.jpg" alt="Structure 2" /></a><br /><br /><a href="http://killearnith.deviantart.com/art/White-Shadows-102684590"><img src="http://th00.deviantart.com/fs33/300W/f/2008/309/b/2/White_Shadows_by_Killearnith.jpg" alt="White Shadows" /></a><br /><br /><a href="http://dachimas.deviantart.com/art/To-the-End-of-the-Earth-77817459"><img src="http://th04.deviantart.com/fs29/300W/f/2008/050/b/7/b790a610ce5d4986.jpg" alt="To the End of the Earth" /></a><br /></div><br />I hope to make Dejeweled feel like this.<br /><br /><a href="http://theemptywhiteroom.deviantart.com/art/Why-I-Just-Do-White-58088386">Why I Just Do White...</a><br /><a href="http://mechtiger.deviantart.com/art/SL-Portal-Collab-Entry-83184885">SL Portal Collab Entry</a><br /><a href="http://ivorydrive.deviantart.com/art/sail-to-the-moon-22874553">sail to the moon</a><br /><a href="http://lolita-art.deviantart.com/art/cyber-pepper-78726528">cyber pepper</a>axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-75197619457498459502009-01-23T11:25:00.000-08:002009-01-23T14:15:37.513-08:00Frequently Asked Questions<span style="font-weight: bold;"><br /><span style="font-size:130%;">"Is the game done yet?"</span></span><br /><br />No. When it's done, we'll tell you.<br /><span style="font-size:130%;"><br /></span><span style="font-weight: bold;font-size:130%;" >"When will the game be released?"</span><br /><br />We don't know yet. We're developing Dejeweled in our meager free time alongside work and school, so it's hard to come up with a definite development schedule. Until we get further along, the best we can say at this point is that it's probably going to take a while. In the meantime, you can subscribe to <a href="http://dejeweled.blogspot.com/feeds/posts/default">our blog feed</a> for the latest updates on our progress.<br /><br /><span style="font-weight: bold;font-size:130%;" >"Will the game be free to play?"</span><br /><br />Yes. Dejeweled will be a free Flash game, just like all the other free Flash games on the web. We'll be putting up a donate button once the game is released in case you want to support the project directly. If the opportunity arises, we may also incorporate special game items that you can buy with real money. But we'll see.axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-84670377532398117492009-01-23T10:01:00.000-08:002010-04-02T13:08:44.637-07:00Introducing... Dejeweled!Welcome to the <span style="font-weight: bold;">Dejeweled Development Blog</span>! This is where we'll be posting all official information about the upcoming game <span style="font-weight: bold;">Dejeweled</span>.<br /><br /><span style="font-weight: bold;font-size:130%;" >About the Game</span><br /><br /><span style="font-weight: bold;">Dejeweled</span> will be a Flash game available to play on the web for free. It will be a physics-based building game, where you construct elaborate contraptions in order to brutally extract jewels from the bodies of defenseless ragdolls. Hence the name, De<span style="font-style: italic;">jewel</span>ed.<br /><br />The business model for funding the project is as of yet undecided. However, it will be definitely be free to play. Most likely, ads will be embedded into the web page the game sits in, or directly into the loading screen through MochiAds. This revenue may be supplemented with non-exclusive licenses to specific game sites such as Miniclip.<br /><br /><span style="font-weight: bold;font-size:130%;" >About the Team</span><br /><br />The current development team consists of <a href="http://evolutionlive.blogspot.com/"><b>axcho</b></a> (design and coding) and <a href="http://www.stickpageportal.com/forums/member.php?u=3089"><span style="font-weight: bold;">Prospect</span></a> (design and music).<br /><br />The idea for the game was first <a href="http://forums.stickpage.com/showthread.php?731-What-would-you-want-to-do-with-a-ragdoll&p=39186&viewfull=1#post39186">brought forth</a> by Prospect in June of 2007. Since then, the design has slowly solidified with <a href="http://forums.stickpage.com/showthread.php?735-Horribly-Violent-Ragdoll-Killing-Game-in-Progress">the help</a> of the Stick Page Portal community. Originally we had planned to really <a href="http://forums.stickpage.com/showthread.php?1160-Dejeweled-Development-Thread">get going</a> in 2008, but life happened, and this didn't. Now it's 2009, and we think we might actually have a chance of getting somewhere.<br /><br />So, as we crank out the concept art and experimental prototypes, we'll be presenting them here, on this blog, for your enjoyment and critique. Stay tuned.<br /><br />There are currently no estimates as to the completion date of this project. We will see how it evolves. :)axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-47644630732970443972008-07-20T00:00:00.000-07:002009-01-23T23:55:18.655-08:00Dejeweled Engine constraint functionsToday I dusted off my calculus hat and got to work on the math behind the Dejeweled physics engine (specifically the projection gradient functions for the constraint solver).<br /><br />If you're curious, the physics engine I'm working on is based on the approach described in <a href="http://www.matthiasmueller.info/publications/posBasedDyn.pdf">Position Based Dynamics</a> (excellent paper), which provides an algorithm for simulating particle physics with any sort of constraint you can imagine. You just need to do a bit of vector calculus first. :)<br /><br />Here's what I've come up with: (may contain errors)<br /><br /><span style="font-weight: bold;">Notation Notes!</span><ul><li> Uppercase letters are vectors, lowercase letters are scalars</li><li> | V | = length of vector V</li><li> U . V = dot product of vectors U and V</li></ul><br /><span style="font-weight: bold;">Rod Constraint (P1, P2, d)</span><br />a simple rod of distance <span style="font-weight: bold;">d</span> with endpoints <span style="font-weight: bold;">P1</span> and <span style="font-weight: bold;">P2</span><ul><li>Constraint function C = | P1 - P2 | - d</li><li>Gradient function <span style="font-size:78%;">P1</span>C = ( P1 - P2 ) / | P1 - P2 |</li><li>Gradient function <span style="font-size:78%;">P2</span>C = ( P2 - P1 ) / | P1 - P2 |</li></ul><br /><span style="font-weight: bold;">Pin Constraint (P0, P1, P2, f, d)</span><br />a connection of distance <span style="font-weight: bold;">d</span> between pin P0 and the point Pf at fraction <span style="font-weight: bold;">f</span> along the line from point <span style="font-weight: bold;">P1</span> to <span style="font-weight: bold;">P2</span><ul><li>Intermediate point Pf = (1-f)P1 + (f)P2</li><li>Constraint function C = | P0 - Pf | - d</li><li>Gradient function <span style="font-size:78%;">P0</span>C = ( P0 - Pf ) / | P0 - Pf |</li><li>Gradient function <span style="font-size:78%;">P1</span>C = (f-1)( P0 - Pf ) / | P0 - Pf |</li><li>Gradient function <span style="font-size:78%;">P2</span>C = (-f)( P0 - Pf ) / | P0 - Pf |</li></ul><br /><span style="font-weight: bold;">Wall Constraint (P0, P1, N, d)</span><br />a separation of distance <span style="font-weight: bold;">d</span> between point <span style="font-weight: bold;">P0</span> and the surface of a wall at point <span style="font-weight: bold;">P1</span> with surface normal <span style="font-weight: bold;">N</span><ul><li>Constraint function C = ( P0 - Pf ) . N - d</li><li>Gradient function <span style="font-size:78%;">P0</span>C = N</li><li>Gradient function <span style="font-size:78%;">P1</span>C = -N</li></ul><br /><span style="font-weight: bold;">Door Constraint (P0, P1, P2, d)</span><br />a hinge centered on point <span style="font-weight: bold;">P0</span> between endpoints <span style="font-weight: bold;">P1</span> and <span style="font-weight: bold;">P2</span> at an angle corresponding to dot product <span style="font-weight: bold;">d</span><ul><li>Constraint function C = ( P0 - P1 ) . ( P0 - P2 ) - d</li><li>Gradient function <span style="font-size:78%;">P0</span>C = ( P0 - P1 ) + ( P0 - P2 )</li><li>Gradient function <span style="font-size:78%;">P1</span>C = ( P2 - P0 )</li><li>Gradient function <span style="font-size:78%;">P2</span>C = ( P1 - P0 )</li></ul><br />Those four constraint types should be plenty, at least for now.axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-2007946749977529502008-01-26T00:00:00.000-08:002009-01-23T23:32:03.243-08:00Engine Concept 01<div style="text-align: center;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"><param name="movie" value="http://www.deviantart.com/download/107912704/Engine_Concept_01_by_axcho.swf"><embed src="http://www.deviantart.com/download/107912704/Engine_Concept_01_by_axcho.swf" type="application/x-shockwave-flash" width="400" height="300"></embed></object><br /><span style="font-size:78%;"><a href="http://axcho.deviantart.com/art/Engine-Concept-01-107912704">Full View</a></span><br /></div><br />This is a description of the physics engine I intend to use for the first prototype of the building editor. There are three basic types of objects: Rods, Pins, and... other stuff. Don't mind the glowy highlights on everything, I'm just testing out the style.axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-66314455391672164262007-12-30T00:00:00.001-08:002009-01-23T23:03:06.138-08:00Color Concept 01<div style="text-align: center;"><a href="http://axcho.deviantart.com/art/Color-Concept-01-107911388"><img style="width: 400px; height: 300px;" src="http://www.deviantart.com/download/107911388/Color_Concept_01_by_axcho.png" alt="Color Concept 01" /></a><br /></div><br />In this picture you can see experiments with color schemes for structures, blood, and jewels. The black is for the foreground structure and ragdoll, while the gray is for the background structure not involved in collision. There are also two shades of red for the blood sprays, where the bright red might be used for a temporary particle spray and the darker red could be used for persistent stains.<br /><br />Also notice the white highlight on these objects, intended to make the background seem like a glowing white field rather than an empty screen. There is also some experimentation with jewel colors and glow effects. The seven jewels lined up at the bottom are colored to correspond roughly with the seven chakra points of the body.axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0tag:blogger.com,1999:blog-3202575848422780540.post-79119247416736351562007-06-20T00:00:00.000-07:002009-01-23T22:49:00.268-08:00Why Dejeweled will be funIn terms of <a href="http://www.gamasutra.com/features/20070116/rigby_01.shtml">the three reward types that make a game fun</a>, this game satisfies <span style="font-weight: bold;">competence</span> by its level-based progression and unlocking of new building parts. Also, the visceral action of the player's machine emphasizes the feeling of mastery and effectiveness when a ragdoll is successfully killed. It satisfies <span style="font-weight: bold;">autonomy</span> in the ability to design whatever sort of contraption you want within your abilities and your in-game resources. Each unlocked building part offers a new opportunity for experimentation. Finally, it satisfies <span style="font-weight: bold;">relatedness</span> similarly to Line Rider in the ability to share your unique designs with others. This can either be through YouTube or directly facilitated by the game with a copy'n'paste-able killing machine format.axchohttp://www.blogger.com/profile/00476494070603611505noreply@blogger.com0