Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (778)
Games in Android Showcase (231)
games submitted by our members
Games in WIP (856)
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 ... 11
1  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-10-23 19:22:25

I learned a lot more about 3D rendering, and finally managed to add a third dimension to the map. I have low-poly lighting and adapted marching squares into 3D to give the map regions a better shape. The height map I'm using isn't the best and I'm far from done with the map rendering, so the mountains don't look like mountains yet. But they will!
2  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-10-10 18:55:44
Today I finished the 3D camera, now on to adding height to the map terrain.

3  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-08-11 11:29:25
I rewrote the rendering in my strategy game to use meshes, which made it trivial to add rivers.

4  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-07-01 22:07:42
Today I optimized an algorithm that slowed the game to a crawl so that it can run once per frame without significant performance loss, among other things. Very refreshing compared to the bug-fixing, refactoring and re-design that takes up a lot of my time.
5  Discussions / Miscellaneous Topics / Re: Microsoft confirms it’s acquiring GitHub for $7.5 billion on: 2018-06-09 16:29:03
GitHub stopped innovating years ago, and has been coasting on its wide adoption while playing politics and relying on investors losing money to stay online. It's great that open source centralized on GitHub, as it makes it so much easier to find new great projects to learn from, and the new CEO for GitHub seems intent on keeping the good parts.
6  Discussions / General Discussions / Re: Account blocked because Activation Mail was never received. on: 2018-05-26 19:10:17
I don't know if @funnyjokes is a spam account or not, but the dot-posting here brought some answers to a previously unanswered issue, which is pretty cool.
7  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-05-17 14:23:58
Been working on an assignment for my Java college course, build an issue tracking system using JSF for web UI, Swing for desktop UI, and JPA for persistence. Copious amounts of magic complicating everything - my build is broken because I didn't add the right jar to the classpath, or because I added the wrong annotation, or because something is wrong with the XML file. The fix is right there in the manual, and usually doesn't work. Sometimes changing library version fixes the bug, allowing me to go on to fixing the next broken mess.

Usually nothing goes wrong until at runtime. It reminds me very much of what it is like developing in JS with NPM and co. What's wrong with objects, functions, and compile-time errors?
8  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-03-12 21:39:44
Got distracted building my ui interface, in my quest to get a rounded rectangle I ended up building a new vector graphics engine which has a nice triangulation routine to triangulate any shape (convex, concave, single hole, many holes). Also allowed me to do some nice gradient shading / texturing on any shape.

I'd be very interested if you'd like to share that code! Smiley
9  Game Development / Game Mechanics / Re: [LibGDX] Rendering dead entities ? on: 2018-02-20 17:01:47
The glClear function has nothing to do with entities, it just clears the screen. Clearing and re-drawing every frame is not particularly expensive, and it simplifies rendering code considerably. There are more worthwhile ways of improving performance, such as:

  • Don't render entities that are not visible on the screen.
  • Group entities by their texture, so that entities with the same texture are rendered after each other. Texture switching makes the sprite batch considerably slower.
  • Use a sprite sheet and texture regions to prevent texture switching even when rendering different sprites.

10  Java Game APIs & Engines / Java 2D / Re: [2D] Real-Time Editor & Java Game Engine on: 2018-02-18 19:34:37
If you want to make something impressive, take a look at Elm and the time traveling debugger. That's one thing that might warrant the existence of a real-time editor.
11  Discussions / Miscellaneous Topics / Re: Is My Portfolio Frighteningly Underwhelming? on: 2018-02-16 00:44:43
These guys don't seem to know what they want. The requirements are C++ and "be good at handling things", also have written something sometime with some technology, or have experience in management.

Definitely create a GitHub. When you're programming, whenever you write something that you would find useful in another project (for example, I wrote a sprite batch for a WebGL game, then made it into a library), create a GitHub repository to store it. That way, there's always tangible proof that you know what you're doing (for example, I know how to write a sprite batcher, if a recruiter was looking for that). Also I love finding underrated libraries on GitHub.

I'd think that a recruiter/potential employer would rather see some screenshots and a description of some challenges in the project, and how you overcame them, than to run it themselves.
12  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-02-07 23:15:56
Never thought I'd use LibGDX for research when I learned it years ago!
Living the dream!
13  Games Center / WIP games, tools & toy projects / Re: The Collapse: Space Supremacy on: 2018-01-21 10:46:20
Four weeks is definitely not normal for Google Play. AFAIK there's hardly any review process at all, you just create a new app and fill in all the boxes it tells you to. But I haven't published an app lately, so it might be a recent problem, or it might be related to the particular settings for your app.

AdMob is a Google API and Google APIs are nearly always bad. Over-engineered, confusing, and inefficient; that's the baseline each Google library starts from, then it adds its own gunk on top. In terms of "Why?!"s per minute, Google APIs are at the very top. The simplest use case shown in the tutorial is trivial; the most common use case requires a third-party library (unsupported by Google but used in their tutorials) and the use of a deprecated flag that does what you want. So why is this super-useful flag deprecated? Some lightbulb found a 5x more verbose solution requiring another API and a listener class.

Compared to the no-nonsense, straight-to-the-point API of LibGDX, using AdMob, Google Play, and Google Maps, has been nothing but frustration.

Sorry for the rant.

What was it like publishing on the Amazon Store?
14  Game Development / Newbie & Debugging Questions / Re: Stream.filter(...).count() didn't work on: 2018-01-21 10:28:49
Check if the neighbors list of empty, if it isn't, it's that no neighbors satisfy the condition in the filter (hasMine).
15  Java Game APIs & Engines / Java 2D / Re: First time pixel artist on: 2018-01-18 22:55:31
I'll change the plants shadows. As for the house, the shadow on the left doesn't look normal because the wall isn't facing the camera (it's on an angle as you can see) so I wasn't sure where to place the shadow.

I'd like everything at a 90 degree angle. Going to have another shot at drawing them!

I'm not a pixel artist (or any kind of artist), but it seems that since it's angled inwards it should let *more* light through than the other wall. Though if you draw the shadows at 90 degrees with the sun at the left that side won't cast a shadow anyway.
16  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-01-10 02:39:40
Yesterday I implemented a sprite batch in WebGL and today I published it as my first NPM library. There's now a spritebatch package on NPM containing a simple LibGDX-style sprite batch Grin
17  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-01-07 13:42:41

Getting used to JavaScript. Deployment is as simple as pushing to GitHub. Dynamic typing is nice except when debugging. Testing with Jest is easy and fast. NPM and Webpack makes CSS and JS bearable. All in all, it's a very good fit for casual games.
18  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-01-02 14:55:48

Been working on random terrain generation in HTML5 using JS. Writing UI in HTML is nice, Canvas performance is bad but that's to be expected, save games are limited to ~5MB, and using JS object literals instead of JSON is wonderful.
19  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-12-20 21:19:51
Thanks guys, honestly using the canvas API never entered my mind. That's what you get for researching tools at 12 AM  Roll Eyes
20  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-12-19 23:44:51
Been looking at JavaScript game libraries. Every one I've encountered thus far is the same: register the assets you want to use. Register the sprites you want to render. Everything is held together with string identifiers. persecutioncomplex

I just want to load and display images without having to wrestle with a scene graph. Is that to much to ask?
21  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-24 21:22:37
Functional programming really shines when iterating over collections. Compare

val list = readLines("myfile.csv").drop(1).map(MyObj::fromCSV);

to read a CSV file into a list of objects, instead of

List<String> lines = readLines("myfile.csv");
List<MyObj> list = new ArrayList<>();
for(int i = 1; i < lines.size(); i++) {

The imperative version requires a lot of low-level constructs to achieve the same thing, while the functional alternative just re-combines the same few, well-known operations over and over (drop, filter, map, reduce, etc), with lambdas for custom behavior.
22  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-23 22:09:19
I prefer dumb code. Smart code requires brainpower to read and write. Dumb code is understandable at 12 AM, and that's what matters Wink
23  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-16 11:20:00
It's a shame Ceylon is so underused, I really like union and intersection types. Ceylon's approach to null safety is years ahead of Kotlin's, but I suppose Kotlin has a gentler learning curve.

For what it's worth, here's an example of using LWJGL in Ceylon:
24  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-11-16 10:57:05
This morning I wrote a garbage collector. GC has always seemed to be some kind of impossible mystery that only extremely talents folks like JVM engineers could understand. Turns out a basic tracing garbage collector isn't very complicated.

Take a look:
25  Discussions / General Discussions / Re: Game Design in Kotlin for Java Programmers on: 2017-11-16 10:54:55
Looking good! Nitpicks: @JVMStatic is @JvmStatic because JetBrains uses that kind of case convention. Also at THREAD it's all uppercase which is Java praxis for constants but isn't really used in Kotlin aside from const vals.

All in all, good job, looking forward to reading further parts
26  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-12 19:54:48
Switching on type is an old Java tradition, it's called the visitor pattern.
27  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-12 12:52:44
I personally found that Kotlin lets me write projects faster, and with better style (pure functions, immutable state). For small, throwaway games and utilities its definitely faster to write them in Kotlin. Type inference is nice but it makes the code less readable. You could write types in Kotlin but then you're writing var or val unnecessarily anyway, so it's a net loss from Java. Ideally you could have IDE support for writing var and it autoconverts to the return type of the expression you assign a variable to.

Kotlin makes it easier to write final variables, I like that, and the if/try/when as expressions as well. I do agree that Kotlin doesn't seem as cohesive and well thought out as Java. I think the Scala style guide got it right in requiring explicit types for everything that isn't assigned to a constructor or a string/int/float literal.

Kotlin eliminates a lot of boilerplate code and I will probably keep using it because of that. Games are write and throw away code most of the time so the loss in readability isn't that bad while the increased development velocity is a big plus.
28  Game Development / Newbie & Debugging Questions / Re: JavaFX updating a Label on: 2017-08-26 19:17:28
Create a new Thread with a Runnable that contains your infinite loop, and in the loop put a Thread.sleep(500) to sleep 500 milliseconds between each execution.
29  Games Center / Showcase / Re: Spark Rush on: 2017-08-12 22:14:25
@sarcastibots Those are some great suggestions, I'll add them to my to-do list. Those 3-4 unavoidable hits doesn't sound very fun, I'll figure out a way to prevent it, at least in the early game anyway.

@herhor 283 points for your first time is a great score. I generally get around 300-350 when I play it, despite playing it a lot to test it. I guess I just have bad reflexes. Roll Eyes

The blocks are randomly generated, and there's no checking to ensure that there is a way to get through without taking damage. Which in my opinion isn't necessary since the game allows you to take multiple hits without dying, as well as gaining more life. But if unavoidable hits aren't a fun gameplay feature I can always change it.

Thank you for playing Smiley
30  Games Center / Showcase / Spark Rush on: 2017-08-05 19:39:36

Spark Rush

A small, but fun game about guiding a little yellow ball to avoid the red blocks and collect the yellow ones, in keeping with my goal of just making and releasing something. When you hit the red blocks, you lose energy, causing you to go slower, lose too much and you die. When you hit the yellow blocks, you gain energy (and live longer), but the game goes faster, which makes it harder to avoid the red blocks. The game also goes faster the further you get.

Your score is based off how far you get and how many yellow blocks you collect. Press where you want to go on Android and use A and D to control the spark on desktop.

The game was made using LibGDX and Box2DLights, with the code written in Kotlin.


The game is available on desktop and on Android, both for free.

Android download
Desktop download

Let me know what you think.
Pages: [1] 2 3 ... 11
hadezbladez (360 views)
2018-11-16 13:46:03

hadezbladez (193 views)
2018-11-16 13:41:33

hadezbladez (363 views)
2018-11-16 13:35:35

hadezbladez (90 views)
2018-11-16 13:32:03

EgonOlsen (2193 views)
2018-06-10 19:43:48

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

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

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

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

nelsongames (2312 views)
2018-04-24 18:14:32
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46 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!