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 ... 22
1  Discussions / General Discussions / Re: Using ClassLoader to make your game moddable on: 2018-06-21 15:45:59
Another way how to offer complex modding without exposing your code, or loading in potentially unsafe code:

You could create a Server Socket, that takes request from an external client, and provides data about your game.

That could be realized with an available or proprietary protocol.

It a bit complicated to create the protocol and hook it up to the game logic, but the advantage is that you only need to expose the protocol to others, and have the game set up a Server Socket.
The modders can create a client in any language they want, and handle the internals themselves.
The agreement is just the protocol.

An example would be a client that can trigger events if the player is at certain positions.
The server provides the players position via a request (defined in the protocol), and the mod-client sends some event to the game (that changes some state in the game)

This approach is not locking in the modders into a specific language or environment. They can go as crazy complex with it as they want to.
(You could still provide a simple Java-Client example as starting point)
2  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-04-20 18:43:08
thats literality a screenshot  Grin

i can see every sneese  persecutioncomplex
3  Game Development / Newbie & Debugging Questions / Re: What to do after adding basic pathfinding? on: 2018-04-20 17:36:27
Hi, oh there are many aproaches to your problem, I cant make a concrete example here, but throw in some ideas:

look at the solution starcraft had (also a tilebased map, having to cope with lots of path-calculations on 1997 hardware)
(better check the link directly..., JGO displays it weirdly)
Click to Play

You see that they have separated the map into subregions wich are connected by a graph (the lines).
The units will first do a pathfind over this graph (the lines) to determine the regions to travel.
Once this is done, the units will use the local pathfinding (as you have it) to reach the next "centerpoint" of the next region the was calculated on the path.

So you basically do two pathfinds:
-1, along the graph connecting the regions
-2, locally for the region the actor is currently in, until entering a new region

so how to create those regions?:
-by code (using a floodfill algorythm that tries to MARK about the same amount of tiles for each region, the startingpoint are probably spawned accoring to a grid-pattern)
-by hand (tedious, but basically that means to make equally sized area-blobs, and assign each one another ID number; in your editor you could do that with another layer)

-then create that path-graph between those regions. Wich basically just means that any region touching another regions via at least one passable tile will have a connection between them (between its centerpoint, and the others centerpoint)

You can also use A* to search that graph, just google tutorials on A* that use non tile-based connection-graphs.

That would be the approach I try first if you want to use one huge continuous tile-map


Easier would be to have regions only connected by specific passages (North, South,East,West), and have those regions in the world aligned in a grid.
Then you can use your A* two times. Once between regions, and the second time within a regions.
(You have to be careful to assure that each passage can walk to the other 3 passages)


Tip: if you want to make a multiuser game: let the client calculate the path., then send that path to the server.
The server just checks if it does not violate any of your constrictions.

4  Game Development / Newbie & Debugging Questions / Re: What to do after adding basic pathfinding? on: 2018-04-20 15:34:17
2.5 ms sounds ok if you dont have too many actors, but you might be able to optimize the path-search more. (at 60 fps a frame is 16 ms long)

Best is to post a picture of your gameworld (passable/blocked area) to see what aproach works best here.
And also if your maps are randomly generated, or manually created (that can help in placing areas manually).

When you performance test an algorithm, don't forget to let it run a few dozent times, that lets the VM do its optimization. (JIT compilation)
Often algorithms suddenly run faster after a while
5  Game Development / Newbie & Debugging Questions / Re: What to do after adding basic pathfinding? on: 2018-04-20 09:02:22
There is no magic bullet pathfinding for larger spaces.
A* is about as good as it gets for the typical search space graph. Other algorithms might work better in specific cases. (when there are many dead ends for example)
In some cases, paths can also be precalculated beforehand, or reused paths from former searches.

Its more important define what you mean by large space, and how you define it.
You should try to get a hierarchy working, to first do a long range path search through the general areas (separate graph), and then a more detailed within the specific location (starting area, destination area).
An example is how you would travel personally long distances using a map. You would first plant your trip according to the large highway network or air transport. And then when in town (using a local map), look for the small streets, to get to the house. And THEN how to walk through the garden-door and avoid the neighbors dog.

Its a complicated topic, hence there are a lot of tutorials for it.

The following (and separate) step is how to traverse the calculated path.
That depends a lot of how your actor can move, and what happens when there are dynamic obstacles on the way (calculate a whole new path, or have the ability to pass smaller obstacles)

6  Game Development / Newbie & Debugging Questions / Re: Could someone explain to me the update method? on: 2018-04-18 15:11:18
A good overview is here:

this is a gameloop with a fixed logic-timestep
and a variable render timestep:

public void gameLoop() {
    float delta;
    float accumulator = 0f;
    float interval = 1f / targetUPS;
    float alpha;

    while (running) {
        delta = timer.getDelta(); //eg: = timeNow - timeLastCall
        accumulator += delta;


        while (accumulator >= interval) {
            accumulator -= interval;

        alpha = accumulator / interval; // between 0 and 1, used to smooth animations and movement


It has the advantage of frame rate independent constant-time logic updates, while allowing frames to draw as fast as the client can do it.
Constant-time logic ticks are way easier to program, and avoid edge cases when the framerate drops too low or runs too fast.
7  Games Center / WIP games, tools & toy projects / Re: The Great Tribes on: 2018-04-13 11:35:14
Working on the logic here first makes sense.
The systems of the game look really complex, I hope that everything works together in the grand scheme. (while being fun and clear to the player what is happening in the simulation)
And especially having an AI that makes efficient decisions, given the rule-set.

As a starting point in the systems design (I don't know how experienced you are here with that kind of complexity) I would suggest: scale the feature set down and get core systems such as building, exploring and combat working first.
There is always room later to add systems that make it more complex.
8  Games Center / WIP games, tools & toy projects / Re: The Great Tribes on: 2018-04-13 07:38:04
Hi, thanks for sharing your progress on the game.

I think it would really add to the scene by having the terrain under the trees a bit darker / shadow under the forest.
For example by using a simple addition to the vertex shader to lower the brightness of a vertex, depending on how many trees are nearby.
9  Game Development / Game Mechanics / Re: Thinking about data formats - would appreciate opinions. on: 2018-04-12 10:20:47
It really depends an the data regarding:
-who is editing / generating the data
-how often is the data read (loading in bulk to memory, or regularly querying it)
-is the data used to serialize state/objects and send it to another system over the network
-how important is it to be able to manually edit the data (favoring thus any text-based format)
-how much data it there (a small config file vs a JGO Database Dump)
-how many content providers have to agree on a format (making validation / schema necessary)
-how important is it to be able to manually read the data for debugging purposes (using a more verbose format early in development)

One example, that I use for processing numeric data, such as balancing data (Serverside):

I use Excel/OpenOffice and edit the data in a spreadsheet.
then I save it to an ods file (the native OpenOffice format)
This is basically just a zip file containing all the spreadsheed data, and (for my purpose unimportant) meta and format data
Then I just directly load the spreadsheet in Java, unpack it, get the "content.xml", use the default DocumentBuilder to parse it, and extract my data as needed

The advantage it, that I can directly edit the data in Excel or OpenOffice, and just hit save (confusingly being a floppy disk button)
Voila, the data can be loaded directly.

(The easy implementation here is to just parse a csv, but I have often forgot to save to the original spreadsheet afterwards, so its less fail-proof)

Editing XML or even JSON can get tiresome when using a lot of numeric fields. Here a spreadsheet is a way better presentation.
Plus, I can apply logic (formulas) and evaluation directly on the data, while editing it.


When creating level data (topography, eg, a matrix of a lot of regular data, in a few layers) I whould use a simple CSV, or compressed binary data, when it gets too big.
When creating level data, that contains a list of many objects, each having a deeper hierarchy of sub-objects and their attributes, I would use XML (JSON would be an option, but has some drawbacks here)
When creating state-data, that has to be send over the network, I would use something like JSON at first, but then move to create a custom serialization later to reduce the total size.

SQL Databases:
I would not use a SQL database unless:
-there is a LOT of data, that should not be kept in memory
-there is a need to QUERY the data, and not just read all data in a big chunk
-serialization would be too complicated to do it with a trivial data-dump to a binary file
10  Discussions / General Discussions / Re: VR motion sickness on: 2018-03-17 12:21:39
I think its an strategic error, to always push using actual 3D (different picture for each eye) for games using a VR headset, instead of first concentrating on the other advantage VR headsets have:
the much larger field of view compared to a classic monitor.

If I would make a game for such a headset, I would project the gameworld flat on a larger virtual screen, similar to I-Max,
while keeping the virtual screen stable relative to the realworld-projection-position. Then turning the rendered scene classically using the controller/mouse.
(eg: its simply simulating having a gigantic 120 degree curved monitor in you livingroom)

That would avoid motion sickness, while giving the player the ability to enjoy the game on a much larger screen.
(and not force the player to turn his head all the time)

Even with perfect technology (optics, speed, resolution, weight), that can make the player feel like standing on a holodeck, you will never get around one essential problem:
to appreciate the scene, and not get motionsick, the player needs to actively move his body. Either standing in his living-room, or in some fancy rig that can simulate acceleration.
And thats the problem: Not everyone wants to have to move actively when playing a game for hours.
I think that the market for games that you can play sitting lazily on the sofa, will always have a larger market than games where you have to move.

11  Discussions / Business and Project Management Discussions / Re: Looking for ambitious java developers on: 2018-03-12 19:31:43
I find those kind of posts always quite entertaining.

On the other hand, I knew a guy on another game-dev forum, who also started out with immature requests and bugging people.
But he ended up sticking to developing, an got to be a quite a decent developer after a few years.
12  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-02-16 11:23:57
Testing out a workflow on how to model asteroids and smaller moons, (and getting that into an acceptable size for a game model)
Here a first iteration.
(The crater edges are still way too fuzzy...)
13  Discussions / Miscellaneous Topics / Re: Is My Portfolio Frighteningly Underwhelming? on: 2018-02-16 06:55:54
For starters:
If you offer a "RESUME.docx" inside a "" (wich is a terrible style by itself)
make shure that this docx is actually a docx and not corrupt...

And really:
-rent or get a free website
-create a portfolio with personal details about yourself and pictures and descriptions of your projects; there can be links to the code (in a github repository), if the viewer has a deeper interest
-state what programming topic you solved in those demos, and maybe snipplets how you did that
-use PDF!!!! for any formal documents
-Never ever expect someone to spend time to download a zip, unpack it and then have Java configured to run a jar file to see your demos (this Java-Dev forum here is one of the few places where this might not cause total confusion)

Companies recruiting developers what to have a quick overlook of your skills and experience. That can be formal education, former employment at companies in the industry, or demonstrations/games of your skills. This information should be easy to see and pick up.
14  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-02-11 00:12:31
I happen to watch this video of the blender guru a while ago, should install that addon now...
15  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-02-06 22:31:25
More mockups..

16  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-01-27 23:08:11
Adding some Mockup Effects.

17  Game Development / Newbie & Debugging Questions / Re: Best way to create/load and render fonts? on: 2018-01-16 19:30:50
Here is a nice Tool to create Font Bitmaps

Codehead’s Bitmap Font Generator
18  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-01-13 22:39:26
Testing out some materials on placeholder models

19  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-12-31 19:13:18
Did some concept work work for a space game.
Mainly to get a feel for the overall presentation style:

20  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-06-20 18:16:05
JavaME (for the old brick phones) is certainly an interesting environment to train programming for small application and have an eye on performance.

That was OpenGL ES 1.1 if I remember? Certainly interesting to get stuff running on it.

From a practical view: its more reasonable to learn Android development right away.
21  Games Center / WIP games, tools & toy projects / Re: BlockBreaker on: 2017-06-08 04:55:31
Wow, 40MB Download.

Here some critics:
-> The Ball does not bounce in a different direction depending on where it hit the paddle -> the player is just reacting, cant control much, its mostly about catching things that fall down.
-> You should add a stronger light emitter to the balls, they are too small and hard to spot when everything is blinking and moving.
-> elements are too small in general for the screen. try boosting their relative size
-> The paddle movement does not respond immediately, try making it controlled directly by the mouse-pointer-position, without acceleration.
22  Java Game APIs & Engines / Java 2D / Re: Triangle fill algorithm on: 2017-06-06 12:29:59
23  Games Center / Showcase / Re: Meganoid (2017) a challenging roguelike platformer (steam+mobile) on: 2017-06-06 08:18:58
Thanks for your post-mortem, interesting read.
24  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-06-06 04:46:31
@Damocles - Really nice looking! Can I assume you will add more variation, in the future, to the debris source particles rather than reusing graphics as much as you do in this iteration?

Yes, there are only 4 particle types (sprites) in the animation. I will later make them distribute in a better, more fractal pattern and have more variances in the particle types.
It as here mainly a test to see the rendering in Canvas2D.
25  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-06-05 21:10:38

Some 3D Matrix calculations with Sprites:
Javascript rotating dustcloud, (Canvas2D)

26  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-06-04 10:45:16
The first iteration was called "Pooplin", but the marketing department vetoed against it.
Now they are at an impasse..
27  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-05-29 16:04:30
Worked on an EvE Online like procedural StarCluster Generator.

(JS Version, click to see star-names, drag to tilt starmap)
starmap JS
28  Discussions / Miscellaneous Topics / RIP Leonard Nimoy on: 2015-02-28 00:03:05
A great actor just passed away, at the age of 83.

RIP Leonard Nimoy
29  Game Development / Newbie & Debugging Questions / Re: Pathfinding? on: 2014-10-14 13:20:16

The tile map is made in TileD and I'm using slick.
Thats totally unrelated to your problem of implementing your own pathfinding.
30  Discussions / General Discussions / Re: How do you come up with ideas for games? on: 2014-10-01 14:35:37
important to keep it a game concept, not just a wild phantasy:

#1 avoid feature creep

its easy to have a good base idea, and then add and add and add more cool new ideas and
features to it  -  up to a point where the game seems to be a humongous undertaking that just cant be realized.
Also, a lot of ideas might change during development, so dont nail down everything in the beginning.
Just keep the basic gamemechanic intact. Other things will change

#2 dont plan games with unrealisic workload

If you are not a (paid) artist, dont plan your game on a high poly 3D world with thousands of assets.
Look for an art style that can be realized coherently with less work.

If you dont get fundet (hobby developer) dont plan the scope as if you where a full time employee.
at one point the game moves from the fun prototype stage to the actual full implementation stage.
If the workload is too much, your motivation will fade and the project likely gets stored away and abandoned.
(maybe serving as a nice mine for code snipplets)

#3 look back on older concepts

I usually scribble 1 - 2 page text documents with lots of ideas to a project, then just save it in a concept folder.
If you look at the concept again after 5 months and it still looks cool, its probably cool.
(and not just a random dreamup of ideas after playing the big commercial game XXX)
Pages: [1] 2 3 ... 22
EgonOlsen (78 views)
2018-06-10 19:43:48

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

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

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

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

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

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

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

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

Solater (177 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!