Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (746)
Games in Android Showcase (226)
games submitted by our members
Games in WIP (828)
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  Discussions / Miscellaneous Topics / Re: Career advice on: 2017-12-08 17:16:36
Always remember that the employer cares about you the way the farmer cares about the chicken.  You have to watch out for yourself.
2  Game Development / Newbie & Debugging Questions / Re: Newbie to Game Development on: 2017-12-03 21:55:50

I recommend starting from the sources of an existing game, the closest
you can find to the kind of game you want to develop first.  It will in effect
have a library of all the things you need, whether that is from a formally defined
library or just the things coded within the game.

By starting with an existing game, you skip the hardest step for a newb, which
is going from a blank page to a functioning framework.
3  Game Development / Performance Tuning / Re: for loops on: 2017-11-11 21:00:56
I traditionally used For loops, but I recently came up with a good reason to prefer a custom iterator model.

The rendering style I use depends on drawing order to look right, given potentially overlapping
objects.  For most boards, that is top to bottom, left to right.  However, it you offer the "reverse"
view, you also have to reverse drawing order, which complicates the clean "for" loop a bit.  Now
add the "rotate 90 degrees" and you also have to swap the x and y axis, which REALLY complicates
things.  You can't avoid all the details everywhere, but a "for loop" model gets very messy. Using
iterators leaves the apparent code very clean and hides the messy details in the guts of the iterator,
which you only have to write once.

4  Discussions / Miscellaneous Topics / Re: Engineer/Programmer? sentenced in VW emissions fraud case on: 2017-08-28 23:43:22

I think it's pretty clear that If I was hired by a company to write software, and it turned out the
company was planning to use the software to rob banks, I wouldn't be able to claim immunity
because I was only following orders and collecting a salary.
5  Discussions / Business and Project Management Discussions / Re: iOS Multiplayer App - Developer / Artist Wanted on: 2017-08-27 19:04:02
I second that.  Trying to form a team of volunteers is a tough proposition in any circumstances; you have to start with generating enthusiasm for the project.  Unless you are secretly Linus Torvalds, in which case just dropping your own name will generate enthusiasm.
6  Discussions / General Discussions / Re: Setting resolution for your game? on: 2017-08-13 19:50:05

There is at least a 3:1 spread in the pixel density of commonly available displays.  There's
no sensible way to design a game that doesn't take this into account.  Something that looks
nice on a 72dpi display will be a tiny unusable feature on a 300ppi display.

You also should take into account that a lot of screens are touch only (even windows pc screens)
and on such screens there is no mouse tracking, no mouse rollovers, and a minimum feature size
of around 1/3 inch if the user is intended to click on it.
7  Discussions / General Discussions / Re: Compressing chunk of tile data? on: 2017-06-28 00:12:01
If you just use a standard compression algorithm such as LZW, you'll come very close
to that you can achieve by hand-crafting something of your own.  Maybe even better.
And you'll have more time to work on your game instead of reinventing the wheel.
8  Java Game APIs & Engines / Java 2D / Re: Triangle fill algorithm on: 2017-06-01 15:52:53

Decompose the triangle into two segments, "top half" and "bottom half" with appropriate
special cases.

Use the Bresenham algorithm to describe the left and right edges, draw one row at a time
from left to right. 

This can be very fast (requires no multiplies) if implemented carefully, but be warned
that for extremely acute triangles, it can produce counterintuitive "triangles" that are
not one blob. 

For extra credit, get the edge conditions correct so drawing a mesh of triangles
draws each pixel exactly once.  Otherwise, attempts to draw a mesh will leave
stray pixels undrawn.

9  Game Development / Game Play & Game Design / Re: has map vs instaceof for determining object kind from an arraylist of arraylist on: 2017-05-20 18:11:43
Use a common ancestor class, or interfaces, to abstract the type of objects.  Instead of
using instanceof use a predicate method that is implemented differently in different top
level classes.
     class Base {
      public boolean isSoldier() { return(false); }
     class Soldier extends Base {
      public boolean isSoldier() { return(true); }
10  Game Development / Game Mechanics / Re: Backwards-Forewords Compatible Save Game Data on: 2017-05-15 17:51:26
Zip files are just a box to store things in.  Sure, it's useful to have a standard box,
but over time the nature of what gets stored will change so much that having a
box won't help much. 

It takes careful planning to remain compatible, and sometimes it's not possible.
The very first step is to embed a version descriptor in the saved format, so
future versions can have a chance to know what they're dealing with.
11  Discussions / General Discussions / Re: Power law and game sales on: 2016-10-09 05:07:58
Believe.   The best way to sell 1000 copies of a $0.99 game is to spend $5000 marketing
it.   Extrapolate.
12  Game Development / Game Mechanics / Re: Downloading and running jars from servers - Security? on: 2016-08-27 18:45:46

The theory behind applets was exactly that - lock the java code in a sandbox
that protects the user from harm.  Sadly, Oracle gave up trying to maintain that

The fundamental problem, IMO, was that the applet model tried to put
locks and barriers in front of the doors that allow java to have normal (ie; unlimited)
access to your machine; but the doors were still there, and exploits were all about
bypassing the impediments.

On the other hand, if the doors had never been there in the first place, there would have
been no barriers needed and no exploits possible.  That's more or less the situation with
Javascript, the only remaining extension language in browsers.

13  Game Development / Newbie & Debugging Questions / Re: Converting RGB images to a master palette on: 2016-08-20 19:41:03
There are different solutions depending on if the palette is fixed or flexible.  

You can do pretty well by taking a color distance metric and selecting the nearest palette color. Keep track
of the RGB error and add it into the next pixel, so the average selected pixel stays near the original RGB colors.

If you can choose your palette, then histogram your colors, and use a peano curve to walk the histogram
to group histogram colors to select palette colors, and make the palette colors conform to the centroid of
the corresponding histogram boxes.  This can produce magically good pictures even with very few colors.

Of course, doing all this efficiently is difficult to do yourself, and I have no idea what commercial color reduction
programs will work well for you.   Photoshop is not bad.
14  Game Development / Networking & Multiplayer / Re: Issues with synchronisation of player movement on a multiplayer server on: 2016-08-09 23:59:25
There is no way to eliminate these issues.   If you're playing over the internet, you
will occasionally encounter round trip delays that are unbelievably long.  I mean seconds long.  I recommend a few things.

First, disentangle your game engine "move to this square" from the
real time interface "user hit a key".

Second, if the actions are supposed to be simultaneous, you'll need a
system to reassemble the normalized time sequence after the fact.  To
present a reasonable interface to the user, time has to move on at 1:1,
but when new actions arrive from the network, which took place "before"
the current time, you must unwind and replay in the correct time sequence.
This will occasionally result in your local user thinking he has succeeded in
some action, only to find that he hasn't.
15  Discussions / General Discussions / Porting with Codenameone on: 2016-08-09 23:00:00
Around the beginning of this year, I started a project to port
to Android and IOS using Codenameone.  I think I first found Codenameone as
a possible tool set here, so I'm linking to this, sort of my final report, here.
16  Game Development / Newbie & Debugging Questions / Re: Fast color manipulation on: 2016-07-05 17:52:20
use a pre-computed lookup table with 256 elements, or if you really need them, 3 lookup tables.
Bonus; this gives you arbitrary color remapping.
17  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.
18  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.
19  Game Development / Artificial Intelligence / Re: Hnefatafl on: 2016-04-26 00:22:34
different from traditional =  modernized .  It scans for me.
20  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.
21  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, where the game is known as
Tablut (no one can pronounce or spell Hnedatafl!)
22  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.
23  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.
24  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.
25  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.
26  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.
27  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.
28  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.

29  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.
30  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?
Pages: [1] 2 3 ... 5
xxMrPHDxx (106 views)
2017-12-31 17:17:51

xxMrPHDxx (41 views)
2017-12-31 17:15:51

xxMrPHDxx (49 views)
2017-12-28 18:11:33

Ecumene (215 views)
2017-09-30 02:57:34

theagentd (324 views)
2017-09-26 18:23:31

cybrmynd (370 views)
2017-08-02 12:28:51

cybrmynd (406 views)
2017-08-02 12:19:43

cybrmynd (374 views)
2017-08-02 12:18:09

Sralse (345 views)
2017-07-25 17:13:48

Archive (1104 views)
2017-04-27 17:45:51
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 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!