Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (576)
games submitted by our members
Games in WIP (497)
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
1  Discussions / General Discussions / Re: The Big Linux Distro Thread on: 2014-04-03 17:03:14
1. Resizing window borders appear to be 1 pixel thick. The mouse flickers in a terribly ungainly fashion when attempting to hover over a border or

I think most (all?) window managers support resizing by Alt-RMB anywhere in the window.

For the most part though, it mostly comes down to a matter of familiarity. I feel like I can't do much whenever I'm confronted with a different OS: I switched over to linux back in 2000-2001 - OSX is ok (got acquainted with it last summer),b ut windows is just unbearably obtuse from my pov.
2  Discussions / General Discussions / Re: The Big Linux Distro Thread on: 2014-04-02 15:15:04
Granted I'm not using file managers often - except midnight commander, but I find dolphin to be rather clean: https://dl.dropboxusercontent.com/u/1615755/dolphin.png - certainly a long way from Directory Opus (heh, old times...). Dolphin can speak sftp too - good enough for simple operations.

Dropbox for linux is ok, but I believe the OS integration is better under win and osx.

If you go the KDE way, amarok is really nice. Quite different from how I remember winamp though. I also believe Ark (KDE's zip/unzipper) handles most formats, although gzip and bzip are more common in linux land.

Edit: KDE is butt-ugly in its default configuration, but can be made to look really nice. Also much less mouse-centric than the other window managers etc.
3  Game Development / Networking & Multiplayer / Re: Entity System - Networking on: 2014-03-31 17:01:47
Vanilla artemis hasn't been updated for quite some time and has a number of bugs. You're better off using a fork, like mine or this one.
4  Discussions / General Discussions / Re: JDK 8 is released on: 2014-03-26 15:26:42
- Reified types is on the list for Java 9.

Are you sure about this? If so, it seems that all I'm missing expect operator overloading is scheduled for java 9. Happy times (in 3-4 years)!
5  Discussions / General Discussions / Re: Programmer jokes on: 2014-03-17 21:37:16
There's a review on the children's book The Story about Ping (http://en.wikipedia.org/wiki/The_Story_about_Ping) which is just fantastic.

http://www.amazon.com/review/R2VDKZ4X1F992Q
6  Discussions / General Discussions / Re: Ever forget how your own code works? on: 2014-03-12 18:45:14
It used to be a problem for me, but after a few years of coding it became increasingly more rare. Some time ago, I revisited my first game prototype - hadn't touched the code in ~1.5 years, I was surprised that diving into it again was so painless.

I generally never comment my code, I prefer short methods and tiny, purposeful classes instead. I sometimes tell myself to make class- or package-level comments for complicated stuff, but rarely commit to it. The risk with commenting code is that comments can fall out of sync with the code (during refactoring and whatnot), becoming nothing more than a misleading distraction.

A good rule-of-thumb for writing comments is comment the WHY not the WHAT.
7  Game Development / Newbie & Debugging Questions / Re: What to use for config files? on: 2014-03-11 15:26:13
Json is what I normally prefer - easy to read, easy to debug, easy to use. Nate's JsonBeans lib is very nice.
8  Game Development / Shared Code / Re: Green Threads on: 2014-03-07 14:04:35
I had to do some emergency maintenance on that server, and due to the underwhelming user base of 1 or 2 souls, I haven't bothered to bring my http server back up with my hobby projects. It's a bit like my MappedObject library... everybody whining that Java doesn't have structs, and upon release I got a buch of responses like this was a solution looking for a problem. Only theagentd gave it a serious whirl, for which I'm grateful, but it put the hours upon hours of work into perspective. I guess JGO is the wrong audience for this kind of tech, but at the same time I am not part of any other online community, so picking the right one might take even more time that I'm not willing to invest. Anyway, Nate, you've got a copy of the code, live the dream!

FWIW, I never had a chance to try out the code, only found the thread after it had been removed, but I found it very inspirational from a programming POV.
9  Game Development / Newbie & Debugging Questions / Re: New to java, where do i start? on: 2014-03-04 16:19:51
+1 for Bruce Eckel's Thinking in Java - it does a very good job at explaining OO-thinking and java. At least back in 2000, it was the best introductory book on java.

link: http://www.mindviewinc.com/Books/TIJ4/
10  Game Development / Newbie & Debugging Questions / Re: Libgdx and ImmediateModeRenderer20 on: 2014-02-28 11:39:51
You must enable blending before drawing:
1  
2  
      Gdx.gl.glEnable(GL20.GL_BLEND);
      Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
11  Game Development / Newbie & Debugging Questions / Re: Libraries and how you guys use them on: 2014-02-27 17:14:13
I personally use maven for all my java projects; it integrates reasonably well with Eclipse, but - I believe - is stronger with IDEA and netbeans. Maven isn't everyone's cup of tea, but I'm enamored with its ways - besides packaging the project for you, it also manages dependencies and it's easy to hook in other project-related hooks (post-compilation processing, assembling resources/assets, running tests etc).
12  Discussions / Miscellaneous Topics / Re: C++ standard library is really lacking - good or bad? on: 2014-02-27 16:54:52
Also, from a professional standpoint, the typical jobs associated with java and c++ are quite different (not even sure I've ever seen a non-enterprisey java job offer, small indie games being an exception). As a dilettante of c++ myself, I think it promotes a more low-level view of the world, whereas java in it's most immediate form emphasizes a higher level way of thinking.
13  Discussions / General Discussions / Re: 4.8 MT System bus.. Big deal? versus 5.2 on: 2014-02-26 18:10:49
4GB is enough to run 99% of everything...

Depends on your use case; 4GB is enough to run most (all?) games, but quickly depletes if rendering large scenes or running a heavy dev environment. My KDE setup at work currently reports 7.4GB ram usage. I personally wouldn't get anything less than 16GB if I bought or upgraded a computer today.

14  Game Development / Newbie & Debugging Questions / Re: Artemis Map vs List on: 2014-02-26 10:05:48
When you say Artemis Map, do you mean the Bag class in Artemis ESF? If so, Bag is a list-type collection - entities are retrieved via indices, not keys, and can be iterated the same way a list is.

Quote
Could you explain more? I doubt anyone would understand your question..

Yes, some more details would be nice Smiley
15  Java Game APIs & Engines / Engines, Libraries and Tools / Re: FFI JEP on: 2014-02-25 11:22:50
Thanks for the link!

Quote
along with arrays2.0/packed objects.
One can dream.

I'm cautiously optimistic; I know IBM have experimented with it, and there's also an oracle presentation floating around somewhere on the internet about it. If it will actually make it into Java 9 though... well, the dreaming is strong in me.
16  Java Game APIs & Engines / Engines, Libraries and Tools / Re: FFI JEP on: 2014-02-25 10:10:12
I thought making Unsafe public was more of a rumor or wishful thinking, would love to have it confirmed for java 9 though - along with arrays2.0/packed objects.
17  Discussions / General Discussions / Re: So you thought Java strings were immutable? on: 2014-02-17 22:00:39
I guess one could configure a security manager - or use an agent - that disables reflexive code. But that sounds like much less fun.
18  Games Center / WIP games, tools & toy projects / Re: Synthclipse - GLSL demo development environment based on Eclipse IDE. on: 2014-02-17 21:46:00
I'm already using git on sourceforge. Contribution to Synthclipse shouldn't be more diffcult than in github.

Yeah, maybe it's just my personal aversion to SF; not a biggie regardless.

Hadn't heard Beat Bizarre before; pretty sweat stuff!
19  Discussions / General Discussions / Re: So you thought Java strings were immutable? on: 2014-02-17 21:22:29
This reminds me of http://thedailywtf.com/Articles/Disgruntled-Bomb-Java-Edition.aspx - not that anyone would do such a thing... *eh-heh*
20  Discussions / General Discussions / Re: So you thought Java strings were immutable? on: 2014-02-17 20:43:20
Yes, with reflection and similar tricks no class is immutable, keep in mind though that the hashcode is cached upon first calculating it. Iirc, String's hashcode caching is removed in the more recent jdk7:s (that, or I dreamt it).
21  Games Center / WIP games, tools & toy projects / Re: Synthclipse - GLSL demo development environment based on Eclipse IDE. on: 2014-02-17 14:35:50
This is great! I was actually looking for some rudimentary glsl support a couple of days ago. Taking it for a spin later.

Didn't find a changelog however (noticed 0.1.1 is released) - would be nice to have it on the page somewhere; unless I just missed it.

Edit: Any chance the codebase will migrate to github? It would make contributing easier imo.
22  Discussions / General Discussions / Re: Data bases and game programming on: 2014-02-13 13:19:25
+1 for kryo; it's fast and very easy to work with. Alternatively, plain json - mostly for describing game entities and such.
23  Discussions / General Discussions / Re: Simple JAR/Library repository on: 2014-01-30 11:11:37
Hmm, Some strange posts here. Maven doesn't need to become part of your project. It's more of a tool to assist you with creating your project (like using an IDE for example).


Well, to fully utilize maven's dependency management and whatever else you need, it's best to integrate it with your IDE. IDE-maven integration is pretty good with all major IDE:s at least, at least when keeping in line with maven's conventions/view of the world.

We also use maven extensively at work (and I use it for all my personal projects too); it's definitely a polar love/hate relationship. If you love it, embrace it - else find something more likeable.
24  Discussions / General Discussions / Re: JGO coinage tally on: 2014-01-29 13:34:14
What about (also) using flattr as a means for bringing in some extra cash?
25  Java Game APIs & Engines / Engines, Libraries and Tools / Re: Libgdx overcoming color limitations? on: 2014-01-16 12:36:08
What's wrong with
1  
color.set(1f, .1f, .1f, 1f)


or, if you just want to make certain colors brighter:

1  
color.mul(2f, 1f, 1f, 1f)
26  Java Game APIs & Engines / Engines, Libraries and Tools / Re: Libgdx + Eclipse. on: 2014-01-15 14:27:26
Eclipse maintains its own file cache, which can become inconsistent in projects spanning multiple eclipse projects. You could come around eclipse's caching by loading resources with a different FileHandle type (Local, I think, or external - don't remember which).

Ref: https://github.com/libgdx/libgdx/wiki/File-handling
27  Game Development / Game Mechanics / Re: Simulations vs Emergent Behavior on: 2014-01-07 12:55:45
If you're after emergent behaviors, you might want to check out utility-based AI:s - IA on AI has some pretty good introductory posts on it, such as Getting More Behavior out of Numbers.
28  Discussions / General Discussions / Re: Progressing from General Knowledge to Game Programming on: 2013-12-05 13:51:41
I found Tamas Jano's tutorial series on libgdx very helpful when I first started out. Granted it's not LWJGL, but what really makes the tutorial shine is the emphasis on code design/architecture.

http://obviam.net/index.php/getting-started-in-android-game-development-with-libgdx-create-a-working-prototype-in-a-day-tutorial-part-1/
29  Discussions / General Discussions / Re: Java "Mods" on: 2013-12-04 14:30:36
I was in class today and I started thinking, what if someone figured out a way to make Java "mods", eg, they could add little pieces of their own syntax directly into the language, not as a library. There could be a plugin for Eclipse that would be able to grab the mod from a supplied URL and install it into your Java installation. Or maybe even a Linux application and Windows one. And a Mac app at that.

<snipped>

Is there such a thing?

Others have already addressed unsigned ints, but for more general transformations, see Project Lombok. It rewrites the AST during compilation. Consequently this only works with supported compilers - eclipse and javac/netbeans in this case - and extending it is somewhat beyond comprehensible imo. Check out lombok-pg if you're interested in exploring that route.

Alternatively, one can use bytecode transformation libraries like ASM or javassist. At least ASM can be used as both as a compile-time step or runtime - via a custom classloader. It is however, to the best of my limited knowledge, not possibly to hack in new syntax this way.



30  Game Development / Shared Code / [entity system framework] artemis-odb 0.5.0 and agrotera 0.3.0 on: 2013-11-28 11:20:09
Introduction
If you haven't heard of artemis or entity systems before, the blurb:

Quote
Artemis is a high performance Entity System framework for games, written in Java, and is a framework to manage entities in a game world. It is inspired by Entity Systems are the future of MMORPG blog series by Adam Martin. We also borrowed ideas from Ted Brown who implemented a simple high-performance Entity System in Processing based on Adam Martin's blog.

The framework is based on the concept that entities in a game world exist as pure identifiers, their components contain only data, and systems process entities based on their aspects. This promotes separation of concern and simplifies game design tremendously.

artemis-odb aims to preserve the simplicity of the original artemis framework while at the same time extending it with new features. The recently released 0.5.0 introduces "packed" components and pooling of entities and optionally components.

agrotera is a small annotation-driven compile-time plugin for reducing boilerplate associated with configuring EntitySystems, Managers and - new in 0.3.0 - general classes. Since agrotera solely relies on compile-time weaving, there is no performance or memory cost associated with its features.


artemis-odb compared to original artemis:
- All known bugs present in original artemis have been resolved.
- Less object allocation.
- New component types:
  - PooledComponent: automatically recycled.
  - PackedComponent: single instance component backed by a static array
- Optional compile-time bytecode weaving: @PooledWeaver and @PackedWeaver annotations rewrites normal com.artemis.Component classes into the requested type.
  - Since weaving takes place during compile-time, this works on android too.

The PackedComponent implementation, while harboring noble ideals, is somewhat naive at the moment:
 - Requires setters/getters for all values (I personally much prefer direct field access for components).
 - Assumes that the component will be present in all entities (internally, the entity id is used as index in the component's backing array). Still applicable for Position and similarly ommipresent properties.
 - @PackedWeaver requires that all fields share the same primitive type.

Future releases will offer more flexibility in regard to automatically weaving packed components (see here).

The benefit of using the @*Weaver annotations is that the components still look like "normal" POJO components and hence are less prone to mundane errors. Additionally, it may make debugging slightly easier since reverting a woven component back to a normal is a simple as removing the annotation.

agrotera

agrotera removes nearly all boilerplate from systems (well, it could be argued that it's simply been moved to annotations instead, but the net result is less code):

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
// inject profiling, invoked at start of begin() and before any exit points in end()
@Profile(using=Profiler.class, enabled=Profiler.PERF_PROFILE)
// Injects ComponentMapper fields for all referenced component types
// and any referenced systems and managers.
// Eclipse's editor/compiler is aware of any injected fields.
@ArtemisSystem(
    requires={Position.class, Thrust.class, PrecomputedThrust.class, GravityAffected.class, RepulseAffected.class},
    systems=GravityFieldComputer.class)
public final class PrecomputedThrustSystem extends EntityProcessingSystem
{
    public PrecomputedThrustSystem()
    {
        // null is replaced with the appropriate Aspect, deduced from @ArtemisSystem
       super(null);
    }
   
    @Override
    protected void process(Entity e)
    {
        Position position = positionMapper.get(e);
        Thrust thrust = thrustMapper.get(e);
       
        gravityFieldComputer.cachedGravity(thrust, position.x(), position.y());
    }
}


From the annotated classes, agrotera can generate a system overview from artemis' point-of-view:


Bytecode weaving - for both artemis and agrotera - is quite fast. On my laptop (i7 @ 3ghz):
1  
2  
3  
4  
[INFO] --- artemis-odb-maven-plugin:0.5.0:artemis (default) @ hallucinolog-core ---
[INFO] Processed 10 PackedComponents and 11 PooledComponents in 67ms.
[INFO] --- agrotera-maven-plugin:0.3.0:agrotera (default) @ hallucinolog-core ---
[INFO] Processed 25 EntitySystems, 5 Managers and 1 Injected types in 75ms.


Caveats
- There's a pretty heavy reliance on maven (for bytecode weaving), although most things can still work outside a maven context, as an eclipse builder or as part of an ant script.

- (only agrotera) lombok-pg and lombok aren't compatible, and lombok-pg hasn't been updated for some time. I've seen some forks that have been busy keeping lombok-pg up to date with lombok - should look into those in the future. lombok-pg is responsible for injecting fields early enough for Eclipse to see them.

- (also mostly agrotera) Eclipse is the only IDE officially "supported", with projects preferably setup as maven modules. Furthermore, lombok-pg (a fork of the my all-time favorite Project Lombok) is required to make agrotera fly. I'm not sure to what degree other IDE:s are used, but let me know if you think I should add support for others.
Pages: [1] 2
 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (12 views)
2014-04-15 18:08:23

BurntPizza (11 views)
2014-04-15 03:46:01

UprightPath (24 views)
2014-04-14 17:39:50

UprightPath (10 views)
2014-04-14 17:35:47

Porlus (27 views)
2014-04-14 15:48:38

tom_mai78101 (49 views)
2014-04-10 04:04:31

BurntPizza (108 views)
2014-04-08 23:06:04

tom_mai78101 (208 views)
2014-04-05 13:34:39

trollwarrior1 (176 views)
2014-04-04 12:06:45

CJLetsGame (182 views)
2014-04-01 02:16:10
List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:05:20
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!