tag:blogger.com,1999:blog-205823092023-11-16T11:09:57.408-06:00Barbequed Pixelscomputer art and graphic designpauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.comBlogger81125tag:blogger.com,1999:blog-20582309.post-81050802130695891082016-01-14T12:09:00.004-06:002016-01-14T12:09:48.833-06:00Damnit Wordpress!Outside of here at Blogger, I had a portfolio I had built up at Wordpress. Didn't realize the thing expired at the end of the year, so all the stuff I had put together is gone. Which really sucks. So now I've got to figure out what to do in terms of graphics related work.<br />
<br />
But yeah, that sucks!<br />
<br />
Back again to Blogger. Also tweaked some layout formatting here. This was originally setup on an XGA monitor, so when I went to a larger screen it was weird. A little fix here and there now that there's some more stuff in CSS3, but my CSS skills are as rusty as hell. But at least I got the background to center and overlay again like it was supposed to. It's "close-enough" for now, but I may do some more template fixing later.<br />
<br />
Also I'm thinking of building one blog specifically for portfolio stuff. But here at Blogger, where it doesn't auto-expire if you don't really have the cash on hand. (Some say Wordpress is cheap, but when you're broke cheap isn't cheap enough.)pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-70015291785237545612014-06-25T21:31:00.001-05:002014-06-25T21:31:09.851-05:00Some Cycles nodes for neon.<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtAkZb9epCK3X-pWn-vLmDJyiUI4re3egbSKtkjnl_o8DhUoRl7_a5KS6vB1SY2DVLtMPjXm5Ys7hyphenhyphen2GaT5SE1Xn3WykCoH3RedwQ4vPmwo6GC_V7qLrIwCBRd-i4S62cHVQmi/s1600/Neon_Nodes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtAkZb9epCK3X-pWn-vLmDJyiUI4re3egbSKtkjnl_o8DhUoRl7_a5KS6vB1SY2DVLtMPjXm5Ys7hyphenhyphen2GaT5SE1Xn3WykCoH3RedwQ4vPmwo6GC_V7qLrIwCBRd-i4S62cHVQmi/s1600/Neon_Nodes.png" height="185" width="320" /></a></div>
<br />
Some Cycles nodes for a neat blue neon material with a few notes scribbled on. I used RGB curves node to control intensity over the surface from inside to outside, but a color ramp node with grayscale can likely do the same thing. That intensity falloff thing helps the glass part catch any glints and develop a few highlights from the neon itself. Hard to explain, other than messing around with settings and seeing how it works. I think it looks nice for what it is.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-88881536364051563972013-10-04T00:11:00.001-05:002013-10-04T00:11:17.325-05:00Some Blender stuff of all thingsI haven't updated this blog in a while. But may as well post something useful this time around. So now for a video on how to make a wheel roll along a path in Blender regardless of what direction the path is going...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://img.youtube.com/vi/h9V_47SD7wg/0.jpg"><param name="movie" value="http://youtube.googleapis.com/v/h9V_47SD7wg&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="http://youtube.googleapis.com/v/h9V_47SD7wg&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<br />pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-70268141459741943922012-08-23T09:18:00.000-05:002012-08-23T09:40:59.928-05:00A song about.... NO.<iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" src="http://www.youtube.com/embed/DvI0QhPm5qc" width="560"></iframe><br/>
I also do audio stuff on occasion. This one is kind of pointless, but what the heck.<br/><br/>
Oh and here's some of my other crap so you can feel even better about your musical talent (if you have any)...
<iframe width="420" height="315" src="http://www.youtube.com/embed/zOAPUR9mC_w" frameborder="0" allowfullscreen></iframe><br/>
<iframe width="560" height="315" src="http://www.youtube.com/embed/jyOq3ruO2sQ" frameborder="0" allowfullscreen></iframe>pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-9256174302968206452012-08-22T23:59:00.001-05:002012-08-22T23:59:24.734-05:00The greeble monster makes no senseDoes anyone actually read this? Probably not. I don't see much in the way of feedback, and the typical basic stats I can see don't mean terribly much either.<br />
<br />
Ah the mysteries of wi-fi router addresses scanned while bored.<br />
<br />
I might post some satirical thing here in the future. Fun with home alchemy or something of that sort. Not that anyone would attempt such things if I made up a process of random things to mix together. Even the neigborhood trash douchbaggias wouldn't slip upon the advice of a random stranger. Herp-a-derp. That's it for the meantime.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-66257395330147390532012-02-27T11:08:00.002-06:002012-02-27T11:11:26.209-06:00A Camera is Watching YouI figure somebody at the park may chance upon this and read this after noticing the SSID from my wifi. Anyhow, take a look at the light posts on the streets around the park. At least one has a camera on the top of it. No, it's not the typical "bubble" cam or one of those blue light specials like you see in the seedier neighborhoods. But none the less, there's a camera up there. When you get a chance, wave "hi" to it. Go ahead and do it. It'll be funny!pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-15378195686237971562011-08-05T08:28:00.002-05:002011-08-05T08:37:34.713-05:00Somebody mad?<span style="font-family:impact;font-size:300%;">YOU JELLY?</span><br />I don't know who's mad, but somebody felt inclined to egg my car. Even though it's 10 years old with scratches, it still must be too nice compared to theirs.<br /><br />Maybe they heard I found work on the internet or something. I've been out of work for so long, why shouldn't I get some opportunities every now and then?<br /><br />Don't worry though, you'll get yours in due time...<br /><br />But on the business of work, I'm back to getting a 3D model done. Put in 4hrs last night, and will get more done today. Now that I'm keeping track of time on these things, they take longer than I thought. Seems most of the time goes into prep and then making decisions about where to place the edge loops or whether to commit to a smooth operation. Crazy, but whatever. It's all good.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-42215469346995104812011-02-13T20:41:00.004-06:002011-02-13T20:44:56.449-06:00Sound in Flash Player Broken?Anyone know when or which update broke how event sounds play in Flash? I have some old stuff that used to work just fine, and now the sounds don't play correctly or not at all. I figure it had to be in one of the recent Adobe 10.x Flash player updates. This bug has to affect a lot of pages that have UIs or games made in older versions of the Flash authoring tool.<br /><br />Surely I can't be the only person to notice this.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-37399086926916975052011-02-11T18:21:00.005-06:002011-02-11T18:29:45.802-06:00PMG Messiah:Studio - nice limited time offerI figure there's a rare few that may read this blog, so I have some new news.<br /><br />There's a pretty tight deal for a very limited time where you may be able to get a $1100 suite of graphics software for $40. Pretty much it's professional quality rigging and animation software that various studios use in their production pipeline.<br /><br />Oh, and if $40 is still too much you can get the "light" $540 software for $10.<br /><br />And here's the link:<br /><a href="http://projectmessiah.com/x6/shop.html">http://projectmessiah.com/x6/shop.html</a><br /><br />And for some reason if you don't see the green bar (which was hovering at 75% at the time of this post), you may be too late.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-43119427777649760812010-09-18T23:00:00.002-05:002010-09-18T23:08:21.459-05:00Modeling A Preserve JarA Wings3D video tutorial, in case you missed it. Covers basic box modeling and UV mapping, as well as some of Wings3D vector operations. Dunno who reads this blog, but what the hey!<br /><br /><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/bwdBWUf4nEk?fs=1&hl=en_US&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bwdBWUf4nEk?fs=1&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br /><br /><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/GNlMiev7ejg?fs=1&hl=en_US&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/GNlMiev7ejg?fs=1&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br /><br /><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/1mpqprhKtr8?fs=1&hl=en_US&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1mpqprhKtr8?fs=1&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br /><br /><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/s398moIuauY?fs=1&hl=en_US&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/s398moIuauY?fs=1&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br /><br /><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/vXnV23dOoDo?fs=1&hl=en_US&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/vXnV23dOoDo?fs=1&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br /><br /><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/GYBc7mNKUYc?fs=1&hl=en_US&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/GYBc7mNKUYc?fs=1&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br /><br /><object width="960" height="745"><param name="movie" value="http://www.youtube.com/v/Lx0fr9jSn1o?fs=1&hl=en_US&rel=0&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Lx0fr9jSn1o?fs=1&hl=en_US&rel=0&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="960" height="745"></embed></object><br /><br /><object width="960" height="745"><param name="movie" value="http://www.youtube.com/v/b7UWXOanDvw?fs=1&hl=en_US&rel=0&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/b7UWXOanDvw?fs=1&hl=en_US&rel=0&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="960" height="745"></embed></object><br /><br /><object width="960" height="745"><param name="movie" value="http://www.youtube.com/v/4iuG6qF_msY?fs=1&hl=en_US&rel=0&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4iuG6qF_msY?fs=1&hl=en_US&rel=0&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="960" height="745"></embed></object><br /><br />Quite a bit, isn't it? Hopefully something can be learned from it.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-12512922007584550632010-07-24T17:02:00.003-05:002010-07-24T17:15:15.804-05:00Menus: Dropdown vs Pulldown explainedI was looking for some reference to clarify this issue on the web, and what do I see in the first couple hits on google? Bad information on the topic. It seems that a lot of sites say there is no difference between dropdown and pulldown menus. Guess what? THEY'RE WRONG!<br /><br />Here's the difference:<br /><br />Dropdown menu: When you click on the menu header to access the menu, the menu stays on the screen until a selection is made. Note that clicking outside the box also counts as a "selection".<br /><br />Pulldown menu: You have to hold the mouse button down to access the menu. If you release the mouse button or drag off the menu, the menu goes away. <span style="font-weight:bold;">In other words a <span style="font-style:italic;">PULL</span>down menu is a <span style="font-style:italic;">DRAG</span>down menu, but it <span style="font-style:italic;">is not</span> a <span style="font-style:italic;">DROP</span>down menu!</span><br /><br />A subtle difference I'm sure, but it's quite a big one in regards to UI workflow. Also note that a dropdown takes two mouse clicks. One to access the menu, and one to access the menu item. A pulldown (dragdown) only takes one click, but you must hold down the button as with a mouse drag operation.<br /><br />Now is it clear? I hope so.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com2tag:blogger.com,1999:blog-20582309.post-46360454548002467412010-06-24T16:12:00.003-05:002010-06-24T16:15:29.502-05:00Cassius & Cassandra<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnsW92fMerzWJdIB6x6UESsq5LW7gQfacGqd4XKcDA6obC-5bBrekEQoQzSAx48G3zca-PpXCZZcWxqwnLAgubVaW4AEVUZaO-GeqlCaLTo7x6oChxIKLOo9eeXiLUJ6QKItDd/s1600/Cassius_and_Cassandra.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnsW92fMerzWJdIB6x6UESsq5LW7gQfacGqd4XKcDA6obC-5bBrekEQoQzSAx48G3zca-PpXCZZcWxqwnLAgubVaW4AEVUZaO-GeqlCaLTo7x6oChxIKLOo9eeXiLUJ6QKItDd/s320/Cassius_and_Cassandra.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5486451274833474306" /></a><br /><br />This is probably what I'd have for a webcomic if I regularly did webcomics. No, actually I'd have something more random. This is just something from a sketchbook of mine that I figured was funny enough to share. But I'll leave the contents of the previous page up to your imagination.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-82292164988711235362010-06-11T15:27:00.004-05:002010-06-11T15:37:41.326-05:00Spacewar in under 100 lines?I'm a little crazy, but I'm trying to code a clone of the ol' classic game "Spacewar" in under 100 lines in ActionScript 2. I did this before with code spread about on different movieclips and had a semi-playable game working. But now I'm trying something a little harder. This time I'm trying to keep all the actions together on the main timeline with the added challenge of trying to make better use of OOP conventions to better cover steps that repeat. So far I got it up to the point where it makes the bullets, but it doesn't quite shoot them. Hell, it's hard enough trying to figure out how I did it the first time around - being that I haven't done much in scripting for a long time. Anyhow... Here's the code:<br /><div style="font-family: courier; color:#99ff99;"><br />// This is the section with the actual game.<br />// Create the Ship() constructor class.<br />function Ship(rot, xP, yP, player) {<br /> this.rotation = rot;<br /> this.xVelocity = 0;<br /> this.yVelocity = 0;<br /> this.hitPoints = 100;<br /> this.player = player;<br />}<br />// Adding methods to Ship class.<br />Ship.prototype.applyThrust = function() {<br /> trace("Applying thrust to "+this.player);<br /> angleDeg = (this.rotation<0)*360+this.rotation;<br /> angleRad = (angleDeg/180)*Math.PI;<br /> this.xVelocity += (Math.sin(angleRad)*.75);<br /> this.yVelocity -= (Math.cos(angleRad)*.75);<br />};<br />Ship.prototype.turnLeft = function() {<br /> trace("Turning "+this.player+" left");<br /> this.rotation -= 10;<br />};<br />Ship.prototype.turnRight = function() {<br /> trace("Turning "+this.player+" right");<br /> this.rotation += 10;<br />};<br />Ship.prototype.fireGun = function() {<br /> trace(this.player+" is firing their gun.");<br /> _root.attachMovie("bullet", this.player+"Shot_mc", 10);<br /> _root[this.player+"Shot_mc"]._x = _root[this.player+"_Ship_mc"]._x;<br /> _root[this.player+"Shot_mc"]._y = _root[this.player+"_Ship_mc"]._y;<br />};<br />Ship.prototype.calcMovement = function(clipID) {<br /> clipID._rotation = this.rotation;<br /> clipID._x += this.xVelocity+((clipID._x<0)*640)-((clipID._x>640)*640);<br /> clipID._y += this.yVelocity+((clipID._y<0)*480)-((clipID._y>480)*480);<br />};<br />var P1_Ship = new Ship(0, 10, 10, "P1");<br />var P2_Ship = new Ship(0, 100, 10, "P2");<br />for (var prop in P1_Ship) {<br /> trace("property "+prop+" value is "+P1_Ship[prop]);<br />}<br />function testLoop() {<br /> if (Key.isDown(87) == true) {<br /> P1_Ship.applyThrust();<br /> }<br /> if (Key.isDown(65) == true) {<br /> P1_Ship.turnLeft();<br /> }<br /> if (Key.isDown(68) == true) {<br /> P1_Ship.turnRight();<br /> }<br /> if (Key.isDown(83)) {<br /> P1_Ship.fireGun(P1_Ship_mc);<br /> }<br /> if (Key.isDown(38)) {<br /> P2_Ship.applyThrust();<br /> }<br /> if (Key.isDown(37)) {<br /> P2_Ship.turnLeft();<br /> }<br /> if (Key.isDown(39)) {<br /> P2_Ship.turnRight();<br /> }<br /> if (Key.isDown(40)) {<br /> P2_Ship.fireGun(P2_Ship_mc);<br /> }<br /> P1_Ship.calcMovement(P1_Ship_mc);<br /> P2_Ship.calcMovement(P2_Ship_mc);<br />}<br />setInterval(testLoop, 60);<br />stop();<br /></div><br /><br />Oh, and I'm using only 3 movieclips if you haven't figured it out. And adding sound shouldn't be too terrible either, even though I haven't got to that yet.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-79921371820353612702010-06-09T12:22:00.003-05:002010-06-09T12:29:56.497-05:00SEO in Waukegan is easy.Check this out. If you're in a city of less than 100,000 and you localize your information on your website or blog, it's really easy to optimize for a search engine. If you put enough info, it should happen on its own. Regarding that, I'd be willing to bet a dollar that this blog will be somewhere in the first three pages containing the words "SEO" and "Waukegan". And I'm not really trying hard. If you're paying a lot for such services, and you're a small town business catering to a small town audience... Well, you know the ol' adage about a fool and their money.<br /><br />But hey I'm just one guy that does freelance work as a graphic artist. So what do I know about this kind of stuff? And it's not like you found my blog via those keywords right? ;)pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-30163714907016549862010-06-04T15:06:00.003-05:002010-06-04T15:20:25.307-05:00The Smallest Graphic Design Place in WaukeganThis is it, my freelancing is the smallest graphic design place in Waukegan. I haven't seen a mention of this site in regards to my hometown, so may as well make it be known. (Although I try to do most stuff over the net, but still I think there may be location specific stuff available.)<br /><br />Some people may claim to be small, but me? I don't even have a large format printer yet, and I'm a one man show. The real problem is letting people know that there's good talent in their own backyard. And short of doing print jobs (which would still have to go outside), I can do some pretty cool things design-wise. If you want 3D visualizations or animations, Illustrations, and Logos, it will be harder to find better bang for the buck.<br /><br />So if you've managed to stumble on this, fire off a comment. Or give a hint at your email. Or if that's too much work, here's a hint of mine: pop alpha uniform luck jump snake 7 5 (at) hotmail.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-63274820634898947462010-05-23T17:27:00.005-05:002010-05-23T18:01:03.581-05:00This is for you flash people...I know I'm far from the world's best ActionScript coder, but here's a nugget from something I made a good while back that may be fun to look at and play with. (I know it works in AS2.0, but YMMV with other versions.) Oh yeah, I should mention that it goes on a movieclip.<br /><br /><div style="font-family: Courier; font-size: 10pt; color: rgb(0, 192, 0); margin-left: 0.5in;"><br />// Set up initializing parameters.<br />onClipEvent (load) {<br /> this.stop();<br /> var inertiaX = 0;<br /> var inertiaY = 0;<br /> var angleRad = 0;<br /> thruster_sound = new Sound();<br /> thruster_sound.attachSound("thruster");<br />}<br /><br />//Stop sound and thruster animation.<br />onClipEvent (keyUp) {<br /> this.gotoAndStop(1);<br /> thruster_sound.stop();<br />}<br /><br />onClipEvent (enterFrame) {<br /> //Turn left when "A" is pressed.<br /> if (Key.isDown(65) == true) {<br /> this._rotation -= 5;<br /> trace(this._rotation);<br /> }<br /> <br /> //Turn right when "D" is pressed. <br /> if (Key.isDown(68) == true) {<br /> this._rotation += 5;<br /> trace(this._rotation);<br /> }<br /> <br /> //Convert _rotation to 360deg and radians. <br /> angleDeg = (this._rotation<0)*360+this._rotation;<br /> angleRad = (angleDeg/180)*Math.PI;<br /> <br /> //Go forward when "W" is pressed.<br /> if (Key.isDown(87) == true) {<br /> this.play();<br /> thruster_sound.start(0, 2);<br /> inertiaX += Math.sin(angleRad)*.5;<br /> inertiaY -= Math.cos(angleRad)*.5;<br /> trace(angleDeg+" "+angleRad+" "+inertiaX+" "+inertiaY);<br /> }<br /> <br /> //Fire shot when "S" is pressed.<br /> if (Key.isDown(83) == true) {<br /> _parent.attachMovie("shot1", "shot1_mc", 10, this);<br /> }<br /> <br /> //Keep spacehip on screen by wrapping.<br /> if (this._y<0) {<br /> this._y = 400;<br /> }<br /> if (this._y>400) {<br /> this._y = 0;<br /> }<br /> if (this._x<0) {<br /> this._x = 550;<br /> }<br /> if (this._x>550) {<br /> this._x = 0;<br /> }<br /> <br /> //Make spaceship move.<br /> this._x += int(inertiaX);<br /> this._y += int(inertiaY);<br /> <br /> //Pass variables to shot fired.<br /> xInit = this._x;<br /> yInit = this._y;<br /> <br /> //Check if enemy shot exists.<br /> if (_parent.shot2_mc) {<br /> //Check for enemy shot collision.<br /> if (this.hitTest(_parent.shot2_mc._x, _parent.shot2_mc._y, true)) {<br /> _root.p2Score++;<br /> trace("Hit P2 shot hit P1");<br /> _parent.shot2_mc.removeMovieClip();<br /> }<br /> }<br />}<br /><br /></div>pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-16210279315381460502009-12-14T11:23:00.002-06:002009-12-14T11:26:49.396-06:00PhotoShop Diet Anyone?If anyone (is crazy enough and) wants to try a free sample of a "PhotoShop Diet", feel free to ask by commenting to this post. Then I'll try to get in touch, so we can see what I can do with your photo.<br /><br />That is all for now.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-29045447725734914232009-09-12T09:46:00.002-05:002009-09-12T11:02:21.518-05:00I'm gonna make my own FreeCell in Flash.It probably sounds stupid, because it's likely to have been done hundreds of times before already. But I was trying out a Facebook app version of Freecell that had omitted some important key features of this game that has been a staple item of every Microsoft Windows PC since version 3.1 or so. So in my opinion, that Facebook app is broken. Thus if I can make a version of Freecell that works correctly, then I know other people can. And since there's been versions of it since DOS and Win3.1 days, it's not like it's impossible to implement all the rules correctly.<br /><br />The tricky part of this game is deducting the rules from a programmatic logic standpoint. The problem is that I'm normally not a programmer. So this is a simple logic puzzle and a break from my normal routine. Let's try to think of how the thing works...<br /><br />First is the layout:<br />You have four free cells, and you have four open dump cells (Officially its called a foundation, but since I consider it dumping cards out of the game, that's what I've called it.), then you have the cards that get laid out on the table, and you count any empty spaces on the table as an extra free cell. You have eight columns of cards laid out on the table in a random cascade, face up. And generally it's the cards from the bottom (but not only the bottom - important!) of a cascade that are put into play or dumped into the foundation squares.<br /><br />The actual rules can be <a href="http://en.wikipedia.org/wiki/Freecell">found at Wikipedia</a>. So it's known what we have to work with.<br /><br />Now the first thing to do is initially randomize the cards. This will involve a loop that populates an array. We know we have 52 cards in a standard deck. So we know we need a list that's 52 values long, and contains <span style="font-style: italic;">non-repeating</span> values between 1 and 52. (Non-repeating is important, because there is only one of each card of a given suit and value.) So we use a loop that populates the array. The loop generates a random number between 1 and 52. Then it checks the array to see if the random number matches any already on the array. If there is a match, it goes and generates a new random number and tries again. If there is no match, then it adds the new number to the array. And it keeps doing this until all 52 positions of the array are filled. Easy peasy, right?<br /><br />Next thing we do... Lay out the cards on the table. This is trickier. I'm thinking of using setting depths (if I recall actionscript correctly) and placing each row across. Since we have the cards in a nice random order from the previous routine, we just populate the table (in more than one way) by drawing from the array. Going across 8 columns, and then down to the next row (and a higher depth), until all 52 cards are used.<br /><br />Since this is done programmatically, we also need some rules for the suits of the cards. Basically since a simple index number between 1 and 52 is the easiest and most obvious way to identify a card, that's what was done already if you haven't figured it out. But we also need to associate the card's index value with it's suit and it's color. Since I went with diamonds, spades, hearts, clubs as the order of suits, this is how associated variable values are figured out. Index numbers 1-13, diamonds. Index 14-26, spades. Index 27-39, hearts. Index 40-52, clubs. Likewise red-black, red-black. So by pulling up any index number, the function automagically lets you know what the card is. And some simple if-greater than statements and some math routines gives the value from the index number. So now we get the traditional cards suits, colors, and values based upon the index number. And again index numbers are what we use to pick and label any of the cards program-wise.<br /><br />The easiest rule is for the free cells, thus the name of this solitaire card game. Any card may be placed upon an unoccupied free cell. And no other cards may move on an occupied cell. And any card in the "free" cell, may be put back into play on the table or into the dump (foundation) cells.<br /><br />What's next? We have the four "dump" foundation places. The rules for dumping cards into the foundation is why we needed that variable that "knows" the suit. So we got to make some if-then statements as some rules. If foundation is empty, an ace (1, 14, 27, and 40 from the index) of any suit may go there. If a card of any suit is in the slot, then check that the suits match. If not, disallow the move. Next check to see if the value of the card being placed is that of the lower card +1. If not, then also disallow the move. Once a card is placed into a foundation position, it's no longer allowed in play.<br /><br />After that, we need the rest of the rules. Which is tricker to implement. On the table, an empy position can be used by any card. Then if a card is in a playable spot, only a card of an alternate color and a value lower by -1 may be placed on it. However the tricky thing to implement is the moving of stacks of cards. (And this is where the Facebook app that inspired the idea is broken.) If you have a stack of alternating cards in downward order, then entire stacks of cards are playable based on the value of the topmost card. But the playable topmost card of a stack is determined by number of free cells and open columns on available the table. The number of cards that can be moved as a stack are 1 + open columns + free cells. (There's also some programmatic trick in the MS version that anticipates some other moves and allows even more cards, depending on how many table columns are empty.)<br /><br />The tricky thing is figuring out how to keep stacks together. I'll probably have to to assign variables that tell which row and column a card is currently placed in on the table. Then it's a matter of doing some routine that swaps the depths for all the cards in play so they layout properly from a visual perspective when moved. Scripting is fun (*half-sarcastic lol*), isn't it?<br /><br />And once all cards are played from the table and free cells and into the foundation cells, the game is a win. If no moves are possible to clear the table (I've still got to figure out how that works programatically, I think I'll just have a manual button in my first implementation), then the game is a loss.<br /><br />I think I'll give this a shot. I already did the card graphics. Now it's time to start digging into my books and reviewing the actionscript stuff. Other things to add are some stats. Total plays, wins, losses, and win/loss ratio. Maybe some time stats too, like fastest game and average play time. (If other freecell players are like I am, they could care less about other ways of scoring.) I'm also thinking of throwing some quirky goodies into the game, that spoofs the king icon in the MS version. Maybe even have it talk and say random insults when a move isn't allowed, just to make it unique and a bit more fun.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com3tag:blogger.com,1999:blog-20582309.post-76363422916478038372009-08-25T10:29:00.003-05:002009-08-25T10:32:38.978-05:00ThingamabobPulled this thing I modeled out of my archive and did a render. I'm not even sure what it's supposed to be. Anyhow it just looks cool. Maybe it could be a plot device?<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUt1q2Mc7R9jEiTh4pLqpRRTVRvnHmBz5xwO-9Bi0mWzfkh1nbgE3LAyC_YbzKUOb9K49rTl_BuqrvXA9GTc9hGvKkfNtghQDA9IpIhIS2kiegFU2i1LRb5B_OBddpiqsNSZxg/s1600-h/Thingamabob.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUt1q2Mc7R9jEiTh4pLqpRRTVRvnHmBz5xwO-9Bi0mWzfkh1nbgE3LAyC_YbzKUOb9K49rTl_BuqrvXA9GTc9hGvKkfNtghQDA9IpIhIS2kiegFU2i1LRb5B_OBddpiqsNSZxg/s320/Thingamabob.jpg" alt="" id="BLOGGER_PHOTO_ID_5373924546573534082" border="0" /></a>pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-17827457940508987972009-08-14T09:26:00.002-05:002009-08-14T10:03:44.941-05:00Automotive Design TerminologyYeah, this should be an interesting post. Maybe these terms have bounced around elsewhere, but I figured it would be neat to gather them and put in this blog post. At one time way back I even made a wiki of this, but it was deleted a long time back. So now I've got to start over from scratch...<br /><br />Here it goes.<br /><br />Cab: The enclosed or semi-enclosed volume of the car that contains the driver and vehicle occupants.<br />Cab forward: The passenger area is weighted to the front of the vehicle.<br />Cab back: The passenger area is moved to the aft of the vehicle.<br />Greenhouse: The upper section of the cab surrounded by windows. Thus the term.<br />Wheel arch: The definitive shape made by side on view of a wheel enclosure.<br />Wheel bucket: The volume of the wheel enclosure.<br />Fender: An area of the car body or an attached piece that surrounds a wheel.<br />Fender flare: an outward exension of the body surrounding the wheel arch.<br />Quarter-panel: a section of a car body that is removable from the main chassis.<br />Wing: Rear topside spoiler. U.K. also uses this term for fender.<br />Beltline: An implied line going through the vertical center of the lower body of a vehicle. Sometimes accentuated with trim or two-tone paint.<br />Swage line: A distinctive line or crease added to the body of a car that enhances the appearance of a visual shape.<br />cladding: Pieces of trim added to the lower body of a car. Also to protect body paint from road debris.<br />Spoilers: Trim or body pieces added to the car with the intent of adding aerodynamic downforce.<br />Trunk: Rear enclosed portion of a sedan or coupe. U.K. calls this a boot.<br />ground effects: cladding or lower body spoilers added for more aesthetic purposes than functional ones.<br />Hood: Forward enclosed portion of the car that typically contains the engine. U.K. calls this a bonnet.<br />Brightwork: polished chrome trim pieces added to a car.<br />Jeweled glass: various facets or shiny reflectors seen in lights and reflectors.<br />Bling: contemporary term for eyecatching brightwork and jeweled glass.<br />Roof line: the distinctive shape defined by the top surfaces of a vehicle as viewed side-on.<br />window line: the distinctive shape defined by the lower edge of the greenhouse glass.<br />wheelbase: distance from bottom of front wheel to bottom of rear wheel.<br />overhang: distance which overhangs the wheelbase, front or rear.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-91062638503051304342009-08-10T15:00:00.003-05:002009-08-10T15:35:29.897-05:00What are the rates?I suspect people may want to know how much it costs to get stuff done. So this is what I'm starting out with. I figure they may be on the low side, but since supply exceeds demand at the moment - that's what they are for now.<br /><ul><li>Cover/Advance fee: $40</li><li>Hourly: $15</li><li>Rendertime: $15/hr</li></ul>This is freelance work, no refunds, take-it or leave-it. This means one guy and one computer, so you may have to wait if there are other jobs in the queue. Completed job files will be on a CD or DVD. Additional discs will cost extra.<br /><br />Pretty simple, huh?<br /><br />And no, rendertime isn't as cheap as you think it is. I don't have a render-farm yet, and my computer isn't anything new. So you may want to weigh how fancy you want to go on the effects before that process starts. Also rendering is done in Carrara 6. So don't bring outside work unless you're dealing with fairly standard 3D meshes (.obj or .3ds) or actual Carrara .car files. Note that I can do the 3D modeling at the above hourly rate, so I'd suspect you're getting one heck of a deal for the meantime.<br /><br />When I get more regular work, it's likely I'll adjust the rates again and also come up with an expanded schedule. Of course this depends on what kind of jobs come up. The cheap deal you're getting now is because you're catching me on the startup end. So enjoy it while it lasts, before demand goes up, overhead creeps in, and rates go up.<br /><br />Oh, and if you're wondering why print runs aren't listed - that's bigger overhead than what I'm able to cover right now. So it has to go outside to be completed. Thus you can either take the graphics files to a service of your own choosing, or you can let me take it to a third party and pass on their rates to you. I figure it's fair to be up front about it so you'll know what you're dealing with.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-42593546725950490422009-08-09T22:54:00.002-05:002009-08-09T22:58:17.367-05:00Not all my 3D is mechanicalIn case people were wondering, not all of my 3D modeling is mechanical type stuff. I do some organic things every now and then. It's just that I'm better at doing things like cars and airplanes and whatnot.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5H11kWsWXQb65fDam_grpKUkc74Y4Cs0EZ5eRPL7-au3pOpXcwTzdPchgnJLXavYibH0TDLIgDzfPn1kQd6I-_9m4xZTh2WiKbrBWhL6c9DMyZvlQDv_e_41GLxGtX1GPGJIe/s1600-h/PaulDoes3D.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5H11kWsWXQb65fDam_grpKUkc74Y4Cs0EZ5eRPL7-au3pOpXcwTzdPchgnJLXavYibH0TDLIgDzfPn1kQd6I-_9m4xZTh2WiKbrBWhL6c9DMyZvlQDv_e_41GLxGtX1GPGJIe/s320/PaulDoes3D.jpg" alt="" id="BLOGGER_PHOTO_ID_5368179089524253010" border="0" /></a>Hope you guys find my hamster amusing. It's probably the most favorited images of mine at one of the graphics forums I post at. Of course it's without the text, but this version is for my own promo type stuff.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-31027895658228274852009-08-09T21:13:00.003-05:002009-08-09T21:28:43.728-05:00What's up now?Right now, I'm feeling about as scatterbrained as the <a href="http://www.youtube.com/watch?v=FiARsQSlzDc">Colin Bear</a>. And the fact that Sim City 4 Rush Hour is a lot more addictive with the <a href="http://www.simtropolis.com/forum/messageview.cfm?catid=124&threadid=101537">NAM from SimTropolis</a> added doesn't help. I need to get back into the mode of doing something more productive than that.<br /><br />Anyhow, I got a flyer on my car last week. Apparently someone else local does graphics services. (But of course it was probably targeted more towards my neigbors, being there's a nightclub ad on the opposite side.) I figure I may check them for possible positions, since I'm not the best pitchman when freelancing solo. I'd rather just make art or do fun animations. So if I can join a team, that would help make things easier. If turned down, that flyer may still give some ideas though. I may have to make a small run of promo stuff too. I'm not so keen on dropping stuff on people's cars, but maybe I could find some businesses with corkboards or such and see if I can get permission to post there. Do the thing with tear-offs showing email, etc.<br /><br />Another option may be using SSID to bring traffic to this site. But I don't exactly like advertizing my wireless. (Which is different than advertizing through wireless. But you have to one for the other to work, right?) I'm sure it can be found other ways, but I'm not keen on making it obvious. However if it helps get something going, that may be a risk worth taking. I'm still not going to give away traffic through the wireless though, since I really don't know who's poking around the park at all times. Friends and trustworthy folks may get access, but that's a limited audience considering where the signal goes.pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-60593536581799935852009-06-18T00:15:00.002-05:002009-06-18T00:27:45.586-05:00Yes, I'm still aroundYes, I'm still around. Just trying to figure out what to do. But mainly I've been bouncing back and forth between posting to job boards and building <a href="http://pjs-3d-graphics.ueuo.com/">my own site</a>. At least until get tired of it all and fall into <a href="http://www.youtube.com/watch?v=wfvrs8uZqKY">playing with noise makers</a> or video games. It would be nice to have a regular job so I can be forced to focus on one thing long enough such that my other projects would become more interesting in comparison. Then that way I know I'd get them done too. (I know that explanation sounds wierd, but back when I had a regular job I'd write stuff down during breaks so I could get on them a bit during my non-work hours. Being unemployed is problematic with 100 random ideas popping up every day and having nothing make me focus on getting any developed. Having a creative mind is a problem when it gets too noisy. It's a lot like those old cartoons where a character would run in a dozen directions all at once.)pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com0tag:blogger.com,1999:blog-20582309.post-62412012229208164312009-05-05T07:36:00.003-05:002009-05-05T09:53:16.740-05:00Starting sales at TurboSquidYes, I know I've made fun of TurboSquid in the past because of overpriced junk. But somebody then poignantly pointed out that it's the artist setting the prices. So I guess I can't entirely call the site on that (but they really should bother to do some product review.) I'm going to be selling some items at TurboSquid soon. Why? Well the other places I've done sales through cater mostly to Poser/Daz figures and such. So if it's not some costume or backdrop for virtual dollies, it tends not to move much. And with flagging sales, they tend to drop my items after a few months. So, I'm going to try my luck at a place where stuff is more miscellaneous. Wish me luck!<br /><br />Minor update: Took me a bit to figure out some things. Also there has been some price markup on items sold at T.S. This is because they don't allow items to be sold for under $10. But relatively speaking it's still a bargain. (Compare the similar goods!) No longer a cheeseburger priced bargain, but rather my things are pizza priced bargains.<br /><br /><a href="http://www.turbosquid.com/Search/Artists/pauljs75">And this is my store at TurboSquid. Feel free to take a look.</a>pauljs75http://www.blogger.com/profile/02678725603212793333noreply@blogger.com1