Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (475)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (530)
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]
1  Java Game APIs & Engines / Java 2D / Re: Get video card name? on: 2004-04-12 14:59:15
Quote
I'm wondering why would you need cpu info...


Well, if your application needs to know whether or not your hardware meets minimum or recommended system requirements, then it needs info on your CPU, GPU, APU, RAM, etc.
2  Java Game APIs & Engines / Java 2D / Re: Get video card name? on: 2004-04-12 03:38:47
If Java cannot get the name of your video card, can it at least get the model of your CPU?
3  Java Game APIs & Engines / Java 2D / Re: What is Swing's equivalent of java.awt.GridLay on: 2004-04-05 14:15:39
So what classes should I use? As long as I can avoid that damned DOS console that Rogue and Nethack use, I am happy.
4  Java Game APIs & Engines / Java 2D / Re: What is Swing's equivalent of java.awt.GridLay on: 2004-04-05 13:58:13
So is java.awt.GridLayout my best bet if I want to implement a clone of Rogue in Java, but with a 2D grid of tiles similar to Minesweeper's?

How easily can I implement a mouse-driven interface similar to Diablo's or Dungeon Revealed's, in which my character moves in the direction of a tile on which I click?

Has anyone released a similar game for Windows? I remember Dungeon Revealed for Macintosh from the late 80s, which is similar (except for 2D artwork instead of ASCII characters in each tile) to what I intend to implement. However, I know of no similar game for Windows. Does anything similar exist for Windows?


http://mac.the-underdogs.org/index.php?show=game&id=305

No 3D models, no 2D sprites, no color... but the simplicity of the tiled graphics is awesome. I would love to implement that simplicity in a game, with either 2D artwork or ASCII characters in each tile.
5  Java Game APIs & Engines / Java 2D / What is Swing's equivalent of java.awt.GridLayout? on: 2004-04-05 02:23:33
I want to implement a clone of Rogue in Java. However, I want a 2D grid of equally sized cells, instead of a DOS console, to represent ASCII characters. I do not have time to implement 2D sprites or 3D models.

I believe that java.awt.GridLayout is the only class that implements a 2D grid of equally sized cells. However, Swing supersedes AWT. What is Swing's equivalent of java.awt.GridLayout? Has anyone used it in a 2D game, a la Rogue?
6  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-03-02 00:29:07
CubeWorld is similar to Second Life in that Second Life allows avatars to move around a seamless landmass, create items, use a scripting language to bring their creations to life, and cordon off plots of land to create buildings. Second Life blurs the line between games and toolkits, but Second Life is a MMOG.
7  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-03-01 12:48:55
Quote


Did you read the article I quoted? Every prospective customer that comes to us we ask to see a Game-Concept before we talk to them - it's rarely possible to give meaningful answers to any specific questions unless there is a game design already on the table.


NAME OF GAME
CubeWorld is the name of our MMOG.

DESIGN HISTORY
CubeWorld is the successor to strikeNET, our attempt of yesteryear to design a MMOG. strikeNET underwent a plethora of revisions, from a MMOFPS in the vein of PlanetSide, to a MMORPG that combined elements of Grand Theft Auto: Vice City, Splinter Cell: Pandora Tomorrow, and Hitman: Contracts into a simulation of the world of espionage.

strikeNET was an attempt to appeal to the mainstream, but we realized that no game could appeal to everyone. All games restrict freedom through goals and boundaries. strikeNET was to be a MMOG to end all MMOGs. strikeNET  promised a world in which users could do anything, without bounds.

Although we wanted that world to be one of espionage in the current Cold War, we knew that strikeNET lacked the ambition to deliver a world with no rules. We wanted a sandbox in which thousands could collaborate to create their own worlds in a single, massive universe. CubeWorld was a result of our odium for conventional MMOGs.

GAME OVERVIEW
A multi-user domain, or MUD, is a server that hosts a web of rooms in which clients interact with clients, items, and rooms. Clients can create items, rooms, and links to rooms. Interaction between rooms is impossible because a MUD is zoned, not seamless. Furthermore, items in a MUD serve no function.

CubeWorld is a sandbox in which thousands can collaborate to create their own worlds in a single, massive universe. CubeWorld allows you to build whatever, whenever, wherever. You can script anything, from a battlefield in which soldiers fight for power, for glory, forever, to a city in which anyone can be an assassin.

FEATURE SET
CubeWorld stresses simplicity, to the point that CubeWorld resembles Quake III: Arena. In Quake III: Arena, a master server maintains a list of servers and ping. Each client queries the master server to join a server. Each server maintains its clients, items, and buildings. If a server disappears, then its clients, items, and buildings disappear.

In CubeWorld, a master server maintains a list of servers and ping. A client can query the master server for a list of servers and ping. However, she maintains an account on her favorite server only. Her account maintains her avatar, items, and buildings, which persist after she logs off.

CubeWorld comprises a distributed network. Donors can donate servers to the distributed network. Each server adds avatars, items, and buildings to the universe that exists on the distributed network. If a server disappears, then its avatars, items, and buildings disappear from the universe that exists on the distributed network.

Each server sends multicast packets of avatars, items, and buildings to every other server. Each packet includes a header that declares where in the universe the packet occurred. If a server analyzes a packet header and discovers that the packet does not affect its avatars, items, or buildings, then the server ignores the rest of the packet.

In CubeWorld, your avatars, items, and buildings are easy to edit. If a model is animated, then it consists of geometric primitives around the bones of a skeletal animation. If a model is unanimated, then it consists of geometric primitives. Each primitive is a solid color instead of a texture.

CubeWorld is friendly to modems. A user can download a client in no time, because the distributed network streams all models and sounds to the client. A model in the form of geometric primitives around the bones of a skeletal animation requires little bandwidth. A sound in the form of Ogg Vorbis also requires little bandwidth.

THE GAME WORLD
In CubeWorld, the universe is a massive, seamless grid. Clients can cordon off plots of land on the grid to create buildings with geometric primitives. A group of clients can share access to a plot of land, which allows collaboration in real-time. Clients can also use a scripting language, similar to UnrealScript, to bring their plots of land to life.
8  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-26 05:41:06
If some of the nodes fail, then the total simulation will continue. However, clients on the failed servers will appear to the distributed network's servers' clients to have quit and logged off the distributed network. An attack on a server will not affect a distributed network.

I originally intended to implement the Java Reliable Multicast Service. However, I now suspect that the only two solutions to a seamless, scalable world exist: more hardware and bandwidth, or less servers and clients.

I am out of ideas. I thought that the principles of a distributed IRC network could apply to a MMOG, but I was wrong. Apparently, clever coding is not a substitute for more hardware and bandwidth. Smiley

What if I develop a distributed IRC network and, for the client, a 3D graphical front-end? If a front-end allows a client to move around, gesture, and walk from room to room, is the system robust enough to support a MMOG? After all, Efnet has over 100 servers and more than 20,000 users!
9  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-25 21:18:53
I love this place. Any attempt to gloss over a mediocre explanation is glaringly obvious, and the experts will detect it instantly. The experts are, like, debuggers. Smiley

If a server periodically sends multicasts of the location/state of its clients to every other server, then the server also receives the location/state of every other server's clients. A server ignores packets that have no effect on the server's clients.

For example, assume that all of a server's clients are located in a castle on the map. The server receives multicast packets of other servers' clients. However, the server analyzes each packet's header and determines that only a few packets describe events that occurred near the server's clients. The server accepts those packets that describe events that occurred near the castle on the map, but rejects everything else. (The existence of the castle is irrelevant. I merely mention it as a point of reference.)

I mention multicasting because the multicasting is supposed to reduce the amount of required bandwidth. If 64 servers exist on a network, then a server sends out a multicast packet to 63 other servers only once. Otherwise, a server sends out a unicast packet to 63 other servers, 63 times.

I cannot control bottlenecks on other people's routers, so this is the best I can do. I have absolutely no idea on how to reduce the amount of required bandwidth further.

BTW, I can settle for a late, inaccurate, or rough approximation of activity from other servers. The objective is to cram as many people into a map as possible, as cheaply as possible, without zones or shards.
10  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-25 18:57:29
Unfortunately, your solution means that each server can host only a portion of the world--which completely contradicts the notion of scalability via donors who donate servers to the distributed network. Yes, each server should host only a limited number of clients, but a truly scalable MMOG should allow as many people as possible to assemble anywhere on the map. Thus, all servers must host the same map of the whole world so that each server's clients can be anywhere on the map.

The solution that I outlined in my previous post is incredibly crude, but I cannot think a cheaper way to implement a seamless, yet scalable, world without a hideous amount of expensive hardware.

A MMOG should be a window into another reality, and to artificially limit the number of clients who can assemble at a single location on the map is totally unrealistic. Expensive hardware can solve this problem with brute force, but if a MMOG is too expensive for a university to host, then nobody will play it. If a university can host a MUD, then a MMOG that scales linearly with the university's budget is the next logical step.
11  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-25 17:34:02
Quote


For instance, the simple question of altering game-data. How do you ensure there are no conflicts when two servers want to write to the same data? If you make each server authoritative for it's own data only, how do you make sure the other servers can read that data?


What if each server is responsible for its own game data? For example, if a client creates an account on Server 1, then the client is allowed to create a certain number of objects with his account on Server 1. Server 1, which is authoritatively responsible for the client's objects, periodically sends multicasts of the client's objects to every other server on the distributed network.

If Server 2's client affects Server 1's client's objects, then Server 1 authenticates any actions to the objects. If Server 1's client cancels an account, then Server 1 destroys the client's objects. Synchronization should not be a problem. However, if latency causes two objects to overlap, then Mark Thornton's solution is necessary.

An inexpensive solution to latency does not exist. If it did, then "rack-mounted Linux-based IBM eServer xSeries systems hosted by IBM and running on internal fiber-optic networks" would not be http://Butterfly.net's solution to latency. Hardware and bandwidth are expensive. I simply want to develop the world's cheapest, but most scalable, MMOG.
12  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-25 01:59:46
What if the MMOG comprises a master server that manages a distributed network of servers? If a client wants to participate in the MMOG, then the client queries the master server for a server list. Then the client connects to the server with the lowest ping.

Each server runs a common map and multicasts packets of its clients' actions to every other server. The master server determines how many servers to which to multicast. Each packet's header declares where on the map the packet's client's action occurred. If a server receives a packet in which the packet's client's action has no effect on the server's own clients, then the server ignores the rest of the packet. This should substantially reduce each server's required bandwidth.
13  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-23 18:29:06
Yes, I realize that my original idea will not work. What if a master server builds a Klein map, superimposes a grid of squares over the Klein map, creates a cluster in each square with said square's servers, and instructs each square's cluster to communicate with adjacent squares' clusters only?

The grid of squares determines which squares are east, west, north, or south of which squares. Thus, a square at the center of the grid communicates with four adjacent squares, a square at the edge of the grid communicates with three adjacent servers, and a square at the corner of the grid communicates with two adjacent servers only.
14  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-23 17:20:38
Well, I want to write a manager that manages a mesh network for grid computing, allows donors to donate servers to the mesh network, and intelligently incorporates those servers into the mesh network.

Items in a Klein map move about, and push each other out of the way. Thus, the Klein map represents servers by vertices and ping by edges. However, if the edges are invisible, then a scatter plot is the result. After all, we care only where servers are on the Klein map, not necessarily the ping between them.

I realize that my original idea will not work, so I devised another. The manager analyzes the Klein map, superimposes a grid of squares over the Klein map, and instructs each square's most powerful server to host a square in the network's world. If the first server is adjacent to the second server, then the first server's square is adjacent to the second server's square in the network's world.

Alternatively, the manager analyzes the Klein map, superimposes a grid of squares over the Klein map, and clusters together each square's servers to host a square.
15  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-23 00:55:31
Google didn't find any Web pages containing "IIRC Klein maps." However, a weighted graph in which "items in a Klein map move about, and push each other out of the way" is exactly what I need. What I need is a weighted graph that represents servers by vertices and ping by edges.

If a network hosts a world that comprises a grid of squares, then each server hosts a square in the network's world. If a server is connected to another server, then the server's square borders the other server's square in the network's world. If a client moves from square to square in the network's world, then the client moves from server to server.

A weighted graph illustrates which squares are east, west, north, or south of which squares. A server is connected to a maximum of the four closest servers. A mesh network is the result.

If a server is connected to four servers, then the server's square borders the four servers' squares in the network's world. If a server is connected to three servers, then the server's square is at the edge of the network's world. If a server is connected to two servers, then the server's square is at the corner of the network's world. If a server is connected to only one other server, then the server's square borders the other server's square, with nothing at the square's other borders.

Second Life implements a similar system. Read "Enabling Player-Created Online Worlds with Grid Computing and Streaming" at http://www.gamasutra.com/resource_guide/20030916/rosedale_pfv.htm.
16  Game Development / Networking & Multiplayer / Re: How do I diagram ping between servers on the N on: 2004-02-22 13:07:18
I do not want a map that measures the geographical distance between servers. I do want a map that measures the ping between servers. If two servers are separated by a vast ocean but low ping, then the those two servers should be relatively close to each other on the map, without any regard to the geographical distance between them.
17  Game Development / Networking & Multiplayer / How do I diagram ping between servers on the Net? on: 2004-02-22 06:13:46
If I know the ping between several servers on the Internet, how do I diagram that ping as a two-dimensional map of the "location" of those servers? Has anyone developed an algorithm to achieve this?

I want to write a program that uses that map to assemble those servers into a network for grid computing. The network hosts a world that comprises a grid of squares. Each server hosts a square, and the four closest servers host squares that border the original server's square. The result is a mesh network.
18  Game Development / Networking & Multiplayer / Re: Replication? on: 2004-02-17 13:36:27
To develop a distributed IRC network in Java, for example, which API should I study? What is HeadQuarter?
19  Game Development / Networking & Multiplayer / Re: Replication? on: 2004-02-16 22:12:52
Yes, Google leads me to conclude that a distributed IRC network exemplifies exactly that which I struggle to describe.



So, how do I do this? If someone can summarize it in an image, surely someone can summarize it in a tutorial. Wink
20  Game Development / Networking & Multiplayer / Re: Replication? on: 2004-02-16 19:02:28
I want to write a chat program. The program should maintain a persistent account (password, profile, etc) for each client. If the program resides on a single server on a network, then the program supports a hundred clients off the Internet. The program can support over a hundred clients, theoretically, but at the expense of increased lag and decreased performance.

If, however, I add more and more servers to the network, then the program should support more and more clients, without lag. Furthermore, if one server fails, then the program should be unaffected. The purpose of a fully scalable, distributed program is to decrease lag, increase performance, and increase reliability.

So... how do I implement the above? Does it make any sense at all?
21  Game Development / Networking & Multiplayer / Re: Replication? on: 2004-02-16 13:32:03
Err… our MMOG is merely a MUD that supports an unlimited number of users. And I want to distribute software/functions, not divide the world. For example, the chat program should allow several servers to share one chat room, instead of one chat room per server. That is my idea of replication (unless my research is bad).

My research into RMI indicates that that API supports only distribution, not replication. However, if a tutorial were available on how to implement replication in RMI, I would love to see it! Or is a better API available?

If a chat program supports replication, I assume that I cannot simply install it on a computer on a network and connect other computers to the network to enable replication. (That would be too easy.) What steps are involved? Do I simply add a few lines of code to a program to enable replication, or must I rewrite it from the ground up?
22  Game Development / Networking & Multiplayer / Re: Replication? on: 2004-02-16 04:19:28
How? If I write a chat program that supports a dozen clients on a single server, how do I rewrite the program to replicate itself across several servers on a network, in order to support hundreds of clients in a single chat room?

What API would I use? If the program could replicate itself, could I simply hook up more computers to the computer with the program, or must I install the program on each computer and write code so that the computers recognize each other? (I am new to the world of networks.)
23  Game Development / Networking & Multiplayer / Replication? on: 2004-02-16 00:23:41
I am at work on an MMO implementation in Java. Whereas other MMO implementations feature multiple "shards" that host a limited number of players due to technical limitations, ours requires scalability of one world across multiple servers.

How do I develop an application that replicates its processes across multiple computers on a network? Is a tutorial available?
Pages: [1]
 

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

The first screenshot will be displayed as a thumbnail.

pw (11 views)
2014-07-24 01:59:36

Riven (10 views)
2014-07-23 21:16:32

Riven (11 views)
2014-07-23 21:07:15

Riven (12 views)
2014-07-23 20:56:16

ctomni231 (42 views)
2014-07-18 06:55:21

Zero Volt (38 views)
2014-07-17 23:47:54

danieldean (32 views)
2014-07-17 23:41:23

MustardPeter (34 views)
2014-07-16 23:30:00

Cero (50 views)
2014-07-16 00:42:17

Riven (50 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!