Java-Gaming.org Hi !
Featured games (88)
games approved by the League of Dukes
Games in Showcase (679)
Games in Android Showcase (194)
games submitted by our members
Games in WIP (734)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 ... 9
1  Games Center / Featured Games / Re: Seven Sages - Decipher secret messages and solve riddles on: 2016-05-11 19:34:29
Very nice! Especially on the graphics for that book. It looks very interesting.

Do what the other guy said! Get it on Steam! We believe in you! Lol
2  Games Center / Showcase / Re: Falling Stars: War of Empires - Now on Steam! on: 2016-05-04 23:56:48
Looks super cool! Broke college student here, but I'll check it out when I have the money.

Also I noticed how good your skybox looked. Did you use a generator for it? If so, I'm pretty sure we used the same one for We Shall Wake. Lol
3  Java Game APIs & Engines / Java Sound & OpenAL / Re: Java OGG API with concurrent playback on: 2016-04-19 03:46:02
As it happens my sound "engine" is open sourced and can be found in the Revenge of the Titans source code (http://www.puppygames.net/downloads/RevengeOfTheTitansSource.zip) although that code is maybe a little old and not as nifty as my newer code... anyway, it's based on LWJGL2 OpenALSoft and JOrbis, and an OggInputStream from here: http://home.halden.net/tombr/ogg/ogg.html (@tombr on these forums)

The basic gist of it is there is a background stream thread that handles all stream reads and decodes (running at priority+3). The data is read in in 64kilobyte chunks; I keep up to 6 chunks in RAM at a time for any stream, as a circular buffer, which I keep as full as possible in case anything comes along that might somehow interrupt sound processing for more than the length of a couple of chunks.

Cas Smiley

Oh wow, thanks a lot!

Yeah, you guys have given me a lot of content to work with here. I'm off to my batcave now to see what kind of coding concoctions I can come up with lol

Thanks again everyone
4  Java Game APIs & Engines / Java Sound & OpenAL / Re: Java OGG API with concurrent playback on: 2016-04-18 05:22:12
LWJGL 3 comes with bindings to stb, which includes stb_vorbis for Ogg Vorbis decoding. You can read the documentation here and explore a simple music player here (demonstrates streaming and seeking).

An stb_vorbis decoder cannot be used from multiple threads, but you can have multiple decoders decoding independently in multiple threads (which is what you need afaict).

Oh wow, thanks. I'll definitely look into it. We actually just ported our engine to LWJGL3 so that could probably do the trick.

Er, I've never had any problem playing back two streams with Jorbis...

Cas Smiley

And this was streaming data from the disk (Not loading it all once)? That's super interesting. How did you do it? You wouldn't happen to have it open source somewhere, would you? I was using this OggInputStream object I found on here:

http://home.halden.net/tombr/ogg/ogg.html

Do you mean 2 vorbis containers in a single ogg file?

I have my own ogg / vorbis loader and it works with multiple containers in the same stream (Because the is how Theora works which I have another side project ot get working). Depending on what you want to do I can potentially help you fix things as I have a pretty good understanding of the format.

I was using two different OggInputStreams as seen above to play two different files at once by streaming them into OpenAL. It causes a crackling noise when you do this. That said, when I used the same method with two WAV files, the sounds streamed fine.

So it seems to be something related to streaming the Ogg files specifically? I'm not sure. Unlike you, I'm definitely not an expert! Lol

Thanks for all the feedback guys. I really do appreciate it.
5  Java Game APIs & Engines / Java Sound & OpenAL / Java OGG API with concurrent playback on: 2016-04-17 08:48:02
Hello,

I have my own sound system library I use for developing games. We usually use OGG-type sound files, but as I've posted on here before, it has issues with playing back two tracks at once in a stream. I shelved the problem back then because we had more important things to do, but I recently came back to it and found that philfrei was right about JOrbis's concurrency issues. It seems to be an inherent problem with the library itself when it comes to streaming in two files at once.

Anyway, I ended up making my own basic format for handling sound files which works fine enough. That said, I'm still interested in having OGG support in my sound system.

I've browsed the internet and haven't had any luck finding a new OGG API (JOrbis seems to essentially be it, and it hasn't been updated in years).

Does anyone know of any OGG-supporting APIs out there that is new and won't have any trouble concurrently reading files? Thanks a lot.

TLDR; I need a JOrbis alternative library that can handle concurrent playback (two tracks at once), preferably with an InputStream tool already built in.


If there's a thread anywhere on this that I may have missed, please feel free to direct me to it and I'll be on my way. Hope this isn't any trouble! Thanks.
6  Discussions / General Discussions / Re: Game research - 4x and card games on: 2016-04-17 07:30:03
I filled it out. Hope it helps!
7  Games Center / Showcase / Re: Fantasy Tales Online (& Editor) on: 2016-04-15 04:11:20
This is actually super cool! Nice work guys. If I ever get some free time I'll try it out.
8  Discussions / General Discussions / Re: Programmer jokes on: 2016-04-12 22:18:14
Braydens my name and necropostings my game!

Quote
A computer science student was writing a note to his crush before the lecture. The student next to him grabbed the note. The first student tried to grab it back. "You can't see that, it's private!" The second student protested, "But we're in the same class!"
9  Game Development / Newbie & Debugging Questions / Re: OpenAL - AL_MAX_DISTANCE on: 2015-09-11 03:23:09
I can't find an example online and it just won't work for me. It doesn't seem have any effect.

Anyone have a clue?


1  
alSourcef(sourceId, AL_MAX_DISTANCE, range);


Riven's point is good, but make sure your distance model is set up too.

The best distance model (that just werkz) is AL_LINEAR_DISTANCE_CLAMPED, set it like this:
1  
alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED);


IRC this is supposed to be the default according to the specification, but when I was working with AL, it didn't work until I set it manually.

If it still doesn't work, check the following things:
  • reference distance makes sense (the minimum distance you can be away before the sound starts fading/needs to be smaller than max distance)
  • rolloff is 1f
  • listener gain is between 0f and 1f (1f seems to cancel out attenuation, and 0f is obvious)

I'm a novice with OpenAL, but I wanted to help out since I have a bit of experience with it and there's not a lot of resources online for getting it going. If I got something wrong I'm more than interested in being corrected.
10  Discussions / Miscellaneous Topics / Re: Social Stigma of Game Dev and Peer Pressure on: 2015-09-11 03:16:10
Hey everyone,

As many of you would know, we have some friends who think that programming computer games are cool, awesome and impressive, but there are also some people who think that this is boring, useless and "sad". That is what they think when I tell them what I do, and it makes it hard to justify staying in on a Friday night for a good programming session. In the end, I always end up being "peer pressured" to do other activities instead, like watching a movie, having a LAN party or going clubbing. Sure these are fun and enjoyable too, and we all need our fair share of going out with friends, but sometimes I'd rather stay in and work on my projects.

I was wondering what you guys think and how you handle these situations.

Make a good game that gets you a lot of money. You won't need to justify anything anymore.

That said, who cares what other people think about what you do in your freetime? There's absolutely nothing wrong with being productive.

Just do you, bro.
11  Discussions / Business and Project Management Discussions / B-Team needed for NOKORIWARE on: 2015-09-07 05:26:46
Hello everyone,

I'm part of a team with theagentd that we call NOKORIWARE. We have a website here: www.nokoriware.com

We've been developing We Shall Wake and an engine alongside it, but about a three weeks or so ago I made a small little 2D game while I was sick. It took around a week and a half to make all of the features the game will need. That said, I'm so busy with our other projects that I won't have time to complete it with content and a story.

I'd like to request one to two novice to amateur programmers to join the team and complete this game. It's a blend of Pokemon/Harvest Moon/Dwarf Fortress.

The only experience you'll really need is atleast a years worth of Java, and knowing your way around the language somewhat. You'll need to know what APIs are and how to use them.

This could be a good opportunity for some of you to work in a team environment, along with the fact you'll get a cut of whatever we make off of this game. We have a full team of artists/marketers/writers that you'll have at your disposal too that you can learn from.

All of this said, please note we can't pay you a regular check or anything like that at the moment. This is definitely directed at hobbyists who usually like to work alone, but anyone can join up with us if you're willing to put in a bit of time.

I hope to hear from some of you, you can contact me at:
contact@nokoriware.com
12  Games Center / Showcase / Re: We Shall Wake Demo 7 is out! on: 2015-08-09 12:29:40
Please check out this new video showcasing our new "Compression Field" gameplay mechanic!

<a href="http://www.youtube.com/v/Q0vzfEv2-EM?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/Q0vzfEv2-EM?version=3&amp;hl=en_US&amp;start=</a>
13  Games Center / WIP games, tools & toy projects / Re: We Shall Wake Demo 7 Preview on: 2015-07-24 02:44:21
Check out this new video showing off our fancy lighting systems:

<a href="http://www.youtube.com/v/zXgpsXb_Q8g?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/zXgpsXb_Q8g?version=3&amp;hl=en_US&amp;start=</a>
14  Games Center / Featured Games / Re: We Shall Wake demo (v6.0) on: 2015-07-07 10:25:14
<a href="http://www.youtube.com/v/2Ax4SIKqYr8?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/2Ax4SIKqYr8?version=3&amp;hl=en_US&amp;start=</a>

New video up! It's a preview of DEMO 7. Check it out!

EDIT:

So sorry I posted this here! Didn't realize theagentd made a new thread!
15  Discussions / Miscellaneous Topics / Re: What I did today on: 2015-06-01 06:34:47

I've spent some free time tonight working on the boss AI for the main rival in the game.

Mostly fixing some bugs. There were some bugs that caused sound spamming, and others that caused his spear to rotate strangely. Turned out to all be typos that took forever to find. Don't you just love that?

I also did some GUI work to make it looks cleaner and make sure that elements that required your attention flashed appropriately to get that attention.

Not nearly as cool as the stuff agentd did and I don't have any cool numbers for you, but I can say that my AI is hyper lethal AND stable.
16  Discussions / General Discussions / Re: How many projects do you go through? on: 2015-06-01 06:03:05
I've been on the same game project for about three years now.

But I do like making new software now and then - mostly small stuff that won't interfere with the main project.
17  Games Center / Featured Games / Re: We Shall Wake demo (v6.0) on: 2015-01-01 12:17:32
Happy new year!

We've released a new features video and launched a Patreon to help fund the game:

<a href="http://www.youtube.com/v/wn_-cdj664k?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/wn_-cdj664k?version=3&amp;hl=en_US&amp;start=</a>
18  Games Center / Featured Games / Re: We Shall Wake demo (v6.0) on: 2014-07-28 08:23:08
Freezes during loading screen, or kinda slightly after loading but before any game.

Quote
...

No gamepad support. Now come on guys - you really wanna play a game like this with a keyboard ? ^^'

Long time fan of these games: DMC 3, 4, Bayonetta, Prototype, Infamous, MGS Rising.   Actually did some DMC 3 and mostly 4 speedruns back then, so this excites me. Would love a well written story of course... x)

I'm working on the gamepad support. Unfortunately Java has terrible gamepad support due to Input issues, such as the infamous "triggers share the same axis" thing. It's really making this more complicated than I'd like it to be.

But I'll figure it out.

In terms of story, I think I've written a pretty interesting one - it's pretty off the wall. Haha. Most of it will be told through ingame documents though since I'd rather not drag the player through all of the background information. It'll basically be a basic rival-story with underlying themes and messages.
19  Games Center / Featured Games / Re: We Shall Wake demo (v6.0) on: 2014-07-22 21:29:37
I found an error when I pressed a menu title. It played the same 'select' sound in repeat, and I could't get it to stop.
I am using a dedicated audio card, (Asus XONAR DGX) if that helps.

Here's the log:

1  
...


Full log here: http://pastebin.com/FL9puiGA

I've managed to reproduce the problem, and I'm fixing it now.
20  Games Center / Featured Games / Re: We Shall Wake demo (v6.0) on: 2014-07-13 04:43:34
I've uploaded an updated version (uses the same link) that has numerous bugfixes. Try the new version if you've already downloaded it before.

Quote
Looks very interesting, somehow this reminds me of a modern take on classic beat'em'ups like Streets of Rage and Double Dragon. I guess from the fighting style?  Wink

It's actually based on the gameplay from Prototype - with combat influences from Devil May Cry 3 and 4.
21  Games Center / Featured Games / Re: We Shall Wake demo (v6.0) on: 2014-07-12 15:12:49
We have a YouTube channel too if you're interested in keeping up with the project, if blogs aren't your thing.

<a href="http://www.youtube.com/v/gu0iCRxYtEA?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/gu0iCRxYtEA?version=3&amp;hl=en_US&amp;start=</a>
22  Java Game APIs & Engines / Java Sound & OpenAL / Re: Streaming two OGG files at the same time causes crackling on: 2013-07-16 17:24:02
The LWJGL wiki has some examples on OpenAL, which include handling volume for a source. OpenAL isn't very beginner-friendly, so if you aren't understanding it, you are kind of "on your own."

Have you tried other libraries like Paul's Sound System? It should support multiple OGG streaming. Then at least you will know whether the problem lies with your own codebase, or something else.

There is also TinySound, which will do the mixing in software using JavaSound and in theory should get rid of OpenAL issues.

I understand a lot of it.

I personally didn't like Pauls system. It takes too much initialization and was extremely buggy when I used it. A lot of the locational based sound didn't work at all. Tiny Sound doesn't provide 3d sound, but is very well written.

I programmed my own to be a lot simpler yet provide the same amount of functionality. You can start it up and play a sound with 3 lines of code. It's been pretty successful up until this point. Like I said, streaming works perfect. Just two at a time stirs trouble. I can load and use as many WAVs as I want though, seeing as I load them completely in. (WAVs are being used for sound effects, so each one is about 10-50 KBs).

23  Java Game APIs & Engines / Java Sound & OpenAL / Re: Streaming two OGG files at the same time causes crackling on: 2013-07-16 04:47:10
I don't know a lot about the technologies you are using--I've used ogg & jorbis, and decided they were not for me. But they work for most people. However, I know a couple things about sound programming in general and maybe the following will help.

When you say crackle, does it seem to be related to a lot of starting and stopping, or are harsh sounds that are not on the originals playing?

If the first case, the code that is playing back probably is having trouble keeping current. Enlarging the buffers would help, but would also add to the latency. Usually with sound tracks (as opposed to cues for game play) latency is not such a big deal.

In the second case, the volumes from the two tracks could be overpowering the playback code. In this case, you would have to come up with a way to play back the cues at a lower volume. One possibility is to rerecord the cues at lower volumes before saving them as oggs. Another is to programmatically lower the playback volume and see if that helps.

Why two at once? This is unusual, yes? Ogg is computationally expensive, and you are doubling the cpu cost. Is this a situation where the two files can be remixed together outside the program into a new, single cue? Audacity is great for that sort of thing, and free. (Just make sure you don't download a fake version.)


Well, my idea was to have ambience playing along with the music. However, I can see the possibility of fusing the ambience and the fighting theme files and then making a mixer of some kind to just turn up the fighting channel when I'm in combat. However, I wouldn't even know where to start on such a feature in OpenAL.

The crackles happen in a pattern, as in there's like a rhythm to how often it happens. I think it may be the first case. Right now, the ByteBuffer that streams them is allocated to be 4096 * 8, but do you think I should increase it? If so, how much?

Right now the streams are updated in their own thread separate from the game, and I have it sleep for 1000/30 milliseconds to try and keep the engine from stressing the computer too much.

I could also try lowering the volume. Isn't there a command in OpenAL for this? I think it was changing the Sources gain, correct?

Thank you very much for your input.
24  Java Game APIs & Engines / Java Sound & OpenAL / Streaming two OGG files at the same time causes crackling on: 2013-07-16 03:25:38
Hello guys.

I'm making a sound engine for my game, and so far, it's been pretty easy and straight forward. Everything is working pretty well.

I use and load WAV files into memory and dispose of them later for sound effects, and for music I stream in OGG files with the OggInputStream class I found on this very site. I also use jorbis for loading in the sound.

Now, everything works, but when I stream two OGG's at the same time, the sound crackles really bad. After doing some research on the internet, I found that people who use OpenAL in Objective-C had the same problem, and apparently solved it by changing how the buffers allocate memory. Of course, I'm completely unsure if such a fix is possible in Java. Neither do I know anything about Objective-C. I'm also fairly new to OpenAL, so a lot of this is pretty Alien to me.

Does anyone know anything about this? If you need more elaboration, please do just ask.
25  Game Development / Game Mechanics / 3d camera locking onto a target/z-targeting on: 2013-01-01 02:42:40
So, I'm trying to recreate z-targeting from the zelda games in my own, and to do this I plan on using the lookAt function. Unfortunately, it's not working out for me, even if it is basic trigonometry.

I read the following articles on it:

http://www.euclideanspace.com/maths/algebra/vectors/lookat/index.htm
http://www.ehow.com/how_5717908_calculate-lookat-function.html

My problem is, even if I have the eye coordinates, and the target coordinates, I don't know what to do about the current target coordinates. All I have available to use are the Yaw and pitch of my camera, so I don't know how to take these and make the coordinates I need to get the proper dot product.

And even when I do get the dot product, I don't know what to do about the arccos. In the second tutorial, the author says he got his angle from the arccos of 10. Of course in Java, the input of arccos can't be over 1, so how do I get around this?

I'm sorry if these are obvious questions, my geometry teacher was terrible so most of my trig is self taught.

Thank you.
26  Game Development / Newbie & Debugging Questions / Re: Sprite Sheets in lwjgl, unable to move? on: 2012-12-18 03:48:11
That code looks pretty long and I don't have the time to read it all, but if you need it to move, you can just push the matrix, use loadIdentity and center the sprite at 0,0; then translate to where you want it. Something like this:

1  
2  
3  
4  
5  
glPushMatrix();
glLoadIdentity();
glTranslatef(x,y,1f);
drawSprite(x,y)
glPopMatrix();


Have the actual camera in the render/update method move to where you want it and you'll see the player where he's been placed. I suggest always doing it like this, because if you translate the matrix to the player so that he's the center, you'll have more control over him later with rotations and such.

If it's in the case of controls:

1  
if (Keyboard.keyDown(Keyboard.KEY_RIGHT) x++;


If that's not the problem, and you don't know how to go about animating the sprite itself, try to do something like this:

1  
2  
if (animationNext < 100) animationNext++; else animation++; animationNext = 0;
drawSprite(x,y,animation);


If you elaborate on your problem more I'll try to be more help, I know this is all basic stuff but I don't really understand what your problem is.
27  Discussions / General Discussions / Re: Where are you from? on: 2012-12-09 00:25:22
I'm from Philidelphia, but I live in Bel Air.

It's a story all about how my life got flipped-turned upside down, but I'll tell you how I became the prince of a town called Bel Air.

In west Philadelphia born and raised, on the playground was where I spent most of my days. Chillin' out maxin' relaxin' all cool, and all shootin some b-ball outside of the school, when a couple of guys who were up to no good started making trouble in my neighborhood.

I got in one little fight and my mom got scared, she said "You're movin' with your auntie and uncle in Bel Air!"

I begged and pleaded with her day after day, but she packed my suite case and send me on my way; she gave me a kiss and then she gave me my ticket.
I put my walkman on and said, "I might as well kick it".

I whistled for a cab and when it came near, the license plate said fresh and it had dice in the mirror. If anything I can say this cab is rare, but I thought "Now forget it - Yo homes to Bel Air"

I pulled up to the house about 7 or 8, and I yelled to the cabbie 'Yo homes smell ya later'. I looked at my kingdom, I was finally there, to sit on my throne as the Prince of Bel Air.

I found this website a month or two later.
28  Game Development / Newbie & Debugging Questions / Re: how to draw Sprites that turned to the left. on: 2012-12-08 04:17:10
I'm not sure I understand.

do you mean that my spritesheet should have some sort of x and y offset that should be used whenever i draw?

for example, if i extend my arm to the left, the x offset would be at like -30 or something, which would draw the entire image to the left.

I'm pretty sure that wasn't what you were talking about at all, but that actually seems a lot better than the "fix" that i have now... cool!

Here's how I do it.

When making a sheet, make a set frame width/height before putting it together (make sure it can hold all of the animations) So, when you're working on the sheet, be sure to center the sprites in the frames. That way when it animates, they aren't jittery.

To solve your left and right problem, if the character is symmetrical you could always flip the image horizontally. If you animated it right, the center alignment won't be messed up.

If you need an example I can throw one together.

Good luck bud.

EDIT:
To reiterate, each frame would be equal in width and height. Every sprite would go in a frame of the same size. So, a sheet would have 3x3, 16x16 frames. The first set containing an idle animation, the second running, and the third attacking. They would all be centered, so making an individual offset would no longer be necessary. Just be sure the frames are large enough to fit ALL potential sprites later or you may run into trouble.



ohhh... yeah yeah that's f**king brilliant.

My game was f**king up because i was using the dimensions of the actual Image as the collision hitbox, rather than having a separate invisible rectangle that represents the hitbox, so whenever the image changed dimensions it would f**k my game up (if i was beside a wall or something).

but yes, that seems like a really really good fix, (it seems so easy too, i'm stupid as f**k for never thinking of it).

Thanks a bunch!

No problem man. I'm glad I could help you out with your problems.
29  Game Development / Newbie & Debugging Questions / Re: how to draw Sprites that turned to the left. on: 2012-12-08 03:53:15
I'm not sure I understand.

do you mean that my spritesheet should have some sort of x and y offset that should be used whenever i draw?

for example, if i extend my arm to the left, the x offset would be at like -30 or something, which would draw the entire image to the left.

I'm pretty sure that wasn't what you were talking about at all, but that actually seems a lot better than the "fix" that i have now... cool!

Here's how I do it.

When making a sheet, make a set frame width/height before putting it together (make sure it can hold all of the animations) So, when you're working on the sheet, be sure to center the sprites in the frames. That way when it animates, they aren't jittery.

To solve your left and right problem, if the character is symmetrical you could always flip the image horizontally. If you animated it right, the center alignment won't be messed up.

If you need an example I can throw one together.

Good luck bud.

EDIT:
To reiterate, each frame would be equal in width and height. Every sprite would go in a frame of the same size. So, a sheet would have 3x3, 16x16 frames. The first set containing an idle animation, the second running, and the third attacking. They would all be centered, so making an individual offset would no longer be necessary. Just be sure the frames are large enough to fit ALL potential sprites later or you may run into trouble.
30  Discussions / Community & Volunteer Projects / Re: Looking for people (well, teenagers) who can help me with a project...? on: 2012-12-08 03:43:34
I'm surprised anyone would mistake you for being older than 10 to be honest.

RPG-FPS's never go well. Not even 2D RPGs.

Think simple.

Stop being a bad troll.

I believe in you, now go!

Pic related, it's you:

Pages: [1] 2 3 ... 9
 
DarkCart (19 views)
2016-05-29 02:30:33

Hydroque (36 views)
2016-05-26 14:45:46

Mac70 (47 views)
2016-05-24 21:16:33

theagentd (51 views)
2016-05-14 18:38:35

theagentd (85 views)
2016-05-10 22:37:41

theagentd (91 views)
2016-05-10 22:33:46

IanParcs (119 views)
2016-04-18 14:18:53

KaiHH (115 views)
2016-04-18 08:35:41

KaiHH (135 views)
2016-04-15 12:43:58

theagentd (141 views)
2016-04-14 02:16:17
FPS Camera Tutorial
by Hydroque
2016-05-22 05:40:58

Website offering 3D Models specifically for games for free
by vusman
2016-05-18 17:23:09

Website offering 3D Models specifically for games for free
by vusman
2016-05-09 08:50:56

Website offering 3D Models specifically for games for free
by vusman
2016-05-06 11:10:21

Website offering 3D Models specifically for games for free
by vusman
2016-04-29 12:56:17

List of Learning Resources
by SilverTiger
2016-02-05 09:39:47

List of Learning Resources
by SilverTiger
2016-02-05 09:38:38

List of Learning Resources
by SilverTiger
2016-02-05 09:35:50
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!