Java-Gaming.org    
Featured games (78)
games approved by the League of Dukes
Games in Showcase (428)
Games in Android Showcase (89)
games submitted by our members
Games in WIP (466)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  ColourSpace - A schematic texture generator.  (Read 4353 times)
0 Members and 1 Guest are viewing this topic.
Offline ShannonSmith
« Posted 2008-10-21 07:21:36 »

Not sure if this is the right category as there is no Tools Showcase. Here is something I have been working on for a few weeks to help rapidly prototype a wide variety of textures. The emphasis is on simplicity over power but you can still generate some pretty cool looking images. Click to run:



Controls are pretty basic, just drag a block into the schematic, right click for properties.
The blocks are very simple to code and I can think of many more I could add (Blur, Tileify, etc.), will possibly integrate Beanshell for custom blocks. The great thing about this is the library is less than 100k but can generate huge detailed textures quickly so could really help reduce distribution sizes (once I get save/load xml sorted).
 

Here is an example texture that took approximately 1 minute and 5 blocks to make:


Offline zammbi

JGO Coder


Medals: 4



« Reply #1 - Posted 2008-10-21 09:39:18 »

Very cool, easy to use.
I think the left bar needs a scroll bar of some type.
You going to make the textures tilable?
Also you going to release a library so we use the xml files in games?

Current project - Rename and Sort
Offline Orangy Tang

JGO Kernel


Medals: 51
Projects: 11


Monkey for a head


« Reply #2 - Posted 2008-10-21 14:29:15 »

Very nice! Obviously a little limited right now but it's got a lot of potential. A couple of UI tweeks I'd suggest are some way of deleting a placed node, and some way of selecting and dragging a whole bunch of nodes at once (I kept going off the top of the canvas).

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ShannonSmith
« Reply #3 - Posted 2008-10-21 19:02:08 »

Yeah, very alpha. I do plan to clean up the UI (scroll bar for the palette, delete block option etc), and once save and load (and javadoc) are implemented it should be very easy to integrate into a game, will probably try to get it sorted this weekend. I have quite a few ideas for extra blocks and I think a seamless tile will definitely be in the next release.

Offline gouessej

« In padded room »



TUER


« Reply #4 - Posted 2008-10-22 12:35:24 »

This kind of tool already exists in the software "Art Of Illusion", doesn't it?

Offline ShannonSmith
« Reply #5 - Posted 2008-10-22 20:27:20 »

I'm sure several similar tools exist, this is nothing new. Mine is geared towards towards what I need, which is a simple editor that I can easily integrate into games using the schematic information only (to cut down on distribution size). After a quick look at the Art Of Illusion one it seems to target quite a different audience. Also I haven't seen one yet that thumbnails each step of the generation (which I consider important).

 
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 612
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #6 - Posted 2008-10-22 20:54:57 »

Looks like what WorldBuilder has, including thumbnails of intermediate results.


The only disadvantage to your approach might be that it doesn't 'scale' very well. Not in terms of performance, but in combining loads of effects. The shape of combining effects seems to be fixed, where as WorldBuilder has wires to connect everything.

Good job though!

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11


Game Engineer


« Reply #7 - Posted 2008-10-22 21:34:58 »

This is pretty neat! Sort of difficult to work with, but I like it so far.

See my work:
OTC Software
Offline ShannonSmith
« Reply #8 - Posted 2008-10-22 22:51:29 »

Riven: Yeah the shape is fixed at the moment which I did for simplicity sake. Later I plan to have the inputs auto-spread if you add a 2-input block that wont fit, shouldn't be too difficult. Another option is to add a composite block (a block with a schematic inside it). My primary goal was to have a low entry barrier and limit parameters to small logical set. Once again very alpha, was just hoping to get some feedback on whether the 1.0 version could be usefully to anybody.

Demonpants: Hopefully once the standard select, delete etc. tools  are in it will be more usable.
Offline JuddMan

Senior Member


Medals: 1


Your Ad Here


« Reply #9 - Posted 2008-10-23 01:12:44 »

This is really good so far, very easy and fun to play with.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kevglass

JGO Kernel


Medals: 85
Projects: 22


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #10 - Posted 2008-10-27 21:04:00 »

Any progress, this is just too great to let die!

Kev

Offline ShannonSmith
« Reply #11 - Posted 2008-10-27 23:43:53 »

Nearly done. Man polish takes ages. Also trying to reduce lib dependencies to zero (no jdom) so unfortunately have to use:

Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Vs:
Document doc = new Document();

Sometimes I have difficulty defending the quality of the Java standard library...


Offline Riven
« League of Dukes »

JGO Overlord


Medals: 612
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #12 - Posted 2008-10-28 23:22:36 »

Nice place for the Factory pattern.

Code that line once, and call it from everywhere

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline ShannonSmith
« Reply #13 - Posted 2008-10-29 17:10:25 »

New version up, go here to get a downloadable library version. Not fully polished yet but should now be usable. Once you have finished your schematic you can load/render as follows:
1  
2  
3  
  Schematic sch = new Schematic();
  sch.load(new FileInputStream("schematic.xml"));
  BufferedImage output = sch.render("Output");


Note that all Image files the schematic uses must be added with addImage(String name, BufferedImage img) prior to calling load (the optional default images are added automatically if they exist in the classpath). The string parameter in the render method is the name of the Output block in the schematic. You can have multiple output blocks per schematic.

Edit:
Also forgot to mention, if you come up with any really cool textures using just the built-in images can you post them, I am going to compile a collection of examples for the next release.
Offline Morre

JGO Knight


Medals: 2
Projects: 10


I'm Dragonene on IRC.


« Reply #14 - Posted 2008-10-29 18:06:29 »

Off topic: Riven, what is that signature of yours? It's somewhat scary... :>

On topic: Judging from the posts this seems like it's pretty cool. I've been meaning to try it for some time but haven't yet Smiley

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 612
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #15 - Posted 2008-10-31 21:07:17 »

Off topic: It's just a site to see how well/bad my HTTP api is working out. It also serves my avatar, so it gets loads of hits. The 'scary' form is just to see whether POST works. When I get time, I'm going to add sessions, for no apparant reason.



Oooon topic:
The point with these tools is that it's very easy to get interesting random results, but very hard to actually get what you want. From a development point of view it's the perfect project to do - lots of focus on the algorithms and architectural stuff, I wouldn't want to use it to create textures for a game though Smiley

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline ShannonSmith
« Reply #16 - Posted 2008-10-31 22:33:35 »

Obviously if you know exactly what you want and are adept enough with no distribution size constraints Photoshop is a better option. However once you have been playing around with these sorts of tools for a bit it's surprisingly easy to get at least a rough prototype texture of what you are after. A good flow is to have a noise->stretch->fractal->amplify as the top input to a modulate block with the bottom being and Image with the colour profile you are after. You can tune the feel of the texture with the top blocks and the colours with the bottom block. Hopefully I'll get a full list of standard texture schematics (grass, stone, metal, snow, dirt etc.) shipping with the next release and you can just use it as an ultra-compressed texture set. This is really targeted at people who don't want to learn Photoshop or are aiming for small download sizes.
 
Pages: [1]
  ignore  |  Print  
 
 

 
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!