Hi !
Featured games (87)
games approved by the League of Dukes
Games in Showcase (649)
Games in Android Showcase (181)
games submitted by our members
Games in WIP (700)
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 ... 15
1  Discussions / Miscellaneous Topics / Re: What's your "game dev dream" on: 2016-02-10 09:42:52
Being able to focus on just one game idea until completion?

I have plenty of notebooks full with designs for "dream games", but very little to show for it.

But, if I had to choose, I'd love to make a metroidvania with procedural generation and an easy to use map/asset editor. Maybe even in 3d!

Heck, I'm tempted to prototype the idea by building a "Metroid Maker" ripoff (assets are already done!)
2  Discussions / General Discussions / Re: Releasing on Steam for a (very) indie developer on: 2016-02-02 08:58:34
- I can't speak exact numbers because of Valve's NDA

There's an NDA on the money you make selling your own games on their platform?  Stare
3  Game Development / Newbie & Debugging Questions / Re: Chunks? Chunk loading and unloading? on: 2016-02-01 13:44:16
You essentially need to decide how to partition and store your map data.

Minecraft, for example, divides the game map into 16 x 16 x 256 tile "chunks" which are loaded based on proximity to the player, and unloaded as the player moves away.

My guess is that Minecraft's strategy is to store the chunks in a List of sorts, which can be accessed like a 2d matrix, since individual chunks contain all the possible vertical space.

As for content generation, the chunks are generated procedurally at first, but they are then saved to disk, and loaded from there in subsequent visits.

I'd go for something like this:

public class Chunk
   public static final int WIDTH  = 10;
   public static final int HEIGHT = 10;

   protected Tiles[] data;

   public Chunk()
      data = new Tiles[WIDTH * HEIGHT];

   public Tiles getTile(int x, int y)
      return data[(y * WIDTH) + x];

   public Tiles setTile(int x, int y, Tile tile)
      data[(y * WIDTH) + x] = tile;

   public Tiles[] getTiles()
      return new ArrayList(data);

  //TODO: Whatever else you need

public class ChunkyMap
   HashMap<int, Chunk> chunks;

   protected int height;
   protected int width;

   public ChunkyMap(int width, int height)
      chunks = new HashMap<int, Chunk>();  
      this.height = height;
      this.width = width;

   public Tiles[] getMap(int x, int y, int chunk_radius)
        int chunk_x = x/Chunk.WIDTH;
        int chunk_y = y/Chunk.HEIGHT;

       //TODO: Check if coordinates are out of the map (or do something clever to get infinite maps)

        List<Tiles> retMap = new List<Tiles>();

        int startY = chunk_y - chunk_radius;
        int startX = chunk_x - chunk_radius;
        int endY = chunk_y + chunk_radius;
        int endX = chunk_x + chunk_radius;

        for(int index = (startY * width) + startX; index < (endY * width) + endX) //Note: This is quite possibly wrong...
                    Chunk newChunk = generateChunkAt(index); //TODO: You know, implement this...
                    chunks.put(index, newChunk);

         return retMap.toArray();

Anyway, just a rough idea, I've personally never implemented something like this, so keep your grain-of-salt-grabbing pincers handy Wink

Edit: Fixed some things with the code that were bothering me, but it is still pretty flawed
4  Discussions / General Discussions / Re: Releasing on Steam for a (very) indie developer on: 2016-01-29 07:21:53
Yeah I know, I stopped trying to get a job in the industry ages ago, mainly because the prospects regarding stability were daunting  Clueless

It really helps to know that my time management woes are common even for people like you. It's encouraging to know its not just me Smiley
5  Discussions / General Discussions / Re: Releasing on Steam for a (very) indie developer on: 2016-01-28 18:10:26
Thanks princec, that's exactly what I needed to read.  Smiley

6  Discussions / General Discussions / Re: Releasing on Steam for a (very) indie developer on: 2016-01-28 08:36:14
I'm guessing my following question is in line with the OP, even if not Steam specific:

As someone interested in eventually moving from hobbyist to hobbyist who also sells stuff.... Any word from experienced people on what the economic expectations (rough time/effort - income relationship) for people starting would be?

I've read plenty of articles out there that just focus on selling what the article author did (almost sounding like propaganda), and none address my main concern, namely:

I have a day job that demands too much of my time (so I can barely dedicate time to game dev), in order to transition to game development, even if low key, I'd have to work towards obtaining an income to supplement my loss of income if I switch to a lower demand (say, part time) job.

So having an idea of what the prospects are, even if they are daunting, would be great.

Thanks! Smiley
7  Game Development / Game Play & Game Design / Re: Fatigue as a design element on: 2015-12-28 08:56:57
The whole idea of the player character losing focus on the world as fatigue sets in reminds me of the usual effects used in modern FPS games when the player is hurt, the whole blurring the screen and even going into black and white until health regenerates.

Obnoxious as those effects might be, to me they do feel like the player avatar is losing focus on its surroundings due to pain.

I'm guessing what you are proposing would be spread over a longer period of time, though, making it more gradual. But it's always good to have examples to work from.

The aural part, about the background noises and such, its a pretty nifty idea. You could even go so far as to create "focusing" effects in certain situations. Say, for example, a player is looking down a gun's sights, focusing to fire, and, for a few seconds, you could turn down the ambient sounds to represent the character's concentration.

As for the general idea of having players put down the game for a set period of time, I personally thing it works best in mobile games you can pick up and play for a short while anywhere you are at the time.
Sitting down in front of a computer/console only to have the game tell you to go do something else would be rather frustrating.

In my opinion, anyway....
8  Discussions / Miscellaneous Topics / Re: Realistic graphics -- how can it be achieved? on: 2015-12-21 09:12:51
Case in point, you can see lots of games pop up in steam, developed by small teams, using engines with all the bells and whistles graphics-wise.... And they still feel unrealistic.

Thing is, our mind is pretty good at spotting fakery (uncanny valley effect and such),  so anything that is out of place will bring the feeling of realism crashing down.

I'd say, though, that if your game achieves a good degree of immersion, the players will have an easier time suspending disbelief and feeling it as "realistic", despite the graphics not being that "photorealistic". But I don't think that's what you're asking about.
9  Game Development / Game Play & Game Design / Re: Anti Aimbot?? on: 2015-12-14 16:00:12
@Oskuro but this is also a bit dangerous... the community often abuses this right...

Yeah I know, back in the day when we used to play Return to Castle Wolfenstein in the college dorm, one of the guys had found that, if he managed to keep his score high (by doing mission tasks without actually completing the mission), other players would never vote to kick him out, so he was free to be an asshole and drop airstrikes on his unsuspecting teammates, and whenever another player would criticize him, he's start a vote and that other player would get banned.

Anyway, anecdote over.

Any system to prevent cheating will have its downsides. The advantage of community voting is that is has low impact on program development, the disadvantage, as mentioned, is that most people are dicks.

So it's, as usual, a balancing act.
10  Discussions / General Discussions / Re: Should I let java4k die? on: 2015-11-24 09:27:09
IMHO should stay online if only for historical reasons.

I second that opinion.

Isn't there a way to wrap applets so they can run as stand-alone java apps? That way they can at least be played.

I personally end up modifying the Java4k games I find interesting to run as java apps anyway (I like tinkering with the source, even if I have to decompile it).
11  Game Development / Game Play & Game Design / Re: Anti Aimbot?? on: 2015-11-04 11:04:14
  • Step 1: Compile player stats and make them visible to all other players (Accuracy, kill ratio, etc), so superhuman stats stand out.
  • Step 2: Implement a player banning system, be it through popular vote or server admin intervention.

Those things should already be part of your standard development, are easy to pull off anyway, and allow the community to police themselves.
12  Discussions / General Discussions / Re: Making Games for Nobody on: 2015-10-20 16:21:13
To be fair, Linux has a massive advantage over Windows as a development platform....

Since running windows games on it is such a pain in the ass, it's easier to avoid procrastination!   Grin Grin Grin

More seriously, my main reason to use Linux as a dev environment is because of a personal interest in using freely available tools (including the OS), as well as on multi-platform development, but it's just me (And I do test on Windows, although I guess my licensed windows version will sooner than later become outdated).

BUT, I don't live off of my game development projects, I'm just a hobbyist, so I could afford to develop on an old graphing calculator if I wanted to.

13  Discussions / Miscellaneous Topics / Re: Two supermassive black holes discovered in close orbit, possible merger on: 2015-09-29 13:35:09
I don't really understand how the event horizon of a black hole can stop light and matter escaping yet the force of gravity still escapes and interacts with everything else like normal.

It helps to picture a bowling ball placed on an elastic tarp. The bowling ball bends the tarp down, creating a slope.

If you were to pick up a little wind-up toy that moves at a given speed, and placed it on the slope, trying to climb out of it, as you placed it closer and closer to the bowling ball, there'd be a point where the toy wouldn't be able to climb out.

Now, imagine taking a red marker and drawing a circle on the tarp around the bowling ball at the precise distance where the wind-up toy can no longer climb out.

The bowling ball is any object with mass.
The tarp is space (in 2d).
The tarp sloping towards the ball is gravity (the gravity well).
The wind-up toy is a photon moving at light speed.
And the red line you drew, that's what we call the event horizon.

Event horizons are not an actual thing, they're just an arbitrary name we've given to the point were light can no longer escape, because, since lightspeed is the fastest speed possible, if light can't escape, nothing else can.

As for why light cannot escape but gravity can, the example illustrates that gravity is not like magnetism, a force transmitted by a particle moving at lightspeed, but rather, it is the shape of the universe at that given point.

The tricky part of this example, is trying to imagine the whole thing happening in three dimensions rather than the tarp's two.

Hope that helped.
14  Discussions / General Discussions / Re: Transitioning from Windows to Linux on: 2015-09-29 13:00:12
+1 for Ubuntu

I'd say one big difference when switching to Linux is that your mindset should change too. Many things are indeed broken, and will require some fiddling* to get running, but once you get the hang of it, you'll end up making it work for your specific needs.

For example, I'm using an old Ubuntu LTS distribution, on an old "convertible" laptop (screen can swivel around and go into tablet mode), and I managed, through some scripting, to set up buttons to properly rotate the screen as needed, as well as fixing issues with the touch screen support (and if the HP sensors were any good, I'd have managed to have the screen rotate automatically, but they don't even work properly on windows).

*Note: Fiddling does include changing to a different distribution if needed.
15  Discussions / Miscellaneous Topics / Re: Social Stigma of Game Dev and Peer Pressure on: 2015-09-14 14:11:07
I don't think you should set any hard rules on yourself. Look at it on a case-by-case basis.

On some days you might feel like staying home coding, on some others you might feel like going out clubbing. And yet on others you might just want to do something entirely different.

Do what you feel you want or need, and both you and your peers will eventually adapt one way or the other.

16  Game Development / Newbie & Debugging Questions / Re: Best Practices for Creating New Objects on: 2015-08-06 13:23:19
The short answer: Don't worry about premature optimization. If you aren't noticing any performance hits, don't go looking to fix stuff that ain't broke. (What princec said.)

Although this is very true, I think there's some value in training yourself to use more optimal patterns from the get go.
17  Discussions / General Discussions / Re: Who knows about M.A.M.E.? on: 2015-06-08 08:17:33
Your friend's arcade cabinet might just be a PC box with the MAME emulator installed, so running your game might simply require installing Java and running it like on any other PC.

Maybe throwing some JoyToKey (or similar) to parse the controller input though.

18  Discussions / General Discussions / Re: Rayvolution's JGO Appreciation Thread (AKA: Free copies of Retro-Pixel Castles!) on: 2015-06-02 08:37:37

Now gimme a key so I can rip you off be inspired by you!  Wink
19  Discussions / Miscellaneous Topics / Re: SourceForge seized GIMP for Windows' account on: 2015-06-02 08:32:09
As of this writing,'s main page has blog posts about this.

Here's an ArsTechnica article on the issue.

This saddens me. I though SourceForge was above this kind of thing. Oh well...
20  Game Development / Newbie & Debugging Questions / Re: Chinese Text Input on: 2015-05-12 17:03:08
So I seem to have been a victim of the Failed Search Gremlin (you know, when you look for something and find no results.... Only to look again with a slightly different approach and find what you were looking for).

Found the following info on Pinyin IMEs:

And the following example apps:

21  Game Development / Newbie & Debugging Questions / Chinese Text Input on: 2015-05-12 16:43:01
So I had this idea to create an old-style text-parser-based adventure game, with the catch being that it'd had to be in Chinese (because I'm learning Chinese and could use the practice).

So I was wondering how to go about creating a text input field in Java that allows the user to type Mandarin characters using the pinyin input* method (or alternatives).

I'm not sure if the input is handled at the OS level, or if the application needs to know what to do.

From my experience I'd say some parsers use internal dictionaries, because typing several pinyin entries together will often eliminate invalid characters. (Say, typing "nihao" will result in "你好" - "Hi" instead of, say, "尼浩" - "??")

*Pinyin Input: For those who don't know what I'm talking about, in order to input Chinese characters using a standard keyboard, what you do is type the pinyin (pronunciation) and a list of homophone characters is displayed allowing the user to select them. For example, typing "wo" you'd get a list with homophones such as this:  1我 2沃 3握... So typing "wo1" would result in 我 ("I" as in "I am")

PS: Sorry if you can't see the chinese characters.
22  Discussions / General Discussions / Re: Legality of Retro-Engineered clients on: 2015-04-14 08:23:22
Well, I have access to the source, so knowing what the game sends is not much of an issue.

I meant it more as an exercise to find out if, even without the source, I could've peeked into the communication protocol.

Thanks for the link, though Smiley
23  Discussions / Miscellaneous Topics / Cross-platform Wireless connectivity on: 2015-04-13 13:21:16
OK, so here's something I've been musing.

I have two gaming devices, both capable of wireless connectivity. I am also capable of deploying custom-made applications to said devices. These devices, though, have not been designed to connect with one another.

I know one of the devices uses the 802.11b standard, but I'm not sure about the other one.

My question is, thus, what would be the approach to analyse the wireless capabilities of both devices and see if a program could be developed to communicate them?

My guess is that I need to be able to:

   a) Detect the device's wireless signal
   b) Somehow intercept said signal to be able to analyze data traffic
   c) See if both devices can connect to each other

From that point on, it would be a matter of using the same communication protocol.

I have no idea how to tackle those issues though. Currently I am thinking about deploying an app on each device that attempts to connect to a standard wi-fi, and maybe try to ping or something, but I am suspecting each device could be operating on different channels and I'm not sure how to determine that.

Keep in mind I'm not a wireless/hardware expert, hence why I'm keeping this question generic.

The devices I am thinking about connecting are:

  a) Nintendo Gameboy advance with the wireless adapter peripheral
  b) Sony PSP

So, any ideas? (And yes, I've searched online for specs on the wireless adapter, and found very little beyond the platform specific API which doesn't care about much else)
24  Discussions / General Discussions / Re: Legality of Retro-Engineered clients on: 2015-04-13 08:38:20
I've been thinking about it, not only in terms of Minecraft (it was just an example), but more broadly in terms of clients that adapt to a given protocol.

Now, I'm not a lawyer either, but my understanding is that, given you don't distribute copyrighted content or use your client to somehow disrupt the service (no hacking or bypassing account verification), it should be legal to create a compatible client as long as the act of looking up the communication protocol is not illegal itself.

What I mean by this is that if the communications protocol is proprietary and, more importantly, encrypted (or otherwise protected) it would be illegal to create a compatible client as it would require illegally hacking into protected content.

I'm thinking along these lines because I've worked developing clients compatible with specific proprietary (encrypted) protocols professionally, and the documents detailing the protocol itself had a nice big "confidential" watermark on them.

In the case of Minecraft, I wonder how legal the current decompilation methods are. All mods are essentially built on decompiled versions of the game, so it could be argued that Mojang/Microsoft have tacitly accepted such practices by not cracking down on them, but then again they could turn around and claim that all that information is protected content and cannot be used.

Although I'm guessing a simple packet sniffer could probably make out most of the network communications from the game itself. Hmmmm, that's an idea there, I'll see if I can wireshark this out later at home.

In any case, I started this thread as a thought exercise on the legality of retrofitted clients, not as a proposal for a retrofitted client for Minecraft.
25  Discussions / General Discussions / Re: Methods of decompiled classes on: 2015-04-09 14:02:50
Don't sweat it, I was quoting the Borg Queen from Star Trek: First Contact  Grin
26  Discussions / General Discussions / Re: Methods of decompiled classes on: 2015-04-08 15:15:03
When Java compiles a class, if it doesn't have a codded constructor, it adds its own empty one
Also its not strange that there are difference between client and server code. The client handles rendering and fires events and the server handles the events and sends information back to the client so it knows what to render.

I know about both. The classes I'm referring to handle data regarding blocks, so it's stuff both sides need to know.

The lack of a constructor would make sense if it was replaced with a private constructor to avoid instantiation, but just removing the specific constructor means the server can still instantiate the class, but won't be able to initialize the attributes.

It looks something like this:

// Client
public class Block
    private int attribute;

    public Block(int value) { this.attribute = value;}

    /* Lots of other methods here */

// Server
public class Block
    private int attribute;

    /* Lots of other methods here */

I was, in fact, hoping to be able to extract all common data into its own library so I could inspect the Client and Server specific code more cleanly, hence my wondering if this has relevance, or is just a decompilation artifact.

By extension, I'd really like to know if decompilation ignores unreferenced (never used) functions.

Of course, since the MCP does some de-obfuscating and other things, it might be something on their end too.

reflecting on decompiled code is like thinking in 4 dimensions.

You think in such three-dimensional terms. How small you've become.
27  Discussions / General Discussions / Legality of Retro-Engineered clients on: 2015-04-08 13:00:52
As I said in a previous post, I'm tinkering with the Minecraft source for fun, as well as the C++ MineTest project.

A question has come to mind, though.

By being privy to the communication protocol, it would be feasible to develop an application capable of communicating with existing Minecraft servers, so you could, theoretically, have the MineTest C++ game connect to a standard Minecraft server (after duplicating all relevant functionality).

So the question is.... How legal is this?

Note that I'm not referring to bypassing the account validation rules set by Mojang, I'm just referring to creating an alternate implementation of the client.

Not that I'm planning on undertaking such a monstrous task, mind you, but it's fun to think about.

I know retro-engineered clients used for "private" MMO servers are frowned upon, but my understanding is that the issue lies with the circumvention of user validation and payment functionalities.
28  Discussions / General Discussions / Methods of decompiled classes on: 2015-04-08 12:51:53
So I've been tinkering with Minecraft's decompiled code (via the latest MCP), and noticed something curious when comparing the Client and Server sources.

Some classes have minor differences I find strange, for example, the class might lack a constructor in the server that it doesn't on the client, even if the rest of the class (particularly the class attributes) are the same.

I'm suspecting this is due to the decompiler ignoring (or not being able to detect) methods that are not being referenced anywhere else on the code.

Is this correct? Or is there any merit in omitting a constructor of a class for server-side code that I'm not seeing?
29  Game Development / Game Play & Game Design / Re: How to win the boss-fight on: 2015-03-26 11:32:11
@Oskuro i did not  play Mario for a pretty long time, so i don't remember every detail. But i guess i meant the last fight, there you can't kill him directly, right?

Yes you can. The interesting thing is that, when you fireball Bowser in previous castles, upon dying, he transforms into a lesser mob (goomba, koopa, etc.), thus revealing the Bowser in that castle was a fake (at 0:24):

<a href=";hl=en_US&amp;start=" target="_blank">;hl=en_US&amp;start=</a>

When you do it in the last castle, it is Bowser falling down (at 0:56):

<a href=";hl=en_US&amp;start=" target="_blank">;hl=en_US&amp;start=</a>

Of course we usually reach the Bowser encounters after taking a few fireballs to the face, and thus, as regular Mario, resort to using the Axe.

Oh, and the Axe, as well as the platforms around Bowser, are the way the game communicates to the player what they need to do, which is cool too.
30  Discussions / General Discussions / Re: How will an Araknoid do? on: 2015-03-26 11:13:41
the genre has been pretty thoroughly mined for novelty over the years!

Agreed, although I'm of the opinion that these old simplistic games can be properly re-used as minigames in larger projects (like how bioshock used the pipe-connecting game to do the hacking... Even though it might not have been too good an implementation).

In any case, as a beginner project it's a great point to start from.
Pages: [1] 2 3 ... 15
KaiHH (154 views)
2016-01-31 23:15:29

sci4me (156 views)
2016-01-23 21:47:05

sci4me (139 views)
2016-01-23 21:46:58

KaiHH (173 views)
2016-01-19 13:26:42

theagentd (259 views)
2016-01-05 17:10:00

ClaasJG (275 views)
2016-01-03 16:58:36

chrisdalke (263 views)
2015-12-28 06:31:21

Guerra2442 (274 views)
2015-12-25 03:42:55

Guerra2442 (274 views)
2015-12-25 03:27:21

theagentd (298 views)
2015-12-21 14:43:24
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

Rendering resources
by Roquen
2015-11-13 14:37:59

Rendering resources
by Roquen
2015-11-13 14:36:58

Math: Resources
by Roquen
2015-10-22 07:46:10

Networking Resources
by Roquen
2015-10-16 07:12:30

Rendering resources
by Roquen
2015-10-15 07:40:48 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‑
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!