Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (524)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (593)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  text adventure game  (Read 10918 times)
0 Members and 1 Guest are viewing this topic.
Offline linucksrox

Junior Newbie





« Posted 2006-07-22 01:17:21 »

I'm working on a text adventure game. I have a general idea for the design, well maybe more than just that, but I'm not sure how to put it all together.
Here's what I have:
Game class (starts the game)
Character class (has inventory, name, and location)
Inventory class (has list of Items, add/remove functionality)
Item class(es) (has name and bool isUseable)
Room class (has description of room, room variables like locked doors or lamps, items that you can pick up)
RoomVariable class(es) (has objects in the room that can change state like a lamp or a chest)

that's what i have so far, i'm not sure how to put it all together... any suggestions? thanks a lot
Offline bahuman

Junior Devvie





« Reply #1 - Posted 2006-07-22 01:25:08 »

seems like a solid start  Cheesy
one suggestion:

instead of having a RoomVariable class, let each room have a list of items. Those are the items inside that room. Each of those items have a use() method. An item of class "Lamp" would illuminate the room. An item of class "Sword" can be picked up, and you can swing it around.

Good luck. You still have a looong way to go!
Offline linucksrox

Junior Newbie





« Reply #2 - Posted 2006-07-22 01:31:17 »

Ok, that is a big help. I can just have different types of items. But now I'm wondering about a solid location system. I had an idea to make a Location class that can hold x, y, and z coordinates in a 3D map, and the character has methods to modify or retrieve that location. Or would it be better to just store x, y, and z in the character class?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Jeff

JGO Coder




Got any cats?


« Reply #3 - Posted 2006-07-22 05:30:16 »

Well this begins to sound more like a MUD thena  text adventure.

Because TextAdvetures are only single player they typically dont have ANY objects like this.  What they have is a finite state machine where each state canhave an invetory attached and a parser for generating events that mvoe you from one state to the next.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline fletchergames

Senior Devvie





« Reply #4 - Posted 2006-07-22 17:46:03 »

In a regular text adventure, I would store a list of the characters in the location, just like the items.  Only the player would be seperate, and I would just store a reference to the Location object he's in, not 3D coordinates.

If the NPCs are moving from area to area, I still wouldn't use coordinates.  The only way I would use coordinates is if there were some sort of pathfinding to find a path between different areas.  That's a little bit different from a regular text adventure, but it might be fun.  Then again, if you're going to do that, you might as well add graphics or at least make it a Rogue-like game.
Offline linucksrox

Junior Newbie





« Reply #5 - Posted 2006-07-23 04:15:38 »

Well I want to take the least complicated approach right now. I have been working on this game (on and off) for over a year and I would like to finish it so that I can move on with my life and work on other (more useful) projects.
I don't NEED a Location object, and obviously coordinates aren't the right choice for me. I just want a simple text adventure, no battle system, just a small to medium sized quest in which there is one playable character, no NPCs, and you go find items, use them on stuff, and eventually finish the quest and find the end or the last treasure or something stupid.
So, I think I'll run with the idea to store the character in the Room location, but then I'm not sure how to change the location... each room object knows where its exits are, so I could check say a moveNorth() command on the player, but then what might be a good approach to store the map? maybe the character can have some kind of list of rooms, so if he can moveNorth() then you know which room to move him to. or could there be a Map class? I'll put some thought into it before posting again...
Offline purpleguitar

Junior Devvie





« Reply #6 - Posted 2006-07-23 12:25:42 »

It sounds like each room is a node in a graph.  I would just let each node be aware of its neighbors, a la:

1  
2  
3  
4  
5  
6  
7  
enum Direction { N, S, E, W, U, D};
interface Room {
  /* Check if the player can move in the given direction from this room. */
  boolean canMove(Direction d);
  /* Get the next room in the given direction, or null if it is an illegal move. */
  Room next(Direction d);
}


Then your game needs to know the player's current location (could be a property of the player or of the game, depending on your design), and your interpreter needs to be able to change the location, e.g.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
class Interpreter {
  ...
  public void interpret(String cmd) {
    ...
    if (cmd.equals("n"))
      if (player.location().canMove(Direction.N))
        player.moveTo(player.location().next(Direction.N));
     else
        console.write("You cannot go that direction.");
    ...
  }
}


Clearly, it could be more elegant and I'm waving my hands a bit, but this is the approach I would take.

You might want to take a look at John Estell's "Nifty" Adventure Game assignment:  http://nifty.stanford.edu/2002/EstellNifty2002/pokagon.html.  The design isn't given, but it has some good advice and sample data files.  Also, it looks like the solution is constructed in procedural C++, but as Jeff said earlier, text adventures are basically finite state machines, and that's the same whether you model them procedurally or object-orientedly.
Offline Jeff

JGO Coder




Got any cats?


« Reply #7 - Posted 2006-07-24 04:32:33 »

Well I want to take the least complicated approach right now. I have been working on this game (on and off) for over a year and I would like to finish it so that I can move on with my life and work on other (more useful) projects.
I don't NEED a Location object, and obviously coordinates aren't the right choice for me. I just want a simple text adventure, no battle system, just a small to medium sized quest in which there is one playable character, no NPCs, and you go find items, use them on stuff, and eventually finish the quest and find the end or the last treasure or something stupid.

Um and youve been working on this for a year???

No offense but I think maybe you dont really knwo what your doing and vastly over-complciating your problem.

i wrote a basic text adventure engine years (about 25 years)  ago (simple scott adams style noun-verb parser) in about a month of free time when I was betwene highschool and college in BASIC ona super-pet.  I could write it again probably in a  weekend in Java.

The state machine is very simple and straightfoward. The only things that should take any time at all to write are the parser IF you want to do more complex late-infocom style commands and the data for your adventure-- and the vast majority of the work should be  in the design and keying of the data.



Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline linucksrox

Junior Newbie





« Reply #8 - Posted 2006-07-24 06:16:50 »

Jeff, you're right, I don't really know what I'm doing. And about having been working on this for a year, I put in a good month about a year ago, I've thought about some parts here and there, and then recently I've tried to put something together again. I guess it's more accurate to say that I started this project a year ago.
So I guess I should be asking the question what resources are there for me to learn what I'm doing and get a better idea how to make this type of game? Thanks.
Offline bahuman

Junior Devvie





« Reply #9 - Posted 2006-07-24 08:06:33 »

Um and youve been working on this for a year???

No offense but I think maybe you dont really knwo what your doing and vastly over-complciating your problem.
<yada yada>

No offense either, but why don't you post something useful, instead ?

Google came up with these:
http://www.ifwiki.org/index.php/FAQ#How_can_I_write_my_own_game.3F
http://en.wikipedia.org/wiki/TADS
http://www.xyzzynews.com/xyzzy.1e.html
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Jeff

JGO Coder




Got any cats?


« Reply #10 - Posted 2006-07-25 07:37:12 »

Um and youve been working on this for a year???

No offense but I think maybe you dont really knwo what your doing and vastly over-complciating your problem.
<yada yada>

No offense either, but why don't you post something useful, instead ?

I did, above.  To quote:

"Because TextAdvetures are only single player they typically dont have ANY objects like this.  What they have is a finite state machine where each state can have an invetory attached and a parser for generating events that move you from one state to the next."

If you know what a state machine is, implemntation should be obvious from that statement.

If you don't then say so, and Ill explain further.


Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline bahuman

Junior Devvie





« Reply #11 - Posted 2006-07-25 07:53:51 »

If you know what a state machine is, implemntation should be obvious from that statement.

If you don't then say so, and Ill explain further.

I think I do know, but I can't apply it to text adventures, and from what little I managed to google, I couldn't find a nice recipe. So yes, I'd be very interested!
Offline Jeff

JGO Coder




Got any cats?


« Reply #12 - Posted 2006-07-25 20:57:28 »

Okay, really simply.

A Finite State Automata (FSA), also called a "state machine"  is a machine that exists in one and only one state at a time.  It takes as  input an event.  An event causes a transition to a new state.  Part of that transition may be to generate output. 

FSA transitions can be described by  a 2D array where the X coordinate is the state, the Y coordinate is the event and contents of the cell is the transition which would be a new X coordinate to change to plus output or other action information.  This array is often called a "transition table"

Lets imagine for a moment that  you have a world of two rooms. NorthRoom and SouthRoom and 2 events-- "Go North" and "Go South".

Your state transition table might look like this:

States:
0 - North Room
1 - South Room

Events
0 - go north
1 - go south

Table:

    Room 0  Room 1 
Event 0  set state to room 0
Event 1  set state to room 1

Now this by itself is not enough to be the adventure game ebcause there is no roomdescription yet.  No output.
Typically, an assumed part of every transition in sucha  game is "print descritpion of new state."  You keep that in another table like this:

  Room Number  Room Description 
Room 0  A big spacious cavern with a door to the south
Room 1  A tiny little hole with a door to the north.

Thats all the basics. Lets stop and make sure you are foillowing that then Ill explain how you add inventory, conditional actions, chnages to rooms and winning/losing.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline linucksrox

Junior Newbie





« Reply #13 - Posted 2006-07-26 03:09:15 »

I'm not exactly understanding the state machine concept, but it does seem a whole lot simpler than trying to build a bunch of classes. Can you explain more or give other resources on it? Thanks.
Offline beowulf03809

Junior Devvie




We live for the code, we die for the code


« Reply #14 - Posted 2006-07-26 12:49:12 »

the STATE of an object is exactly what it sounds like..."What" or "Where".  By Finite State it means that the object can have only a finate number of applicable states...one.  For a text adventure game like Jeff's describing your PLAYER object will have a STATE which will be the location in your game world where the PLAYER currently exists.

The other key part of the FSM is how you get from one state to another ( transition ).  in Jeff's example that transition will be the movement options you give the PLAYER.  When you define a location in the game, you will decide how many ways out of the room exist and what locations they lead to.  When the player selects one of those options, you change thier STATE to the one representing the new location.  This will trigger "something" to happen in your game.  At a minimum it will be providing a text output of the location's description, although it could also be something like "you're attacked by a flame troll and die a miserable death."

I have never made an FSM adventure game before ( good tip Jeff! ) but I have studied their use in AI.  They are often used for tasks such as determining if your NPC enemies will ATTACK, PATROL, RETREAT, etc.  For example, your NPC may be in the PATROL state which means they will follow a predetermined path.  If a player attacks the NPC or moves within a certain range of it, the NPC will enter the ATTACK state which changes its movement to pursue the player.  If they NPC suffers more than 80% damage they will enter the RETREAT state and move as quickly as possible away from the player.

A quick google of "Finite State Machines +Games" kicked out the typical 50k hit output.   However, the first is this:

http://ai-depot.com/FiniteStateMachines/

I only had time to give it a quick scan but it looks like a very good intro to FSMs that gets deeper as the article goes on.  And it's on AI Depot wich is a pretty good reference site which I've used in the past.  Give it a quick read.

Hope this helps the OP, and I look forward to Jeff's next installment of managing the inventory in this game model.   Grin
Offline bahuman

Junior Devvie





« Reply #15 - Posted 2006-07-26 12:51:02 »

Thats all the basics. Lets stop and make sure you are foillowing that then Ill explain how you add inventory, conditional actions, chnages to rooms and winning/losing.

I'm with you, and thank you for taking the time to explain it!

The problem I had, was figuring out how entirely unrelated states (the room you're in is one set of states, your inventory is another, and every NPC's attitude towards you can be a state machine in itself) can be modeled in a single state machine, without requiring an explosion of states (#rooms * #items * #NPC's * #attitudes).

Because I guess an explosion of states is also an explosion of the amount of work that needs to be done in the story-telling department (would you need to describe the same room for every possible NCP, even if the room's description depends on only one NPC?)
Offline beowulf03809

Junior Devvie




We live for the code, we die for the code


« Reply #16 - Posted 2006-07-26 12:55:57 »

One thing I forgot to throw out as a warning...transitions are not automatically reciprocal.

If you have NorthRoom and SouthRoom and set a transition from NorthRoom to SouthRoom, you do NOT automagically get a transition from SouthRoom back into NorthRoom.  It's VERY, VERY important to really understand your layout and how you expect to be able to move around the world and to test each possible transition from every location.   Otherwise, Murphy's Law states that of the one thousand locations in your world, 90% of your players will find themselves going into the one location that you forgot to code an exit transition for.   Shocked
Offline DavidBoBavid

Senior Newbie





« Reply #17 - Posted 2006-07-26 13:31:04 »

this thread is getting more and more interesting. i was just lurking before, but i want to throw in my request for jeff to continue his example as well. Smiley
Offline purpleguitar

Junior Devvie





« Reply #18 - Posted 2006-07-26 15:04:45 »

I'm not exactly understanding the state machine concept, but it does seem a whole lot simpler than trying to build a bunch of classes. Can you explain more or give other resources on it? Thanks.

I think it's important to point out that FSA are an idea, a mathematical model.  Implementations of FSA can be done in any language, in any paradigm.  Adopting an FSA model for your game does not preclude the definition of classes.  If you're using Java (which I assume you are since you're on this forum), I recommend an OO-approach to FSA.

In fact, if you look at the code outline I supplied earlier, you'll see that it can be used in an FSA: the state of the game is defined by the location of the player, which is a Room.  The set of possible transitions are represented by connectors between rooms and the transitions are implemented through the command interpreter.  This is still an FSA, just an indirect implementation.

You could implement an FSA directly, probably with State and Transition classes, but this takes you a level away from your game.  The point of OOP (or *a* point of OOP, if you prefer) is to provide solutions to problems that are close to their own domain.  Rather than define a problem in terms of mathematical operations, a problem is defined by objects that represent the elements of the problem "in the real world".  By lifting yourself out to the level of traditional FSA (not FSA-in-games), you may as well just use Pascal.  There's nothing wrong with this, but it is against the grain of Java and OOP.

bahuman makes a great point:  if you want to implement pure FSA, then you would by definition need an exponential number of states, since you're dealing with multiple variables (location, inventory, possibly other things).  Hence, I recommend learning about FSA, keeping in mind the lessons of structured programming, but applying modern techniques of OOP and design patterns to your problem.

But hey, I'm on vacation, so I best get out and have some fun... just wanted to share my two cents.
Offline Martin Strand

Junior Devvie





« Reply #19 - Posted 2006-07-26 16:05:04 »

For text adventures you can use this: http://www.inform-fiction.org/I7/Inform%207.html
A remarkable piece of software that has evolved since the time when Jeff wrote his game 25 years ago.

Example: http://www.inform-fiction.org/I7/ex183.html#e183
That's the actual source code for the game! Cool, huh? Smiley
Offline Jeff

JGO Coder




Got any cats?


« Reply #20 - Posted 2006-07-26 22:33:43 »

Ya know... this is starting to feel like a blog.

Anyone mind if I take it to my blog and add source code?

Blog is blogs.sun.com/gameguy

Okay a more complete and easier to read versionof what Ive covered so far is up along with some working sample source.

Im having a small problem with the formatting in that im getting way too much headroom before each table. if some HTML guru wanted to look at the page soruce and tell me how to fix that Id much appreciate it.


Tomorrow Il add the next installment.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #21 - Posted 2006-07-26 23:45:12 »

For text adventures you can use this: http://www.inform-fiction.org/I7/Inform%207.html
A remarkable piece of software that has evolved since the time when Jeff wrote his game 25 years ago.

Example: http://www.inform-fiction.org/I7/ex183.html#e183
That's the actual source code for the game! Cool, huh? Smiley

Interesting.  it looks like an application of declarative langauge programming (eg Prolog).

JK

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #22 - Posted 2006-07-26 23:46:17 »

Thats all the basics. Lets stop and make sure you are foillowing that then Ill explain how you add inventory, conditional actions, chnages to rooms and winning/losing.

I'm with you, and thank you for taking the time to explain it!

The problem I had, was figuring out how entirely unrelated states (the room you're in is one set of states, your inventory is another, and every NPC's attitude towards you can be a state machine in itself) can be modeled in a single state machine, without requiring an explosion of states (#rooms * #items * #NPC's * #attitudes).

Because I guess an explosion of states is also an explosion of the amount of work that needs to be done in the story-telling department (would you need to describe the same room for every possible NCP, even if the room's description depends on only one NPC?)

Nope, thats inventories.  Next topic after I touch on parsers Cool

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #23 - Posted 2006-07-26 23:47:43 »

Btw I just noticed you mentioned "NPCs" above.   I shoudl mention that gets a bit mreo complex and is a more advanced feature then I thought you were initially describing.

Typcially in an infocom game an NPC is a commandable invetory item.  It may have its own state machine to respond to commands depending on how complex it is. 

But ill get to that when I discuss inventories.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline DarkMortar

Junior Devvie




Java Padawan


« Reply #24 - Posted 2006-07-27 00:00:06 »

ah, i made a text game... it was an rpg combat system actually... far from complete, yet fairly complex combat, a lot of stats were involved, and this tookme a month to make.
http://forums.devshed.com/game-development-141/first-major-program-in-c-360987.html

Yet now im joing java and not C, and I want to work with graphics, which is a whole new dimension and scarry. just dont give up... dont let yourself get offended by how long you take, program is hard... most people cannot do this, even a hello world program(because most dont try Cheesy).

anyway i have dreams just like anyone else does, and i cant wait till i am in the middle of creating my graphical 2d civilization-like game  Grin, it will be so fun if i can understand some concepts.

Offline linucksrox

Junior Newbie





« Reply #25 - Posted 2006-07-27 03:31:53 »

Wow, I didn't know this thread would create so much conversation, but I am learning a lot and I am very encouraged to continue working hard on my game. I am currently looking at the TADS environment to create a game, and then I'm thinking about going from that design to convert what I create into java. That way I will understand much better how that type of system works.
Also Jeff, I am VERY interested in reading your blogs on FSAs and your step by step tutorials on using FSAs to create a simple text adventure game (at least it looks like it will be a set of tutorials).
Even just thinking about all of this I am having a lot of fun and I can't wait to see what becomes of all this. I will be sure to post my game if I ever complete it so anyone can criticize it or whatever.
Anyway I hope to continue to learn a lot from this project and I appreciate all the help I'm getting from you guys. I hope you're having fun with it as well.
Offline beowulf03809

Junior Devvie




We live for the code, we die for the code


« Reply #26 - Posted 2006-07-27 12:41:04 »

Btw I just noticed you mentioned "NPCs" above.   I shoudl mention that gets a bit mreo complex and is a more advanced feature then I thought you were initially describing.

Typcially in an infocom game an NPC is a commandable invetory item.  It may have its own state machine to respond to commands depending on how complex it is. 

But ill get to that when I discuss inventories.


My NPC reference was not intended to relate directly to creating a text adventure game but rather as another example of FSMs in games ( AI behaviour for NPCs ) so that the OP will understand that learning about FSMs has payoff down the road as well, not just in the context of a basic text-based game.
Offline DavidBoBavid

Senior Newbie





« Reply #27 - Posted 2006-07-27 15:21:26 »

Jeff.. thanks for turning this into an ongoing blog. Smiley

Props to the OP for kicking this off, however unintentional it may have been. Tongue

Now I'm going to take time away from the other game I was trying to make to play around with this!  Cry
Offline DavidBoBavid

Senior Newbie





« Reply #28 - Posted 2006-07-27 15:25:23 »

Jeff.. I had a look at the blog.. holy whitespace!

I looked at the html, and there's an unnessecary abundance of br tags in there.. like 2 after the paragraph, and one after each line in your table definition. if you're unfamiliar with the html, br is a new line. so just clean up the html around the table blocks and get rid of the br tags at the end of each line.
Offline fletchergames

Senior Devvie





« Reply #29 - Posted 2006-07-28 02:15:27 »

I'm with you, and thank you for taking the time to explain it!

The problem I had, was figuring out how entirely unrelated states (the room you're in is one set of states, your inventory is another, and every NPC's attitude towards you can be a state machine in itself) can be modeled in a single state machine, without requiring an explosion of states (#rooms * #items * #NPC's * #attitudes).

Because I guess an explosion of states is also an explosion of the amount of work that needs to be done in the story-telling department (would you need to describe the same room for every possible NCP, even if the room's description depends on only one NPC?)
You don't have to map out every possibility like that.  Viewing a text adventure as an FSM is a very abstract way of looking at it.  I imagine that you could view any program you write as a modified Turing Machine, but you probably wouldn't.

First, you've read Jeff talking about inventories.  There won't be a seperate states for which items are in which rooms.  Instead, each room will just have an array (or a collection of any kind) of what items are in it.  Effectively, each room has an inventory.

You'll have options like "get apple", but these won't be modeled with a bunch of states.  They'll just move items from the room's inventory to yours.  You'll also have options like "drop apple" if you have an apple in your inventory.  That will just move your apple from your inventory into the room's inventory.

There are some exceptions to that.  There may be items you can't pick up, and there may be items that burn you or something.

Second, there's alot of things that you might do in one room that won't affect any other rooms.  For instance, in one room, you might be able to open a trap door, sleep in a bed, or search the fireplace (or whatever).  Doing any of those things doesn't affect any other room.  So you can have one FSM for all the states within that room.

Then you can have one big FSM for the whole game.  Each state of the FSM is another FSM representing what can happen in each room.  What I would do is just have an FSM for each room and then have some sort of variable storing which room the player is in.  This could be a problem if you want to add something special to a text adventure game, but then you'll just have to adapt your design accordingly.
Pages: [1] 2
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

toopeicgaming1999 (29 views)
2014-11-26 15:22:04

toopeicgaming1999 (26 views)
2014-11-26 15:20:36

toopeicgaming1999 (7 views)
2014-11-26 15:20:08

SHC (24 views)
2014-11-25 12:00:59

SHC (24 views)
2014-11-25 11:53:45

Norakomi (24 views)
2014-11-25 11:26:43

Gibbo3771 (23 views)
2014-11-24 19:59:16

trollwarrior1 (36 views)
2014-11-22 12:13:56

xFryIx (75 views)
2014-11-13 12:34:49

digdugdiggy (52 views)
2014-11-12 21:11:50
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
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!