Wednesday, December 10, 2008

How to make shiny letters with the GIMP


I made shiny letters using the GIMP for my fishnet games website. I saw a tutorial on Youtube. But it didn't have any audio (or it was in German).

Here is how I ended up doing it:
1. Create a new image and put some text with the font you like:

2. Turn the text into a selection. Right click on the text layer, scroll down, click alpha to selection, then delete the text layer itself. Select the Text layer, click on the little garbage can.


3. Select the 'blend tool', and select the color gradient you want to use. Choose your colors. I'm doing red to white. Using the blend tool, draw the line across the selection:
This produces a good start.

4. Produce the outline.
To produce the outline, expand the selection by a few pixels using the 'selection grow' tool. Find it under the menu Select/grow.

I'm using 2 pixels for this example. Create a new layer to color in the outline. Fill in the selection with your desired color using the 'bucket fill tool'. Rearrange the layers so that the fill layer is on the bottom of the text.


It should now look like this:



5. Make the Candy gloss. I think the gloss is produced by kind of simulating a reflection of an irridescent ambient object, like a lamp shade or something, on the text. To do this, select the layer of text that is on the top, then select 'alpha to selection', as we did before.
Now select the elliptical selection tool, and choose the 'subtract from current selection' option.

Make a selection that spreads across the letters like the sunrise:

Now, we are just going to draw another gradient into this selection. Create a new layer for this to occur in, select the gradient tool, go from white to somewhat pink, and try a few gradients until it looks right.Play with the layer opacity a little bit to get just the look you want.


6. A reflection

I added a reflection using the reflection script from here:

http://code.google.com/p/gimp-reflection/

Now I de-select everything, auto-crop the image, and selected Filters/decor/reflection, and choose the parameters you like:


Now you can put that on your webpage, and it looks beautiful.

Tuesday, December 9, 2008

Cool new landing page made from The GIMP

Although, I haven't used the GIMP very much, I downloaded the Reflection Script, added perspective to some screenshots, watched a you tube tutorial on making words shiny, and walla. A much cooler website!

If you have a minute, why don't you go to www.fishnetgames.net and play a couple of games!

Monday, December 8, 2008

I spy (christmas letter)

I was thinking how fun it would be to have a christmas letter that has an I spy game built in. You have tons of pictures, representing something from the year for people in the family. Folks click on those items to read about that part of the year. I think it would be cool!

Snowball Fight!


Battle against a gingerbread man and Santa! Throw snowballs at them, and they throw them at you. Hide behind your snow barrier, and dodge their snowballs.

Aim with a christmas wreath!

Try it out at : http://www.fishnetgames.net

Monday, December 1, 2008

Ball Pit



Just now though, I had an idea for a casual game today. Refer to the image.

I was thinking that it might be a fun game to have these balls in a basket. The balls have different receptors on them. You have to match up the receptors to get a match.

Kind of basic still, obviously...

you match up the dots by rotating the ball, but when you 'rotate' a ball, other balls around it rotate as well.

Maybe there is a little tube that feeds this.

Maybe this is the liver and it is trying to get rid of contaminants. Hard to tell exactly. You've got to get rid of the contaminants before the liver fills up. As the levels progress, it gets more contaminants, and so matches are more difficult to come by.
Maybe you have to match up more than 1-to-1, maybe you have to make a string of three or more.

Maybe you have to make DNA strands to ward off cancer. It's just a thought for right now.

Any thoughts?

Maybe the balls are sticky... so that when you rotate a ball, the stuff around it rotates as well, so that you have to calculate how to rotate the balls. Maybe only the balls that directly touch your ball are sticky.

maybe these are gears to a machine, and you have to wrap a band around them. The band is sticky to the balls and rotates the balls as its is pulled through the bowl of balls.

Maybe the band gets shorter, or longer with the different levels.

Tuesday, November 25, 2008

Dragging a shadow around.


So, I think I got it. Everybody take a look, give it a try. You can
drag the car's 'shadow' and then release when you get it where you
want, then it loads up the points.

Next up, I'm a gonna integrate my high score server, I think.

But I'd love anymore feedback you all might have.

Sunday, November 23, 2008

trouble with drag and drop interface

I've just about got drag and drop interface worked out, but it doesn't quite feel natural enough. Give it a try, and maybe if you have some pointers, let me know:

http://www.fishnetgames.net/games/trafficjam/index.html

Saturday, November 22, 2008

Traffic Jam & Gimp, and the outline filter


I like the way that the vegetables are outlined in Milpa and David said you could probably do it with Gimp. So I downloaded gimp, and sure enough, it was pretty easy to do.

I also love the way that gimp can have the differing alpha values so that the sprites have transparencies.

It was pretty cool.

Friday, November 21, 2008

Ludum Dare (A video game competition)


I just stumbled on the 48 hour game contest.




They give you a theme, and then contest submittals are due in 48 hours. It sounds like mega fun!


The entries are really neat. I really like the graphics style of one of the guys, named Dr. Zool. I like the way the lines are clean, but appear drawn with a marker. I wonder how they do that?


Traffic Jam and other things...




I've got the Traffic Jam Alpha done with some nice comments. I did it with David Brackeen's PulpCore, and using some rush hour graphics I found on the net. The sounds I did by just using a cheap mic I've got at home, recording things like dropping game pieces on the desk, Hayden whistling, or sliding a box across the desk. I think it's kinda cool:






I'm getting excited to try this Rube Goldberg type of a game where you have things in the room, and you have a goal like knock the kitten off of the pedestal, or something like that.
I can't wait for the PulpFizz library to come out. It has the Jbox2d lib mixed with PulpCore.






Wednesday, November 19, 2008

PulpCore, Slick, Phys2D

I've been seeing some interesting and fun packages out there to help with making fun little java computer games. I made a computer game for Halloween last year from a book I bought from David Brackeen.

http://www.fishnetgames.net

This year, I finished the game, but started looking up what was going no with David. He just finished the first releases of a framework he calls pulpcore. I grabbed it and made a port of that RushHour. Its the game where you have to get the little red car out of the traffic Jam.

http://www.fishnetgames.net/games/trafficjam/index.html

I also saw a really cool demo from Phys2d. That looks like so much fun. I love 2d physics, so now my brain is trying to think of some fun stuff that could be done with that. I think of throwing boxes at people, blowing them up, maybe some turkeys doing their own turkey shoot.

http://www.cokeandcode.com/phys2d/

What about a game where you use the physics to solve a puzzle, or you have obstacles, and you have certain physical objects to place on the level kind of like the kid on goonies with all of the gadgets and whatnot, you have these objects, you put the objects on the level, then drop a ball or something, and then see how all of the pieces interact, to try and get something to fall into a goal somewhere.

Now, that sounds fun. the objects could be like a baseball bat, a baseball, a soda can, some string, scissors, etc. all of these things you have to try and use to get something somewhere else in the room.

You can tie things together, etc. I like this idea.... Mix this with the pulp core rendering engine and it could be really cool.

Tuesday, August 26, 2008

Groovy Currying, applied to authorization

Working through Dierk Königs Groovy In Action, I'm finally to the Closure Currying. This concept was so foreign to me, but so incredibly powerful! In his example, he uses closure currying to implement a logger. I scoffed. Pah, you have log4j, why bother. But the example was so interesting, building up a logger from a configuration; consisting of a format, filter and the line to be logged; and an appender, consisting of the configuration, appender and the line.

Watching them curried together was something like watching Gordon Ramsay put together a juicy steak with rosemary, garlic, olive oil heat and artichokes. I actually felt my mouth water!

But why, I've been looking to implement authorization down to the granularity of a per entity basis. I.e. not just to block users of particular roles from doing an action to something, but to block users from that thing itself. Even a few weeks ago, I had an idea, but I needed one additional piece to complete it.

My Idea (written on a pocket notepad near by bedside table): For security on domain objects, consider binding grails actions to security rules that can incorporate groovy objects in scope. E.g. user, role domain objects their values, etc.... - the rules could be predefined rules or written in Groovy Script.

In essence, the rules could be closures that get the application context passed to them!

Monday, August 25, 2008

Grails vs. Ruby On Rails

I've been working on a project over the last several months. I started the project on Ruby on Rails because it showed so much promise as the fast framework that I wanted, so that I could get things done quickly.



Then, the other day, I was chatting with a developer friend of mine named Brandon Franklin. As we were chatting, I mentioned this new project I was doing on RoR. He challenged my technology choice (to the tune of a $5 paypall credit), asserting that I should have gone with Grails instead. I finally won the challenge ($5 is $5 after all) but ended up changing my project base to Grails. I've been pretty happy, overall, but I find myself getting stuck in some rather odd areas, like with plugins and such, just because of the immaturity of the platform.

Here is our discussion highlights...

Brent Fisher
July 24 at 11:09pm
So, I think you do owe me $5, or a corona and a moment with the storm rolling in. ORM is much easier in RoR. Either with an existing db, or a green.Active Record keeps things dry. The 'domain' classes don't have to even mention the columns in the tables, it determines them dynamically at runtime. Active Record reflects on the schema inside the database to configure the classes that wrap tables. In other words, its DRY. In Grails, I've got to go through and name all of the attributes in the DB, and then in the Domain class as well. Grails should just 'assume' attributes named the same as the column names.

Brandon Franklin
July 24 at 11:14pm
Alright, for building on an existing DB, Grails might be inferior to RoR.That said, I still think Grails is a better choice for the vast, vast majority of startups and new applications, which VERY RARELY have existing databases. The many, many advantages of using a JVM-based runtime easily outweigh some minor DB management inconveniences for most applications.I remain unconvinced that ORM is easier with a fresh DB, but I guess we'll have to agree to disagree on that one. You did find "one thing" as I challenged you to, so I'll get you your $5!But you'd be wisest to invest it in a Grails book rather than a Corona. ;)

Brandon Franklin
July 24 at 11:26pm
Wait a minute though, this one thing you said kinda confuses me:In Grails, I've got to go through and name all of the attributes in the DB, and then in the Domain class as well. Grails should just 'assume' attributes named the same as the column names.What are you talking about? You don't have to do that. You just create your domain objects and that's it. You save your object with the .save() command and it creates the columns it needs.Do I need my money back?

Brandon Franklin
July 24 at 11:29pm
For the record, I have never even opened a database configuration AT ANY POINT during my work with Grails, so I definitely don't see where you're coming from with this. To me the underlying persistence should be completely hidden away from me, and that's exactly what Grails does.

Brent Fisher
July 25 at 9:05am
I guess I mispoke there. In a greenfield application, you are right. I only have to define the domain attributes in the domain class and it creates them in the database. In a project like mine with an existing db, I already have them defined in the db, so here is the trouble, and the one point where RoR really excels over Grails. In order for Grails to use my db, I have to define the attributes in the domain classes & I have to define the mapping with hibernate mapping files. That is a ton of work. It isn't DRY. See: http://jasonrudolph.com/blog/2006/06/20/hoisting-grails-to-your-legacy-db/RoR lets me work in my environment with my existing db. I have to define the domain classes, but I don't have to define the attributes in them. Instead, as I said, ActiveRecord determines them from the metadata in the db at run time.I think in this case, I still met the $5 corona challenge, although, I would agree with your assertion that overall, Grails will win out for my next greenfield application. By the way, I did pick up a book at barnes & noble last night, the definitive guide to Grails. I have to admit, I was somewhat disappointed with it. I found just as much or more from the website user guide.But, if you can tell me a rapid way to get over my hump, I would gladly go double or nothing plus a six pack of Corona.

Brandon Franklin
July 25 at 10:44am
Honestly, I think the fastest way to get over the hump is just to play with it. I don't get the sense that Grails is a "learn from a book" type of tech. It's just one of those things that you kinda have to grok, ya know?Now, that said, I think that a mastery of GROOVY will help substantially, so you might check out "Groovy in Action" which is widely accepted as the best Groovy book. (I myself have not read it, I'm only repeating the words of those I trust.)I think you earned your $5 fair and square, and honestly for me, the knowledge is worth the money. After all, I don't want to just be a zealot about a tech: Part of my job is understanding the strengths of the various technologies so I can bring them to bear on a problem. It sounds like RoR is the better choice for exposing existing databases (at least if you want to get there quickly and don't have a lot of additional plans for growth of the application and/or scaling concerns--because I think Grails is still a better bet there) and that's good to know.

Brent Fisher
August 13 at 8:37am
So, I've been playing with it. Guess what it is missing? Server side scripting. RoR has server side scripting to make ajax easy. Grails has it on the roadmap as post 1.0, but doesn't have it in there. Because of this, I'm finding it difficult to introduce the RIA elements into my application that I wished to do.
See this pdf chapter for the richness of the Server Side Scripting that exists in RoR.http://media.pragprog.com/titles/rails2/DepotAjax.pdfI'm wanting server side scripting to have interactive pages. For example, on my admin pages, I like to lock down security, so I have pulled in the JSecurity plugin. It's nice. But I would like a page that makes it easy to manage security by allowing the user to add rights to roles in ajax style. I.e. type into the field, press submit, and watch the permissions list for the role get populated without a page refresh.But all is not lost. According to the Grails roadmap, Server Side Scripting is on the Grails 1.0 roadmap:http://grails.org/RoadmapAdd server-side scripting of client Javascript (javascript DSL) Also, there is a fellow working on a server side plugin:http://blog.peelmeagrape.net/2007/10/9/dynamic-javascript-plugin-for-grails?disqus_reply=1211085#comment-1211085

Brandon Franklin
August 13 at 2:24pm
Hm. But hang on. What about this:http://grails.org/Dynamic%20Javascript%20PluginThat ALSO isn't what you need?
Grails - Dynamic Javascript Plugin
Source: grails.org
Generate javascript from controllers in response to AJAX requests, similar to Rails RJS Templates.Blog entry: http://blog.peelmeagrape.net/2007/10/9/dynamic-javascript-plugin-for-grailsThe plugin: grails-dynamic-javascript-0.1.zipSimple Demo App: dynamic_javascript_demo_0.1.zip



Brandon Franklin
August 13 at 2:25pm
Oh sorry, I think that's the same thing the guy is working on that you linked to!


Brandon Franklin
August 13 at 2:27pm

Brent Fisher
August 13 at 3:13pm
It is getting close, but missing a bit of the spark and maturity that RoR has for it, but I'm gonna experiment more with it tonight and see if I can recreate all the cool ajax server-side java scripts that I had put in to the RoR version of my App.I'll let you know how it goes.

Friday, May 2, 2008

Lending...Person to Person

I was browsing provo craigslist and I came across a person wanting a $1500 loan for his/her daughters education. I responded and looked up a few different community loan centers:

http://www.kiva.org/app.php?page=about

http://www.prosper.com/

http://www.lendingclub.com/home.action

Does anybody know of any more?

Wednesday, April 23, 2008

MyMentor.com

I'm sitting here thinking of ways to show kids what futures are possible out there. Wouldn't it be nice to have a place to bring them that could show people's profiles and what they did to get there.

They could filter by interest, salary, location, talent, intelligence, population, background, and tons of other demographics. Then let them interact with these 'mentors' and understand what these people did to get where they were.

Furthermore, it could grab profiles from so many other sources such as linked in, facebook, and perhaps others.

What do you think?

Tuesday, April 22, 2008

The Magical Mormon

On the way to work today, I was inspired by an interview with that marvelous writer of Chocolat', Joanne Harris. She wrote about a very flawed, magical character, who made chocolate and magically changed a town.

It made me think about mormon magic. I've been investigating the magical elements of early mormonism and the views of the early mormons who used it. In Ms. Harris book, she presents the magic in a sort of ambiguous fashion so that the reader could infer that magic or the human heart is what really changed the hearts of the people. Her character believed it to be magic, and felt that that magic really set her apart from the rest of the people.

What if I wrote a book on a similar premise for mormon magic?
Setting: Modern day mormonville.

Protagonist: a 35 year old man: David, investigating early mormonism and the fundamentalism involved. He doesn't believe in magic, and begins to try it out, mockingly. He first buys a jupiter charm, exactly like the Jupiter Charm that Joseph Smith owned and had on his person at death. He begins to keep around a Cabala script, similar to the one found on Hyrum Smith's body at his death. As he does these things, 'magical things' begin to occur. Things begin to go 'very' well for him at work. Better than he had imagined. People begin to gather enormous respect him, and he is promoted. He gets promoted beyond his abilities, but, people assure him that he deserves the promotion, and he accepts the promotion. Because he doesn't have the ability to really do the job well, he fakes it. Harder and harder problems are presented to him to solve, and he solves them as best he can. He must investigate further into the magic to cope with solving these problems and produce results. Problems begin to pile up because with his success, come the women. At first, he shuns them away, but eventually finding that he is too attracted to them and he takes them in. He justifies them and convinces his wife that it is ok.

Antagonist(s): Others in the company begin to realize that our hero doesn't know what he is doing. They realize that he is sleeping with other women. One man, Peter, when he finds out his own wife falls for David, he becomes very upset and becomes determined to expose the massive fraud that David has created. He begins by trying to tell the right people of David's error and omissions. They won't listen, apparently blinded by his charm and good spirit. He considers undermining David, but none of his plans succeed in exposing David as a fraud. He confronts David and they fight it out.

Monday, April 21, 2008

Bring the social networking sites together

It seems like it would be interesting to have all my networking sites work together somehow. Get my facebook, linkedin and others together. Just a thought. It reminds me of the Trillian software that brought all the IM's together for me in one program. A lot of people downloaded that software and used it. It seems like it would be really useful to bring them together somehow there too. might be a lot of work, and the value would have to be immediately evident. I'll have to think about how it could add value.

Tuesday, March 18, 2008

telephone email...

My family uses a blog to post pictures and announce somethings. Unfortunately, many folks in my family don't actually read their email... ever. It would be nice to have a telephone notification system put into place to call folks to tell them about a certain event using some voip technology so that it could leverage existing services that I'm already using.