Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
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 ... 6
1  Java Game APIs & Engines / Tools Discussion / Re: replacement for Java Web Start on: 2018-05-29 16:49:45
importing the xml file into eclipse is my current problem.
2  Java Game APIs & Engines / Tools Discussion / Re: replacement for Java Web Start on: 2018-05-25 23:42:44
That sounds promising - I located your project

I'm not familiar with using ant - how do I convert from the archive to ant build files ?
3  Java Game APIs & Engines / Tools Discussion / Re: replacement for Java Web Start on: 2018-05-23 15:50:49
This project is pretty functional.  The loader application is a simple executable jar, which should
never need to be updated.  It starts up the actual application after loading only the root jar, and
caches the rest in the background.   I'm still experimenting with the best way to deploy the
executable jar as a native application that won't trigger malware warnings.

On Macs, I'm using "jar2exe" to package the loader as a mac app, signing with my apple code
signing key, then using the native disk utility to package the app as a disk image.

On PCs, I'm using Jsmooth to package the loader as an exe, signing with my jar signing key,
then wrapping the exe in a .zip.   No windows installer is needed, and I haven't discovered any
additional benefit from wrapping the exe in a msi.

On linux, I haven't found a better solution than pairing the .jar with a shell script to execute it.

You can see the current state it in action here:

4  Game Development / Newbie & Debugging Questions / Re: Game install/setup on: 2018-05-23 15:45:33

The virtues of JWS are that it allows the application to be incrementally loaded and dynamically updated.
Even though it's a pain to get working, it's a shame that it's on the chopping block.

I'm working on a replacement that retains the virtues, bases on a very small java "loader" application,
which is an executable .jar, and which caches and launches the real application.  I'm looking for the best
way to package and deploy the loader application to the common platforms.

See this other thread;
5  Discussions / Business and Project Management Discussions / Re: Can independent Java game developers make a buck (or two)? on: 2018-05-09 16:23:28
#1 You can make pocket change by making and selling your own games (or any other software).  You can't reliably make a living, not even close.   
#2 There are plenty of companies that need software and pay indie developers real money to develop it.  Downside is, running a business sucks if it's not what you're into, and the need for the next contract is always on the horizon.
#3 Join a startup, be in for a wild ride.  Expect to bail out one way or another after a few years - either
you burn out or the company burns down.  If paychecks stop coming, its time to bail.
#4 Sign on as a wage slave.  With luck you can find something reasonably interesting to you.

6  Java Game APIs & Engines / Tools Discussion / Re: replacement for Java Web Start on: 2018-05-02 03:41:11
When I installed java 10 and launched my jaws application for the first
time, a scary warning popped up, saying java web start is deprecated, and
I should contact the developer to modernize the application.

Jws is a pain to get working, and occasionally breaks for unknown reasons,
But it does make dynamically updating a java app possible.

For a simple enough application, a simple runnable jar is adequate.

My JWS replacement is such a simple app, whose purpose is to
invisibly maintain a complex app, with the dynamic update capability
That Jws provides.
7  Java Game APIs & Engines / Tools Discussion / replacement for Java Web Start on: 2018-05-01 20:58:30
As part of Oracle's ongoing effort to kill java, they're now deprecating java web start.

I've got a working prototype "simple replacement" for java web start, a single class
that downloads and creates a cache for a list of jars supplied from a web site. This
trivial class can be packaged as an executable jar, which can be downloaded and
run on any platform that supports java.

There are still some bits of finesse to be added to make it as user friendly as possible.
Using Launch4J to deliver the executable jar is pretty satisfactory for windows, but
running the raw jar file on mac and linux is less satisfactory.

Anyway, my aim is to create a sourceforge or git project for it, but if anyone wants to try
it out, and/or help refine the delivery, PM me.
8  Java Game APIs & Engines / Java 2D / Re: How to have BufferedImages take up less RAM on: 2018-03-15 19:00:16

There is such a wide range of screen resolutions in use, it's not practical to have appropriate-size
images for everything.   I use a process which starts with an oversize image, and dynamically resizes
down to an appropriate size using smooth scaling.  I could (but don't) also discard the original oversize
image.   Two things are important to make this work; the oversize images shouldn't have hard edges so
the scaled versions will look decent, and the UI code needs to use an container class instead of raw
images to hide all the machinery.

9  Games Center / Contests / Re: The OpenTafl Computer Tafl Open - An Abstract Strategy AI Tournament on: 2018-02-08 02:39:35
Tafl is an easy target.  Are you planning tafl again, or looking for a more
intrinsically difficult game to write an AI for?   

I've written a pile of AIs for, but the games I haven't
succeeded in writing a good enough AI for are Volo, Plateau, and Twixt.
...Also Go, but that's another story.
10  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.
11  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.
12  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.

13  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.
14  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.
15  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.
16  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.
17  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.

18  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); }
19  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.
20  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.
21  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.

22  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.
23  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.
24  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.
25  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.
26  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.
27  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.
28  Game Development / Artificial Intelligence / Re: Hnefatafl on: 2016-04-26 00:22:34
different from traditional =  modernized .  It scans for me.
29  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.
30  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!)
Pages: [1] 2 3 ... 6
EgonOlsen (59 views)
2018-06-10 19:43:48

EgonOlsen (42 views)
2018-06-10 19:43:44

EgonOlsen (61 views)
2018-06-10 19:43:20

DesertCoockie (240 views)
2018-05-13 18:23:11

nelsongames (142 views)
2018-04-24 18:15:36

nelsongames (141 views)
2018-04-24 18:14:32

ivj94 (883 views)
2018-03-24 14:47:39

ivj94 (144 views)
2018-03-24 14:46:31

ivj94 (795 views)
2018-03-24 14:43:53

Solater (159 views)
2018-03-17 05:04:08
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!