Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (487)
Games in Android Showcase (110)
games submitted by our members
Games in WIP (552)
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 ... 20
1  Discussions / General Discussions / Re: What? Your game isn't a pixelated retro masterpiece? on: 2014-07-21 01:28:07
I really don't have a problem with pixel art. Anyone who grew up in playing SNES, SEGA, ATARI, or anything in the arcades, pixel art is what we grew up with. I can safely pin down three reasons for the uprising of pixel art.

All Grown Up

A lot of the people making these games grew up on pixel graphics. It is a little bit more than nostalgia as these graphics actually resemble what I'd try to draw in my head as a kid, but didn't have the skills. There is an imaginative, colorful innocence that these graphics give that can take very violent topics and make them cute and palatable. With the majority of this generation in the work force, these type of games are certainly on the rise.

No artist, no problem

One of the biggest factors is that art, even from amateur artists, is very expensive to get. Many of my friends who are artists think signing up for indie is a huge waste of time with no bottom line. Plenty of artists already have to pull a second job to keep art alive, and indie developers just don't give a lot of upfront cash for a workload that is 2x what the industry would give. So there is a huge rift between artists and developers because let's face it, having no cash is something both have in common. Pixel art is easier to draw, less work load, and you can bypass having to pay a good artist and still have good looking art. Win win win win situation.

The Nostalgia

The big problem about big budget has to be the significant focus on graphics. Pixelated graphics have an art quality to it where you are not limited by the power of your engine, but by what you create with it. In other words, these graphics transcend all programming languages ( Java, C++, Python) and platforms (PC, SNES, PS, Xbox). A good pixel art game is always going to be the same experience, regardless of platform.

It is very powerful, because your games get compared to early games like Mario, Sonic, Space Invaders. Just like artists today would be compared to past artists. A normalized canvas for game making means that your game REALLY has to be good and can't ride off of pretty technology to be noticed.

Anyway, 2d hits my imagine space better than 3d. In 2d, I know it isn't real, so I imagine myself in the role and experience it. In 3d, especially in later titles, I feel more like the game is deciding for me what I should do next. Sometimes to the point of me just wishing I was sitting and watching it in a movie theater. Doesn't help at all that it is easier to get lost and objectives got more complicated over time... Pointing
2  Game Development / Game Play & Game Design / Re: Fancy graphics without any skills on: 2014-07-20 18:35:49
Totally Related Art Segment

Programmers are valuable to games development. It is just that without a good artist, that programmers would be reduced to ASCII. Artists have the same problem, without a programmer, we can't do anything except for card games. I mean, it isn't like these two professions are mutually exculsive. It is just that when they are combined they make a really good product.

To answer the question, if you want good art, you either have to find it or find someone who can do it for you. Lessons can only get you so far, and the time spent learning to draw will push development time forward light years. For simple pixel art you may get away with it, but anything more than that just bite the bullet and pay for that art(ist).  Pointing
3  Game Development / Newbie & Debugging Questions / Re: Java Metronome | Visual Display Sync Problem on: 2014-07-18 05:57:12
I've been reading your posts, luckily I like reading long posts.

In all honesty, the human body corrects for visual errors to a certain extent. The most important thing is to make sure that the frame rate is consistent and your sound never skips a beat. In other words, if anything goes wrong just make the visuals skip into the right location. All that matters is that your music doesn't suffer during frame drops or other unforeseen disaster of computer hardware. This is no less trivial than any problem games have with syncing music to visuals.
4  Discussions / General Discussions / Re: New feature: Embedded PDFs on: 2014-07-18 05:35:13
my game...  Cry

Does this work for multi-page PDF's as well... How big can the PDF's be? (It might be good to just make articles in PDF format so they actually look good.) Not that I'm writing one...  Roll Eyes
5  Games Center / Showcase / Re: Tess on: 2014-07-18 05:14:35
That is great news. I enjoyed this game, though very simple, it had a story that most people could relate to. I can't wait to see the next chapter.

Though winning it did make me forget to ask what the hell happened yesterday  Tongue...
6  Game Development / Game Mechanics / Re: AABB Collision problem with adjacent tiles on: 2014-07-18 05:10:42
Mario with Pistons... rewritten Cut & Paste IDE

I rewrote my example for you, with working pistons that move up and down. AABB is more than sufficient for this, even if your character is knocked up by an explosion or walks off an edge. In the example I have, my character is always falling. The only things I actually check is to see what is keeping my player character upright.

When I say states, I mean to check what is preventing your player from falling. The only constant collision is gravity, and the movement is player controlled. Honestly, unless there is a boulder rapidly affecting player left & right movement, dividing up your cases is the way to go.

So, when my character jumps, gravity is already applied. I just make him accelerate faster in the up direction so he lifts off the ground. Gravity is a constant force in my game example (just like in real life). When on a platform, I negate gravity by having the player character push upwards. It gives the exact same effect as standing still. I can easily expand this system to vertical and horizontal moving platforms by easily checking to see whether my player character is standing on it. When gravity is a constant force, you won't have to worry about arbitrary collision checks. It is not every day that someone will write up a fully working example. If anything, just study what I've done to get two moving pistons to work in this example.

Sadly, the only two solutions to your problem is to widen the player hit box to a line, or ignore the collision if it is too close to the edge of the piston. Trust me, most of the time, players won't notice the difference, so just do what feels right for your game. Taking out horizontal movement checks for falling will also help, as you can see where your character is merging with the piston.  Pointing
7  Discussions / Miscellaneous Topics / Re: A rant on OpenGL's future on: 2014-07-16 06:11:27
Well, finally, someone has said why I was respectfully avoiding OpenGL in the first place. It is a nightmare for newcomers, and it took backwards compatibility to a whole new level of pain. Paradoxically, it is also the reason it is so popular as a platform, because your legacy programs will not break.

I'm split...

There is really no good solution. If you run to a better architecture, then you'll be "out of date" and have to move to another after a few years. Just like a new car, your programs will have to be constantly updated. I mean, OpenGL has a novelty that is not like the console markets we have today. Remember game cartridges... yes, that will be your programs in the next 20 years.

At the same time, I think that backwards compatibility needs to be handled differently. Like, you can support the old modes, but then just write a converter (a botched one) that converts the old code into the new code architecture. It'll completely butcher the older games speed, forcing them to upgrade to the new or have crappy performance. Honestly, though, not even this approach would work. We programmers have too much pride to change code every two years seconds...

I respect OpenGL, but like all programs that try to target everything, they get bloated. If you want cutting edge, you have to move away from the "jack-of-all-trades". Seriously, the moment the new technologies get some ground we just have to leverage them. (Though, it is Java's fault why we believe targeting all platforms is beautiful. Don't get me started on how bloated Java is...) Regardless, I know that if OpenGL keeps on its current course, it'll be a "master of none" of the technologies it has now.
8  Game Development / Game Play & Game Design / Re: How does the game timberman work? on: 2014-07-16 05:43:07
Things aren't always what they seem.

An array of tree branches close together would do the trick, he didn't even make the tree fall realistically with each hit. It is really just an illusion of a really tall tree. No tricks, just a simple programming wizard.  Yawn
9  Game Development / Newbie & Debugging Questions / Re: Java rectangles for collision? [solved] on: 2014-07-13 22:32:18
Collision systems are all about how people react to them. In other words, the moment the collision happens, you need to react in the right way in order to create a realistic feel. I've done collision for both tile based and non-tile based games. For tile based, it is very easy, you just block the tile and the movement stops in its tracks. For non-tile based games, the best way to halt movement is to base collision on direction.

Mario Game Example - Cut & Paste IDE

In other words, if the player is trying to move right, you want to not only stop the player but move them left far enough so the don't collide with the object. Vice-versa for right. Having player states (like walking, jumping, falling, etc.) can help you, the designer, plan out the movements better.

Remember, it isn't the colliding boxes that is causing the problem, it is how you tell your program to react to them. The example I put up is a fully working collision example that covers all the basic cases. Collision is only hard if you don't take the time to solve every case and cover all your edge cases.
10  Game Development / Networking & Multiplayer / Re: [KryoNet] How to get the amount of bytes received/sent? on: 2014-07-12 06:18:31
Kyronet is built on top of Java NIO, if you want to figure out how to get packet data down to the bytes, I'd start there. Use the source code to help you track your solution, because your solution lies in Java NIO.

https://code.google.com/p/kryonet/source/browse/trunk/kryonet/src/com/esotericsoftware/kryonet/Client.java?r=122#5

But, the Github page is probably a much better search point... Best of luck. Also, best try not to do too many bumps, as there are hungry monsters running around these parts.  Pointing
11  Discussions / General Discussions / Re: The Wrath of Ackermann on: 2014-07-08 03:20:40
Whew, well at least I can lay this to rest. Thanks for tackling this problem. It was really cool trying to out optimize this for a weekend. I feel a bit of reserve that our technology is the limiter in the ability to calculate A(4,3), and it isn't just me.

Though I can't shake the feeling that future beings will call us idiots once they dig this up...  Pointing
12  Discussions / General Discussions / The Wrath of Ackermann on: 2014-07-07 06:47:48
First, the intro video that got me thinking about this in the first place...

Ackermann's Function
<a href="http://www.youtube.com/v/i7sm9dzFtEI?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/i7sm9dzFtEI?version=3&amp;hl=en_US&amp;start=</a>


For those too lazy to go through that video, this topic is about Ackermann's function. Literally a function to prove that even computing has its limits. The recursive case in Ackermann's function is pretty simple and can be written in a few lines of code.



1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
public class ackermann {

   public static void main(String[] args){
      for(int i = 0; i < 6; i++){
         for(int j = 0; j < 6; j++){
            System.out.printf("ackerman (%d, %d) is: %d\n", i, j, ack(i, j));
         }
      }
   }

        private static int ack(int m, int n){
      int ans;
      if (m == 0)
         ans = n+1;
      else if (n == 0)
         ans = ack(m-1, 1);
      else
         ans = ack(m-1, ack(m, n-1));
     
      return ans;
   }
}


However, this does a number on processing machines, with A(4,2) taking ages to compute on even the most powerful machines. (With Java, I had to do a bit more to avoid stack overflow errors...) I think before we even think about tackling the universe, I'm actually curious about how deep into Ackmermann's function we can calculate today before our computer's die from the processing strain. No matter how much I optimized, we just couldn't think of a good way to calculate past A(4,2)...

Any thoughts or takers?
13  Discussions / General Discussions / Re: Untrusted - A Javascript Codable Game on: 2014-07-07 00:11:09
Okay, I was hooked but, is it really a lack of productivity if you are actually programming and gaming at the same time... Somehow I feel less guilty than gaming on a console.  persecutioncomplex
14  Discussions / General Discussions / Re: Rock Simulator 2014 funded on IndieGoGo on: 2014-07-06 17:46:54
Relative video... NSFW

<a href="http://www.youtube.com/v/N7i2TgdFXsg?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/N7i2TgdFXsg?version=3&amp;hl=en_US&amp;start=</a>

Some things never change.

I mean, this isn't new. There is a system, and there are those who will try to exploit the system. Asking why is a silly as asking why people would cheat on tests. Being naive and thinking that indie gaming, or any form of technology, can't be exploited is really a waste of our time. Honestly, all that has literally happened here is that we gave the "Rock Simulator" even more publicity and possibly more money in its pockets.

Maybe the reason this is done so much is because it is such a surefire way to get attention.

There are a lot of developers out there who fight the good fight, and want games done the right way. However, that route takes forever to get attention. Drop in a little controversy, and all of a sudden, everyone knows who you are. Honestly, I think a new type of market is emerging targeting Youtube stars and online celebrities. It is so easy, because those Youtubers follow the fads and the news. Make a garbage game, show it on Steam, get bad publicity, get a Youtuber to review it... Profit.

I guess Indie Gaming is becoming the new mainstream...

If it isn't already. I guess now we have a taste of what it means to own something popular. People start filling it with so much trash, that soon enough it becomes an undesirable mess. But, I'm not going to let that stop me from making games though.  Pointing
15  Game Development / Networking & Multiplayer / Re: [KryoNet] How to get the amount of bytes received/sent? on: 2014-06-29 20:16:28
 How you receive bytes is completely dependent on how you set your server up in the first place. If you don't have a server that accepts Java code, then you won't be able to use server side Kyronet. The information given here is so little. What have you tried so far in terms of getting this to work? What kind of server service are you using?
16  Game Development / Networking & Multiplayer / Re: [KryoNet] How to get the amount of bytes received/sent? on: 2014-06-28 04:32:21
But but but... they have full examples in the website, and you can find the answer with just a little bit of digging around. Here, I'll give you two very relevant web pages you can scour to get the answer to this...

https://github.com/EsotericSoftware/kryonet#buffer-sizes
https://code.google.com/p/kryonet/source/browse/trunk/kryonet/examples/com/esotericsoftware/kryonet/examples/position/PositionClient.java
17  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-06-27 07:38:31
Unless there is extreme cases of gravity, couldn't non-player objects have a bit of prediction. This type of simulation is probably better handled on the server end with clients only polling where objects are and predicting client side where they will end up. Not really an ECS problem, but more of an efficient data transfer issue.

As for what I was saying, it was just that ECS is very effective on trees with many leaves. Like say, character classes in an RPG, where one weapon can have 5 attributes and each adds a different art piece to the weapon. However, ECS isn't as effective if you needed to attack, as if a monster was split into many body parts you'd need to calculate the effects to each part.

Most of the time, we just don't use trees in gaming enough to get the power of this organization. Modularization is the best tool and probably the only way we have to effectively use ECS. In your game, I'd just simplify the simulation so only coordinates and prediction can be used for accurate representation* of the entities.

* with a bit of server correction, of course.
18  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-06-26 07:41:03
As much as I like ECS, the video in that page is right. You have to know when to stop splitting. What is worse is that it is totally game dependent. Doing a system like this for tic-tac-toe is just overkill, but it sort of works for organizing modules.

ECS has a lot of similarities to multi-threading. There are some instances where splitting things up really makes things easier. There are others where you'd just be creating vomit. ECS is a smaller form of data threading, but you still have to make sure you take full advantage of your hardware. For the games I've programmed, I never went past Artemis. ECS works well improving modules, but fails at connecting them.

Games just contain too much logic to take advantage of this. We just don't use data trees enough to get the power data driven architecture like ECS gives. In games, ECS will always be overkill because let's face it, not all aspects of a game is data. We just use data to assist logic structures. In logic and gaming, the fastest path is always the best one. Sorry entities, but your piping path takes too long...



19  Discussions / General Discussions / Re: What's with unorganized code? on: 2014-06-24 04:44:59
Whoa, seems someone got caught in some kind of bear trap...  Pointing

Java, Java, Java... structs are way overdo. Why do you allow people to write code like the OP when you can have us write it in 5 lines... maybe less?

1  
2  
3  
4  
5  
struct Troint{
       public int n;
       public int p;
       public int v;
}


Come on Java, stop holding out on us.  Clueless
20  Game Development / Newbie & Debugging Questions / Re: loading picture on: 2014-06-23 04:01:13
Upload pictures... where?  Huh
21  Game Development / Newbie & Debugging Questions / Re: Handling Blocks & Entities Separately.. on: 2014-06-23 01:05:02
You need culling, which is only drawing elements that are on the screen. Also, try and reduce your draw calls to as little as you possibly can.
22  Discussions / Miscellaneous Topics / Re: The Game That Time Forgot on: 2014-06-22 22:48:03
Hey, it could have been worse, like the guy didn't actually finish the game at all.

If I can have a penny for every time a developer didn't finish a game...
23  Game Development / Newbie & Debugging Questions / Re: Tile Placing on: 2014-06-22 20:21:50
Cry A thread... about placing tiles. Alright, I'll work with it.

This part is good, you need to store the TileX and TileY for each tile.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
package com.darkcart.game.cb;

import java.awt.Image;
import javax.swing.ImageIcon;

public class Skyscraper {

   private Image skyscraper;
   private int tileX, tileY;

   public Skyscraper() {

      ImageIcon img = new ImageIcon();
      img = new ImageIcon("res/skyscraper.png");
      skyscraper = img.getImage();

      tileX = 4;
      tileY = 0;
   }

   public Image getSkyscraper() {
      return skyscraper;
   }

   public int getTileX() {
      return tileX;
   }

   public int getTileY() {
      return tileY;
   }

   public void placeSkyscraper(int skyX, int skyY) {
      tileX = skyX - 1;
      tileY = skyY - 1;
   }

}


Okay, the next step is actually storing each Skyscraper. You see, in Java, you have to make a new Object for every item that you have so doing something like
Skyscraper s = new Skyscraper()
only makes one Skyscraper. Regardless of how many
Skyscraper s = new Skyscraper()
you call, you will literally only have one "s". So that Skyscraper will move around the map, as in your upper example...

1  
2  
3  
- Skyscraper s = new Skyscraper();

+ ArrayList<Skyscraper> listOfSkyscrapers = new ArrayList<Skyscraper>();


You want to use a list of skyscrapers in order to solve your problem. It will allow you to make multiple Skyscrapers under the same roof that are all different entities.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
//---------------------------------------------------------------------------------------
//CREATE FIRST SKYSCRAPER
//---------------------------------------------------------------------------------------

//To add a new skyscraper to the list
//Skyscraper (Index 0)
listOfSkyscrapers.add(new Skyscraper());

//---------------------------------------------------------------------------------------
//TO EDIT SKYSCRAPERS
//---------------------------------------------------------------------------------------

//To edit that skyscraper
Skyscraper temp = listOfSkyscrapers.get(0);

//To edit variables
temp.placeSkyscraper(4,5);

//To place skyscraper back
listOfSkyscrapers.set(0, temp);

//---------------------------------------------------------------------------------------
//TO MAKE ANOTHER NEW SKYSCRAPER (Index 1)
//---------------------------------------------------------------------------------------
//Skyscraper (Index 1)
listOfSkyscrapers.add(new Skyscraper());

//---------------------------------------------------------------------------------------
//TO EDIT SKYSCRAPER (Index 1)
//---------------------------------------------------------------------------------------

//To edit that skyscraper
//temp was declared in above statement....
temp = listOfSkyscrapers.get(1);

//To edit variables
temp.placeSkyscraper(2,3);

//To place skyscraper back
listOfSkyscrapers.set(1, temp);

//---------------------------------------------------------------------------------------
//Etc.
//---------------------------------------------------------------------------------------

//Repeat "To Make Another Skyscraper" Again, adding one to index each time...

//---------------------------------------------------------------------------------------
//TO DRAW ALL SKYSCRAPERS IN LIST
//---------------------------------------------------------------------------------------
//To draw all contained in the list

public void paint(Graphics g)
{
     for (int i = 0; i < listOfSkyscrapers.size(); i++)
     {
       g.drawImage(listOfSkyscrapers.get(i).getSkyscraper(),
                              listOfSkyscrapers.get(i).getTileX() * 45, listOfSkyscrapers.get(i).getTileY() * 45,
                              null);
     }
}


This should hopefully be more than needed to get the ball rolling. Arrays exist to make sure you can do copy and pasting easier within code. Learning how to use them (and functions) is critical if you don't want to type out different variables for each item you want on your map.

Edit: ninja'd... but just as well, now he has two examples...
24  Discussions / General Discussions / Re: How to stay focused.. on: 2014-06-22 19:19:45
Don't forget about this one...

How to stay focused... how to stop procrastinating... it is all the same thing really.

Discipline.

If you set a routine for yourself and try hard to keep that routine, your body will follow through on that routine (even if that routine is unhealthy). However, the problem is that programming isn't an activity that keeps your body active. You'd literally destroy your health if you program and develop 24/7. So, you want a routine, but you also have to make sure you leave time in your day for other things.

I suggest just finding a few hours in the day strictly devoted to programming and developing. Now, there are going to be those times you don't feel like it. In those cases, you just stop and do something else. As long as you don't make escaping from developing a routine, all should be well...
25  Game Development / Newbie & Debugging Questions / Re: Using XML to load resources on: 2014-06-22 17:22:14
There is really no one right way to do resource loading, but I think the main thing you want is resources to be very easy to find for yourself. When you are debugging for you, or the people who are playing your game, you have to figure out where your resources are.

The way I organize assets is by folder/ file name. In the classes, I make sure that each class has a slot for images. When I load the assets, I know exactly where the images are by giving each one a tag representing the file name. Using this system with an array of objects usually keeps things organized for me.

This is my own personal way I've done it for JSON, XML, Lua, JS... etc. But, there is no one right way. As long as you know where the data is being placed, it should be fine on any game.
26  Game Development / Newbie & Debugging Questions / Re: Problem with detecting 2 different things! on: 2014-06-22 02:00:08
Creating the nextLevel(); method was generally how I got it working. Wink If I didn't understand java, I certainly wouldn't be bugging people about it on the forum. Cheesy

Yeah... maybe it isn't understanding Java that is the issue here, maybe it is learning how it actually applies to 2D game programming. Try reading this...

Regardless of what you know, there is a disconnect somewhere. But, just as well, gaming is one of the hardest parts of developing. Researching deeply into the topics, and looking at how other games do things, is the answer to solving most problems you have.

Honestly, it isn't that you don't know Java, I think that the issue is that enough time in researching the topics isn't spent.  Cry

27  Game Development / Newbie & Debugging Questions / Re: Tile Placing on: 2014-06-21 18:09:22
Either you have all you tiles have an ID, or you make an array of objects that store their position.  Wink
28  Game Development / Newbie & Debugging Questions / Re: How to create games like .. on: 2014-06-21 17:18:50
Well, you have a final product to look forward to.

This game showed here is heavily inspired by Cave Story. The movement, the learning by doing, and the urge to explore the world is all here. (If you liked this little Ludum Dare game, Cave Story would be a good game to go check out also.) It is not my venture to make the next Cave Story like game, but given that game was built in Flash, it does have a decent shelf-life as it can actually be played online. (Something that Java has lost...)

The Story Behind the Caves...

In terms of just getting the raw game play aspect right, it takes the right mixture of art, coding, and visuals. This person pretty much emulated Cave Story's feel to create a sense of loneliness (which is actually something Cave Story did really well, in my opinion). By taking a hint from Pixel, this game was able to set the tone a lot more quickly. So, in your case, it all comes down to figuring out how to emulate what you want, without outright stealing it. A game can be inspired by another game.

In your case, you have to find the elements that you want your game to have, and tweak them to perfection. No one knows what is going on inside your head. As a collision and entity system that is bad to you may be great to someone else. Another problem is that you are using Java2D, which is probably not a good idea if you want to get this up and running quickly and with a decent speed.

Quote
1.) My collision system and entity handling system just plain out suck.
2.) The game becomes way to overloaded due to all the handled entities on screen.
3.) I can't freaking make slopes with spirtesheet grids. (Mostly because my collision is directional).

There is a way to do this without game maker, logic needs to be separated from the graphics.

A sprite sheet does not handle collision, your program does. If you need examples of how to handle slopes and collision, I suggest you look at some of the documentation behind Sonic the Hedgehog, as they dealt with 360 loops (all using only 2 points of floor collision markers, and 2 points of air collision markers.) Usually, the way you deal with multiple entities is just making sure that you don't render them unless they are needed.

If you insist on using Java2D, just know that each of these parts will have to be coded by hand. Results will take a very long time depending on how much time you are willing to put into each system you have. Honestly, what you should try to do is start with a blank sheet and try to emulate this game with the knowledge you have. When you get stuck, then research a similar platform game (like Mario) and see how they designed the code.

Learn by tweaking, I've been there. You won't know how to do everything, but you can at least try to get what you do know working to your standards. The more you understand, the closer you'll get to your goal. Just don't expect you'll just be able to code this up by tomorrow Tongue.



29  Game Development / Networking & Multiplayer / Re: MMORPG - Handling Multiple Areas on: 2014-06-21 02:11:31
Suppose the world has 5 islands. There are players on all the island. So, I don't want to send the data of players, items, enemies and other entities that are on Island 1 to the players of other islands. I mean there is no point in doing that. So, is this the right approach ? I mean is this how people usually go about doing this ?

Uhhh... I suspect you mean "player lobbies" in where each island represents one lobby?

I mean, one good way of doing this is just to keep all the player data, and the location of that player on the server back end. Then, just share the data with players that are within that location. Let your server handle how to organize the players, and also handle the information you send back to players.

This is something I thought:
I store the player's data in an ArrayList. So, I was thinking of making an ArrayList for all the islands and then players of the same island will share their data. But, I figured as the no. of islands will increase, things will get unorganized and complex.

So can you guys help me on how to handle this ?

Well, unless you have 1 million islands, I don't see it as the case. However, to relieve confusion, I would literally track it by player and give each player a "location ID". Then, if multiple players have matching "location ID"'s, I'd send all the data necessary in a group to only those players. There is literally no reason to track the islands as a player literally can't be in two places at once. persecutioncomplex

Hopefully that clears up a little, and my way is only one idea. There are other ways to do it, so feel free to experiment if this way doesn't work for you.  Pointing
30  Discussions / General Discussions / Re: Game Design Advice on: 2014-06-21 01:55:18
Calculating Game Ideas...

Hmmm, there is no real strategy for getting game ideas. I mean, literally, inspiration comes out of nowhere for me. The biggest problem for me is time. The hardest part is that with all the ideas going through my head, I don't actually take the time to write down all the good ones.  Emo
Pages: [1] 2 3 ... 20
 

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

The first screenshot will be displayed as a thumbnail.

CopyableCougar4 (23 views)
2014-08-22 19:31:30

atombrot (34 views)
2014-08-19 09:29:53

Tekkerue (30 views)
2014-08-16 06:45:27

Tekkerue (28 views)
2014-08-16 06:22:17

Tekkerue (18 views)
2014-08-16 06:20:21

Tekkerue (27 views)
2014-08-16 06:12:11

Rayexar (65 views)
2014-08-11 02:49:23

BurntPizza (41 views)
2014-08-09 21:09:32

BurntPizza (31 views)
2014-08-08 02:01:56

Norakomi (41 views)
2014-08-06 19:49:38
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

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
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!