Java-Gaming.org Hi !
Featured games (88)
games approved by the League of Dukes
Games in Showcase (681)
Games in Android Showcase (196)
games submitted by our members
Games in WIP (744)
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 ... 5
1  Game Development / Newbie & Debugging Questions / Re: Movement interpolation - alpha ruins floating point and makes jerky moves on: 2016-06-20 22:51:42
floating point calculations are inherently unstable.  For sufficiently different values, A-B can yield
a result with no valid bits at all.  Even for "normal" values, you're likely to get into trouble if any
calculation's value approaches zero.

Its better to use fixed point, or rationals, or structure your calculations to not depend on the normal
laws of arithmetic.  Putting a little slop into floating point comparisons can help, but it's only papering
over the problem.  The slop will build up and eventually your threshold will be exceeded.
2  Discussions / General Discussions / Re: Question: Bit-exact floats on different computers? on: 2016-06-16 16:38:54
It's unwise to depend on exact value floats.  Even if you believe everyone is doing the same
calculation, compilers can and do change the order of calculations in ways that are permitted by
the normal laws of arithmetic, but which no floating point implementation can actually follow.
3  Game Development / Artificial Intelligence / Re: Hnefatafl on: 2016-04-26 00:22:34
different from traditional =  modernized .  It scans for me.
4  Game Development / Newbie & Debugging Questions / Re: Adding multi-player on: 2016-04-16 19:08:37
You should design for multi-player from the ground up.  The essential bit is that
the game has to move forward based on discreet messages.  Events in the UI
have to be transformed into messages, and then messages (both the locally generated
and those received from other players) have to be parsed and interpreted.

If your framework follows this discipline rigorously, then switching from local/fake
multiplayer to real multiplayer will be relatively painless.
5  Game Development / Artificial Intelligence / Re: Hnefatafl on: 2016-04-16 18:06:02
A standard alpha-beta AI works very well, counting the "wood" and a few simple
factors such as king safety and proximity to the goal.   The asymmetric rules
has no effect at all on the AI - all it needs is a move generator.

You can play on against this simple AI on Boardspace.net, where the game is known as
Tablut (no one can pronounce or spell Hnedatafl!)
6  Discussions / General Discussions / Re: Oracle kills webstart on: 2016-02-12 18:48:23

The hidden flaw is this:  Sandboxed applets were theoretically safe, but sometimes compromised by bugs.
Web start applications, or any other means to download and run a program is guaranteed to be unsafe.

So by training users to switch from mostly safe to a guaranteed unsafe software, you are making
them less secure, not more.

IMO the ongoing deprecation of applets is more about oracle washing their hands of the problem
than about real security.
7  Game Development / Networking & Multiplayer / Re: what would be the basic structure for UDP multiplayer server/client on: 2015-12-15 19:03:29

TANSTAFL.   The reason TCP has "unacceptable" performance is that to fulfill the
in-order guaranteed delivery, sometimes you have to hold everything up while the
lost messages are transmitted.   Adding reliability to UDP will incur the same penalty.

The internet and IP are based on throwing stuff on the floor if you get too busy,
and therefore are inherently unsuited to certain kinds of games, for instance multi-person
fast shooter games.

The OP ought to understand that before he invests a lot of time in a project.
8  Game Development / Networking & Multiplayer / Re: what would be the basic structure for UDP multiplayer server/client on: 2015-12-15 18:26:08

You shouldn't use UDP to build games, at least not without a lot of extra complexity,
for the simple reason that UDP is not guaranteed to be reliable.   UDP messages
can arrive out of order, or not at all.  You can use UDP for non-critical messages
such as the instantaneous mouse position, but anything that affects the flow of
the game has to be sent reliably.

This leaves you with two choices.  Either use TCP for "important" messages, and
somehow integrate the non-synchronized TCP and UDP streams, or add a layer
of complexity to your UDP messages to add TCP-like reliability guarantees to
the important messages.
9  Game Development / Newbie & Debugging Questions / Re: Sending data through Socket leads to lock-up on: 2015-10-16 16:27:33
send and receive can both block, independently.  It's essential that there are separate threads for sending and
receiving, and that the producer and consumer of the positions not be dependent.
10  Game Development / Artificial Intelligence / Re: Decision Making in Strategy Game on: 2015-07-22 05:21:50
You're on the right track.   The individual game has to provide some basic
interface methods, such as "copy the board" and "make a random move",
while every thing else is done by a generic framework, which is instructed
to start with the current situation and spend N seconds finding the best
move to make.
11  Game Development / Artificial Intelligence / Re: Decision Making in Strategy Game on: 2015-07-16 19:30:24
The basic idea is to play many games using random moves, all the way to the end.  If you win the random game, give positive reinforcement to the root move of the tree.  If you lose the random game, give negative reinforcement.   There are many variations and different formalisms based on this idea.

AFAIK this was first used successfully in world class Backgammon programs, but it reached critical mass as the basic technique in Go playing programs.  

The amazing thing is that it doesn't require any strategy or knowledge of the game, other than recognizing the winner.  Of course, adding some knowledge can help too.  For example, I recently made a MCTS robot play several variations of checkers, and with absolutely no tuning it beats me flat using 10 seconds per move.
12  Game Development / Artificial Intelligence / Re: Decision Making in Strategy Game on: 2015-07-10 17:13:03
I've done AIs for over 60 strategy games, ranging from simple movement games to complex
euros.  These days, I always start with MCTS.   Depending on the game, it works anywhere
from poorly to magically well - but it is trivial to implement for any particular game (once you
have a generic MCTS framework) and the work to create a basic MCTS bot for a particular game
is necessary for other methods, so no effort is wasted.


13  Game Development / Newbie & Debugging Questions / Re: Self-cert Java Applet Issues on: 2015-06-10 05:20:52
Self certs are no longer acceptable as applets or jws applications.  You have to
pay for a real certificate.   As security this is complete BS, but that's the way it is.
14  Java Game APIs & Engines / Android / Re: From Java to Android, challenges on: 2015-05-27 18:53:36
I'm thinking of porting legacy java too. 

One major advantage I have, I think, is that 95% of my graphics is done using only a canvas, no swing or awt widgets.  If I use only a canvas, then doesn't that eliminate using XML for layout?

Big open question, networking.  Can I use raw sockets?
15  Discussions / Miscellaneous Topics / Re: screen scraping as a hacking method? on: 2015-05-02 20:41:49
Scar is the kind of thing I suspect is in use, but something much more than just scriptable is needed.
I know there are other windows programs, ostensibly  intended for testing GUIs, that will remember
and playback sequences of mouse actions.
16  Discussions / Miscellaneous Topics / screen scraping as a hacking method? on: 2015-04-30 21:50:46
I'm engaged in a low stakes hacking war with an unknown party who is messing with one of my java web start applications. The available evidence suggests that the most likely way this hack works is by interpreting the pictures on the screen, and feeding in mouse clicks. This can't be a simple replay attack - some pretty sophisticated image processing must be involved, and the interpreter has to be coupled with a custom back-end robot. All in all, an improbably sophisticated package for this hack, which is definitely "just for fun" not profit or malice.

My question is what toolkits might be the basis for such a system?
17  Discussions / Miscellaneous Topics / Re: Crash - Corrupt File, Months of Work Lost on: 2015-03-20 06:37:12
The correct answer starts like this: "six months ago, establish a reliable backup procedure..."
18  Game Development / Game Play & Game Design / Re: Getting Adjacent Tiles on: 2015-03-11 06:48:06
My games all give each cell on the board an array of links to adjacent cells; and all routine navigation from cell to cell uses it instead of the coordinate system.  This has lots of advantages.  It's efficient to use.  All the standard overall geometries are obviously handled, but so are oddly shaped boards with cells missing, boards closed into a torus, boards with arbitrary networks of cells and so on.
19  Game Development / Newbie & Debugging Questions / Re: What should i use to develop multiplayer game online in browser ? on: 2015-02-28 21:04:00
You have to jump through the right hoops to get a java version working.   To work for ordinary
users without disabling all security, the applet has to be signed by a real certificate, and if it
uses sockets it has to use the "all permissions" setting instead of sandbox.
20  Game Development / Game Play & Game Design / Re: The impossible 15-Puzzle on: 2015-02-11 07:35:21
Don't quote me, but I recall that for the classic 15 puzzle, exactly half of
all positions are impossible, and that a simple counting algorithm can be used
to determine which half any position is in.
21  Game Development / Newbie & Debugging Questions / Re: Java game : is it possible that update is called before re-paint is completed ? on: 2014-12-20 18:10:05

It's insanely difficult to get the synchronization right if you have 2 or more
threads marching through the same data structures, some making changes,
some trying to generate a new display.

A better strategy is to centralize drawing and mutating in one thread.
Other threads that feed in  events of various types, such as network activity,
mouse activity, and display update requests, should only queue these events
to have their effects one at a time.

22  Game Development / Newbie & Debugging Questions / Re: Starting a Java Game, Where to Start? Eventually want to be network multiplayer on: 2014-12-14 07:53:33
It all depends on what you value most: the result and a community of players, or the learning experience across the whole process.   It is appealing to start by mining your own sand, but not if you actually expect to love the first few castles you build.

You won't find a lot of formal teaching materials, but there are a bunch of open source frameworks you can either use or just study.
23  Game Development / Networking & Multiplayer / Re: [Solved] Three Solutions to UDP's Critical Packet Loss on: 2014-11-18 17:14:34
Unneeded "features" of TCP shouldn't be a consideration, they cost you nothing.
24  Game Development / Networking & Multiplayer / Re: Three Solutions to UDP's Critical Packet Loss on: 2014-11-17 20:46:24
Switching to TCP ought to be simple, and it solves your problem definitively.

The other solutions put a band-aid on UDP, but only probabilistically, and at the same time introduce
other problems.   A retransmitted UDP packed is out of order, and adding consideration of the state
of communications to higher levels of the program complicates things greatly.

If you think about it, the main reason not to switch is the less-predictable latentcy; and recovery
of critical packets adds this same unpredictability.

BTW, solution #6 would be to redesign your game to not have critical packets.
25  Game Development / Networking & Multiplayer / Re: java.net.SocketTimeoutException: connect timed out on: 2014-11-11 18:52:44
It sounds like the actual problem is that the process providing the data is blocked.
A common error is assuming that sending a small amount of data will always
succeed quickly, when in fact it can block. 

Outside of the actual data transfer, other kinds of synchronization issues
among threads can stop progress; "socket timed out" is only a symptom.
26  Game Development / Game Mechanics / Re: Packing data on: 2014-11-08 07:27:01
ignore this until your game is complete, and you metering shows that the bandwidth consumed is a major factor.
27  Game Development / Newbie & Debugging Questions / Re: I'm desperate on: 2014-10-09 05:30:03
Learn by volunteering for some existing project, where you can absorb the gestalt
while doing something useful.
28  Discussions / Miscellaneous Topics / Re: Looking for a good host on: 2014-10-05 19:33:22
Good hosting sites have a significant decay rate, but as of today I'm completely satisfied
with the service I get from Steadfast.net
29  Discussions / General Discussions / Re: Are Java applets really "dead" for indie developers? on: 2014-09-23 23:27:44
The barriers are higher for both the user and developer, but applets are still viable.
With the legacy of 10+ years of coding, I'm not about to switch Boardspace.net
to another technology. 

The net of all the brouhaha is, if you want to use applets or java web start, you have to buy a certificate.
If you use sockets, you also have to switch from "applet permissions" to "all permissions", effectively making
your applets as powerful as applications.  Oracle and the browser developers have made the applet warnings
so scary, switching to "all permissions" is barely noticable.

Or you can just deploy as a java application.

If you don't have a pile of existing java code to live with, the choice of java vs ... html5, flash, ios, android
is still a conundrum - there are good and bad points and no clear winner.
30  Discussions / General Discussions / Re: Are Java applets really "dead" for indie developers? on: 2014-09-23 23:14:21
But basically, a few years ago people realized that applets contained security problems that would allow bad guys to run arbitrary Java code on your computer without your knowledge. This is very bad and actually cost me a reformatting.

The sad part about this is that the primary work-around is to convert applets to applications, which run
the same "arbitrary java code".

  "Can't trust applets? Just run the untrusted code directly!"

IMO it's more about Oracle covering its corporate ass than any concern for user's safety.
Pages: [1] 2 3 ... 5
 
CopyableCougar4 (30 views)
2016-06-25 16:56:52

Hydroque (65 views)
2016-06-22 02:17:53

SwampChicken (67 views)
2016-06-20 13:22:57

SwampChicken (67 views)
2016-06-20 13:22:49

SwampChicken (63 views)
2016-06-20 13:22:26

Hydroque (106 views)
2016-06-15 08:22:50

Hydroque (99 views)
2016-06-13 06:40:55

DarkCart (222 views)
2016-05-29 02:30:33

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

Mac70 (178 views)
2016-05-24 21:16:33
Making a Dynamic Plugin System
by Hydroque
2016-06-25 00:13:25

Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42

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
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!