Forest for the Tree by iximeow
Here we go again with amateur game developer, Ludum Dare 26 edition!
Forest for the Tree.
This time around, I've had game design for RTSes in mind. No surprise; I've been working on a space RTS project again, lately.
So what I went with was something (very) loosely modelling how an RTS is played.
Something along the lines of having a base, and then a network of connections from it that do this, that, and something else.
(If not physical connections, connections of importance to gameplay)
So I went and abstracted that away into this!
The name is a play on the fact that the network made by the player is always a tree, and ideally there would have been AI(s) that would be making their own trees, for a bit of a forest.
Then I realized I have no idea what I'm doing with AI and sort of scrapped that.
So, WHAT IS THERE TO DO THEN, IXI?
When you start the game, and get past the five-frame intro, there is a world of nodes, where the camera is centered over a grey, solid circle.
The solid circle is your "home" node, and is where you can start connecting to other nodes.
Left clicking on a node that is the home, or is connected to home, lets you connect -that- to another node, given that...
The node you're connecting to is inside the circle that comes up and,
The number just under the cursor is less than or equal to the number at the bottom right of the screen that matches the "destination" node.
Right clicking on a node that is home, or connected to home, lets you disconnect the nodes and relink them.
Perhaps to come up with a more efficient tree, for example.
Gameplay is organized into two-second "ticks". Every two seconds the home node "pulls" on every node connected to it.
If a connected node has resources available, one is pulled into the home node and added to the pool.
This is repeated for the nodes that are connected to home, the nodes connected to them, and so on.
The center of each node is a timer (in seconds) that tells you how long it will be until that node produces a resource.
(Incidentally, resources are pulled based on how slowly the node that produced them works)
Around each node is a list of what resources are contained there, listed in the order they will be pulled closer to home.
That's about it, hopefully you find it as entertaining as I do.
Also, I thorougly encourage you to read the comments in my code, starting with main.java. I spent about an hour of Saturday night just rambling, and if you're willing to argue with me about it, that'd be great.
-Andy
Also if there are any crashes/comments/concerns, please do get in touch with me at ixineeringeverwhere(at)gmail.com
Edit: Caught a small bug that makes it break on my (and many other) laptops. It seems to not work on some Macs though! I'm fairly lost on that, as I don't have one to test on, myself.
Forest for the Tree.
This time around, I've had game design for RTSes in mind. No surprise; I've been working on a space RTS project again, lately.
So what I went with was something (very) loosely modelling how an RTS is played.
Something along the lines of having a base, and then a network of connections from it that do this, that, and something else.
(If not physical connections, connections of importance to gameplay)
So I went and abstracted that away into this!
The name is a play on the fact that the network made by the player is always a tree, and ideally there would have been AI(s) that would be making their own trees, for a bit of a forest.
Then I realized I have no idea what I'm doing with AI and sort of scrapped that.
So, WHAT IS THERE TO DO THEN, IXI?
When you start the game, and get past the five-frame intro, there is a world of nodes, where the camera is centered over a grey, solid circle.
The solid circle is your "home" node, and is where you can start connecting to other nodes.
Left clicking on a node that is the home, or is connected to home, lets you connect -that- to another node, given that...
The node you're connecting to is inside the circle that comes up and,
The number just under the cursor is less than or equal to the number at the bottom right of the screen that matches the "destination" node.
Right clicking on a node that is home, or connected to home, lets you disconnect the nodes and relink them.
Perhaps to come up with a more efficient tree, for example.
Gameplay is organized into two-second "ticks". Every two seconds the home node "pulls" on every node connected to it.
If a connected node has resources available, one is pulled into the home node and added to the pool.
This is repeated for the nodes that are connected to home, the nodes connected to them, and so on.
The center of each node is a timer (in seconds) that tells you how long it will be until that node produces a resource.
(Incidentally, resources are pulled based on how slowly the node that produced them works)
Around each node is a list of what resources are contained there, listed in the order they will be pulled closer to home.
That's about it, hopefully you find it as entertaining as I do.
Also, I thorougly encourage you to read the comments in my code, starting with main.java. I spent about an hour of Saturday night just rambling, and if you're willing to argue with me about it, that'd be great.
-Andy
Also if there are any crashes/comments/concerns, please do get in touch with me at ixineeringeverwhere(at)gmail.com
Edit: Caught a small bug that makes it break on my (and many other) laptops. It seems to not work on some Macs though! I'm fairly lost on that, as I don't have one to test on, myself.
Ratings
| Coolness | 66% | 3 |
| Overall | 2.65 | 1074 |
| Audio | 2.38 | 748 |
| Fun | 2.27 | 1135 |
| Graphics | 2.41 | 1024 |
| Humor | 1.88 | 819 |
| Innovation | 3.05 | 617 |
| Mood | 2.81 | 611 |
| Theme | 3.19 | 885 |
Once I realized that there is indeed an element of danger, I was able to continue playing for quite some time before getting board. All in all, good job!
I didn't like the metaphor at the beginning though. Such a lovely abstract game, why include "people" why not just call them nodes?
windows 8 :-(
"java.lang.RuntimeException: No OpenGL context found in the current thread.
at org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)
at org.lwjgl.opengl.GL11.glGetString(GL11.java:1770)
at com.ixee.GraphIX.glEEngine.<init>(glEEngine.java:232)
at com.ixee.GraphIX.GIXEngine.<init>(GIXEngine.java:37)
at com.ixee.GraphIX.GIXEngine.<init>(GIXEngine.java:34)
at ld26.main.main(main.java:105)
"
But I liked the "reading source code" minigame. It's echoing my thougth on cognition and information processing.