Yore MapBeen working on a some random stuff tonight, not what I should have been working on really.. but a nice bit of relaxation. Yore is going to have an overall story line that leads the player through a non-linear list of quests, hence it'll need an overworld map. Here it is:
Normally I hell of a time generating anything that looks reasonable as a land mass. All the tools I've found in the past have been either too complicated or a pain to work with. This time, after searching again, I ran into the Greenfish Relief Map Generator. It's really a great simple tool and after a bit of GIMP editing I got basically what I was looking for. WIP: Yore Quest![]() This is a little turn based RPG/Adventure I'm working on for Android eventually. It also runs as an Applet. At the moment there's just a bit of combat and some small scripted pieces. I've been trying to write this game for about 4 months now and this is the 5th iteration. Not sure if it's any better or worse but this is the first time it's felt slightly playable. ![]() For this interation there's a little level designer and some XML based scripting. I'm hoping I can build the scripting into something that I can tell a nice fantasy story with. As you can tell I'm not entirely sure where I'm going but so far it's been good fun getting here. The game is playable online as an Applet It's also available for Android handsets (only support for 320x480 res). I'm aware of a couple of bugs and expect a bunch of typos. However, I'd really appreciate knowing it works on various browser and/or handsets. Also ideas on how to extend and improve it. Currently the turns feel a little broken up and it's easy to get your characters in situation where they're getting pounding with no support. Of course, any feedback is appreciated, Meg is Three!My little monkey/girl Megan is three today! It doesn't seem like that long ago we were in the states worrying about how the health care works and hoping that we'd be able to cope. She's grown into a lovely little girl with bags of energy and personality. Friday she had her birthday at Nursery, Yesterday we went to Bristol Zoo, and today is a birthday tea! Next week, off to Grandma's for another one. One very lucky little monkey: ![]() Having a blog is a wonderful thing at times like this, especially one that existed before she did. Looking back over her life we have: When she was just a scan For those who have been reading all that time, thanks! And sorry if you're getting a bit bored by now ;) On, for another lovely year with my little star. More evolution attemptsA couple more variants.. If you use just rectangles, it doesn't work out well Mixing ellipses, rectangles and polygons gives the best results yet at only 500k generations. Evolution, what if we used ellipses instead?Shannon commented on the last post, why don't we use circles instead of polygons on the generation stuff. What a fantastic idea? I swapped Ellipses for Cirlces (to leave more room for mutation) and update the tool, results:
How cool is that? Now I'm starting to wonder what about mixing the shapes and allowing shapes to mutate between each other? What other shapes are there to reduce data, rectangles next? What a fantastic comment and idea! Evolution of Polygon Images![]() I've been out of the loop again! Apparantly this very cool stuff by Roger Alsing was posted on Slashdot last year. Well I didn't see it, if I had I would have jumped to trying to implement the same thing - it's just so cool. I'm not sure there are any practical uses for it (maybe some texture compression stuff for games?) but it's just such a cool idea. So, given that I saw it posted on JGO a few days ago, I ran at it and tried to implement the process. A few painful bugs later and I had a command line tool. Since I had the day off I spent some time tidying the whole lot into a GUI based application. Whats happening here then? First we generate a set of polygons. Next we mutate the polygons (move them about, add some, remove some, change colours). Compare the first set and the new set of polygons to the original image. Choose the one that is closest and mutate again. Repeat. Alot. Update: Couple more examples using 150 polygons ![]() ![]() You can get some pretty cool results with a bit of time. The image above was captured over 2 hours. My version of the GUI tool looks like this: ![]() The tool is available as an executable jar (i.e. you'll need java installed). The source code is also available here in an Eclipse project. There will of course be bugs and improvements to be done. I might find some time but even if not, a very enjoyable distraction! Software Rendering in Java with JPCT - A Racing DemoSomething I've been meaning to look at for a while is JPCT, a software 3D renderer written in Java thats been around for years. I've seen it around lots of times but I've never had quite enough time to sit down and have a play with it. I found time over the last week or so to spend a few evenings hacking away with JPCT so I'd have an idea how good, fast and useful it was - and I've had a pleasant reception. The API is tidy and simple. It's not as ornate as some of the scenegraphs out there, but has some slight oddities (like having to add a node to a parent and the world). In general you'll find it easy to work with. Productivity-wise it's astounding. I found myself having a demo up and running within a hour or so. Collision is built in and took less than an hour more to add. There's some simple model loaders (3DS, OBJ and MD2) which cover just enough to get your game playable. Since it has a software renderer demo-ing it to other people as an Applet is a piece of cake and the thought that there is a hardware renderer (either JOGL or LWJGL) is very comforting for future proofing the demo. Support is good, I popped along to the forums to ask about performance and potentially multithreading the software rendering process (something I've always found facinating). Within a day Egon (the owner and main developer) has a version working which boosted the performance on my local machine by 66% (1 -> 2 cores). The documentation is limited, but is enough to get started. The forums seem friendly if a little quiet. Overall.. JPCT is really rather good and sadly seems to be overlooked in favor of the more giant JME, Xith and now Ardor3D. If you're just wanting to get something running and you don't need the massively beautiful effects then JPCT is just the ticket. Thats not to say JPCT can't do the beauty but it's focus seems to primarily be on getting things done. Ok.. and here's the demo I built while trying the library out: ![]() Click Here By kevin at 2009-09-29 21:51 | Code | add new comment
Beer! Slick Game Contest!The wonderful chaps over on the Slick forum have decided that a contest is a good idea! The theme? BEEEEEEEER! It's a great plan, and I think we'll be find a token prize! It's going to run for a month or so, probably next. Get over there and get it! Google AppEngine - Suddenly Servlets are UsefulI've been coding enterprise stuff in Java for years. It's how I get by in the world, and how I pay for gadgets. I often find theres a lot of cross over between the stuff I do for work and the my interest in games development outside of work. However, one of the key building blocks enterprise development, the Servlet, is something I've never been able to use in game development. They're powerful, they're flexibile, they're open and they'd probably make good server technology - why don't I use them? Simple, hosting, there's never a good place to host Servlets for free when you get database access and sufficient bandwidth/CPU to run anything on. I could run JBoss on our hosted server but we've found that to be very painful in the past. As such I've always resorted back to PHP for my web based games and scripts, simply because the hosting is free and the load is light. The downside is that I rarely have any really nice reusable or tidy server side code.
Google have given me more toys to play with! Google AppEngine is a server side environment for hosting web applications. Originally it only supported Python, but they've sensibly extended this to Java. What they provided is an open and free (for low bandwidth usable) HTTP servlet container. Fantastic! What's more they allowed use of a highly distributed cluster of machines, including a distributed datastore (via JDO) and in memory cache (JCache). This leaves you with everything an enterprise developer needs - well, almost :) I haven't really had time to test this stuff out until the last couple of evenings. I've knocked up a game of reversi/othello, that I've named "FlipIt" for trademark reasons, with the cross platform android/iphone/applet stuff. Today at lunch I was playing a game against a friend in Seattle. I was on my phone, he was using the applet. How cool is that? It's a simple turn based server. It uses the datastore for user records and the cache for game sessions. It's a quick 2 evening hack so I'm sure it's broken in many ways, it was really about seeing if this appengine stuff is all it was cracked up to be.... it is! Check out Flip It if you want to try it. No guarantees on everything working of course. I've still got one bug to beat on the android version, but that should be along soon too. So what else could you need? Well, how about a control panel for your applications that lets you: a) See the stats on how many bandwidth/cpu you're using It does all of the above and in a very slick manner. What's more, for starting out, it's entirely free. This has every potentional of being the hobbiest's dream server. Seriously, go check it out! XMLVM OpenGL Support Patch CommitedMy patch for XMLVM described previously has been commited to the head by the wonderous XMLVM team. The patch allows you to develop OpenGL application in Java that can be compiled into iPhone ObjC and then onto the real device. ![]() Thats right, OpenGL development in a nice language like Java with a target of iPhone. Performance is pretty damn great too - especially when you manage the garbage carefully with the XMLVM annotations. Thanks XMLVM team, great stuff! |
DisclaimerNote that the views on this page are not intended to offend. If they do, you might be taking the content too seriously.
Twitter Updates
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 2D OpenGL Based Game Library ![]() 2D Game Physics Engine in Java Game Developers How about a list of the developers doing interesting things in java gaming. Game Dev Resources Looking for Game Development Resources? Check out the List! |