Archive for the ‘LD #23’ Category
Well, I’m on towards the home stretch (I hope)!
I have one more piece of “AI” to implement, and that’s the controller for enemies and it’s going to be a very stupid one given the rules of the game, however they’re really just there to mess with the player, heh, so they don’t have to be very smart, just have to be bastads.
While doing that, I get to implement something that’ll ‘destroy’ tiles, changes tiles, and attempts to convert neutral units to your side. Then I can test the game. Still haven’t decided when/how collisions are going to occur, but that’ll happen shortly.
I’ve gotten buttons in there, but I still need to actually write some other stuff for them to really work, other than the turn button that is. Hah.
Anyway, this is a screen that shows my initial implementation, with two units on the screen, the blue’s yours and the yellow/orange is neutral.
Currently, the indication of your territory is based on the tile type that’s painted. I’m thinking of keeping everything the same, except maybe making the tiles more.. tile-like when it comes to differentiating edges. These are the sprites I’m using, and yes I did kind of cheap out on the Souls because I was having trouble making a flat colour version of them that looks right to me.
Ugh! So, I’m using libGDX as the primary Framework for doing all of my drawing, and while it seems to work fairly great for the most part, I’m running into some weird/awkward things with it.
As you can see, on the two different tiles (The one with the table and the cross) it looks like the image is being scaled to be one pixel thinner. It’s happening on the 3rd and 6th sprite on my sheet (Each image is 40×34). I’m probably just going to use a single image for each tile if I can’t figure out why it’s doing that!
Anyway, I’ve got some minor ‘building’ based activities down.
So, after messing around with things for several hours, and discovering that I was mostly making a few (Silly) mistakes, like not updating a unit’s internal position information after moving it on the map’s datastructure, I’ve got a Soul roaming around aimlessly on my map. Also had to set up the drawing of the map (Which is currently crude) and the like. Note the “cool“ graphics.
Next stop is checking whether it’ll go to a ‘goal’ correctly.
I just don’t know where the time went!
However, I think I’m not ready to once more attempt to wrastle with the code that I have and the idea. Hopefully, I can get the basic “AI” and stuff for the unit control ready without a problem. I’m thinking that most of the control for the game will be handled by a semi-stupid AI, mostly ‘If no task, wander aimlessly’ and ‘If at war, attack units attack, defense units move towards closest invader’ sort. After all, the AI is just supposed to be simple souls protecting their Idea, not super intelligent stuff!
Also trying to decide if I still want to implement the whole ‘world splitting’ thing, but I guess that can come up when I have the AI done.
Bah! I’m probably biting off more than I can chew with my current plans!
Basically, building on my earlier post about the Ideas, Souls and Worlds I started to implement some stuff. Starting with the worlds of course!
So, I’m using the personal library that I posted before the start of the Compo to make a ‘hex map’ world for the souls/ideas to inhabit. Typically a single Idea and the Souls who believe it inhabit a single world. They go about their business, thinking thoughts about their Idea, developing it and making it theirs. However, since they’re in space and there’s never just one idea there are several different worlds. Each world moves through space (I haven’t decided how it’ll work yet!) and they can end up colliding.
When a world collides, the souls that believe the idea go to war. When one side, or the other, is destroyed (By annihilating the source of their idea) the war ends. After a war is over, portions of the world can be destroyed by exerting belief in the idea. This is the mechanic by which the player controls the size of their world, by breaking off chunks of their world and letting them float through space. It’s the algorithm that manages the breaking up of worlds that I’m having the fun with.
Currently, my plan is that I’ll do a contiguous search from certain points, move all contiguous tiles to another map basically the same size, then shift all of the non-empty tiles to the as far left as I can, then as far up as I can (As close to X=0 and Y=0). It’s sort of working, but there’s some small part of it that’s messing up and driving me crazy!
So I’m thinking of scraping this for now and just implementing the code that controls Soul movement on the map and the like (When I wake up tomorrow that is!)
One of the only things I voted a -1 for. Oh, well!
I think that I do have an idea that will work for it.
Thoughts on “Tiny World”
- The world starts as tiny.
- The world can grow, but should optimally be small.
- Size of “World” can be based on perception.
So, my idea is a semi-strategy game based on a mixture of these.
Tiny World- A War of Ideal
In the void there is an idea, one that to grow will need souls to believe in it. For souls to exist they must have a place to live. So an idea begets a world. Souls will come to world, will believe in the idea. But the power of an idea is limited and ideas have trouble coexisting in the same world.
This is my first LD and I figured, since I was planning on using some of my personal code library for whatever I end up doing (Unless it turns out that I’m doing something completely different) that I would make it available and perhaps put up some other information.
First, the personal code library: Mapping Utilities. This is a small library that contains a set of classes to quickly define rectangular arrays of various sorts, including a mapping to a hex map (Including directionality options). I’m not certain about how efficient the code is, but I’ve been using it for some time. Feel free to make use of it
Second, I’m already planning on going through some cross platform fun by using Java and especially libGDX (LWJGL style) with a focus on making a game that I’ll be able to play (And enjoy) on my adroid phone. For the most part I’ll be doing my development in the NetBeans IDE switching to Eclipse if/when I get to the point where I want to test it on my phone.