Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (498)
Games in Android Showcase (116)
games submitted by our members
Games in WIP (563)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 2 3 [4] 5 6 ... 8
  ignore  |  Print  
  Still hardly any games, why entity systems suck, and why 4k is good  (Read 21256 times)
0 Members and 1 Guest are viewing this topic.
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #90 - Posted 2011-11-17 13:45:38 »

Why months and not weeks - or even days? Why is it the Flash guys can do this, and we can't?

I'd say this is mainly because their toolset is a lot stronger. You can pretty much create whole applications without even writing any code, do it all through gui, click a button and you have it all built and ready to go. The flash tools also work painlessly with most art packages like photoshop. Even if you have no prior experience with the tools you can create something interesting by just playing with it for a few minutes and share it with the world. Lastly deployment and end user experience is excellent and painless.

Java has no comparable clientside toolset, especially not one supported by a dedicated company like Adobe or Unity3d. Sure there is Eclipse which is really cool but its target audience is different. Deployment is massively painful on Java (even with a proper IDE) and the problems with Applet and JWS are commonly known. Its also a pain to get executable or even batch scripts to work for downloadable apps.

The only tool I've seen recently that even moves remotely in this direction is probably the jMonkeyEngine 3.0 SDK thing (Based on Netbeans) where they have stuff like one click deployment and some GUI editing bits but even then it looks like it'll take years (if ever) before its even close to the level of polish and usability of the Flash and Unity3D tools.
Offline Chromanoid

Junior Member


Medals: 3



« Reply #91 - Posted 2011-11-17 13:50:18 »

@kappa: The tooling is superior, but I think the frameworks might be too. (I am really not sure if this is really the case, but I guess the 2d ones are). Flash developers use stuff like flixel, flashpunk and now Starling, I think these are very nifty specialized libs.
I think a 2D scene graph like structure without the need to draw by yourself would help very much. This is something I miss when casually looking at slick or libgdx. (edit: as Nate pointed out I looked too casually Smiley)
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #92 - Posted 2011-11-17 14:55:36 »

I'd say this is mainly because their toolset is a lot stronger.

That used to be the case. Today, it is irrelevant.

Quote
You can pretty much create whole applications without even writing any code, do it all through gui, click a button and you have it all built and ready to go.

Sitting in Brighton, UK's biggest center of Flash developers (possibly Europe's?), when I go to Flash events and Flash conferences and Flash pub-socials ... the majority have long ago switched over to being completely coding-based development.

The toolset won the hearts and minds of many of the creative people who actually wanted to make stuff, and persuaded them to start with Flash. I still contest that the only difference today is that people who use Java to make games *mostly* don't actually want to make a game, they're just playing.

malloc will be first against the wall when the revolution comes...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline nonnus29

Senior Member




Giving Java a second chance after ludumdare fiasco


« Reply #93 - Posted 2011-11-17 15:51:32 »

About Flash games (and any other platform for that matter): it's absolutely fine using any of these tools. But, this is java-gaming.org, so i'truth, anyone who says, "Just go use ${other_language}" in here basically needs to STFU. If there's one thing that ties everyone in this forum together it's Java, so we need a bit less of the hypocrisy of telling people to use some other tool. As for myself I make a vague exception for Scala, not coz I like it, but because it's Java underneath.

Note when you cited the relative power of the Java language as part of your initial argument you encouraged such responses as part of the discussion.

I did some thinking about Java4k recently and there is such a thing as going too far... one reason I've not ever bothered doing a 4k entry is that I don't really have the time to do all that byte optimisation and such. I did once moot the idea of the LWJGL16k compo as a compromise - enough bytes to give far less emphasis on pure code squeezing, and allow a balance on sound and graphics too. Maybe I should resurrect the idea?

Lwjgl doesn't have to be 3d, but moving into 3d lowers the number of possible contestants due to lower number of developers knowledgable about 3d games development.  True that 2d games are just as relavent in a lwgjl 16k contest, and the 16k limit would have a huge impact on what's possible in a 2d game.  In general I think 16k lwjgl contest would be cool.

Edit: or lwjgl 8k and I'm not saying I would participate, and it should not run concurrently with the 4k.  I think it'd be better if someone made a proof of concept then threw down the gauntlet 'here's my 8/16k wath you got huh?'
Offline loom_weaver

JGO Coder


Medals: 17



« Reply #94 - Posted 2011-11-17 16:01:48 »

Interesting that so many are saying Flash is the superior platform.  Isn't Adobe dropping support for it and moving to HTML5?

While Java still has a ton of problems on the desktop I'd say it has a brighter future on the mobile than Flash does.
Offline Cero
« Reply #95 - Posted 2011-11-17 16:04:53 »

Lwjgl doesn't have to be 3d, but moving into 3d lowers the number of possible contestants due to lower number of developers knowledgable about 3d games development.  True that 2d games are just as relavent in a lwgjl 16k contest, and the 16k limit would have a huge impact on what's possible in a 2d game.  In general I think 16k lwjgl contest would be cool.

16k is like an NES game - I would like that
16k and not applet only and I would try =P

Offline Chromanoid

Junior Member


Medals: 3



« Reply #96 - Posted 2011-11-17 16:06:26 »

Mobile Adobe AIR will not be dropped, I think they want to establish AIR as some kind of Java for rich interactive mobile applications - something Java halfheartedly always wanted to be.
Offline princec

JGO Kernel


Medals: 380
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #97 - Posted 2011-11-17 16:21:06 »

Note when you cited the relative power of the Java language as part of your initial argument you encouraged such responses as part of the discussion.
Well I am a rambling old fool so I occasionally forget what I've written not 5 minutes ago and contradict myself. Though I wouldn't say the original post made any recommendation to use any other platform.
Quote
Edit: or lwjgl 8k and I'm not saying I would participate, and it should not run concurrently with the 4k.  I think it'd be better if someone made a proof of concept then threw down the gauntlet 'here's my 8/16k wath you got huh?'
I dunno, 16k is big enough to not have to do any bytecode optimisation at all really as the bytecode will be proportionally small compared to the amount of graphics and sounds you can fit in 16kb. In other words - it's easier to lose a sound effect or a sprite than rewrite an entire class to save 256 bytes. That's what I'd like to see. 16kb is still so small that nobody is going to make a magnum opus or do any stunning 3D models or incredible sprite artwork, but it's large enough that you can code properly without thinking too hard about the actual bytecode.

<edit>And DEFINITELY NO APPLETS. Applets are SHIT. End of. See Kev's latest example to get an idea of just how shit. It's dead technology - move on!

Cas Smiley

Online Damocles
« Reply #98 - Posted 2011-11-17 17:35:41 »

I dont see the counterargument to applets here.

First, the example is a rather simple game. This can be made in HTML5/JS, which fits well to this point. Going above that, the limitations kick in.

What should be the alternative for a JAVA game then, the Webloader? This is even more freaky to a casual user.
It looks like an app that wants to erase your harddisk rather than a slick launcher. Plus it often does not work propperly.

And downloading a jar is a nogo for a casual game.

For a really big game that needs a stationary installment (with Windows users as target), a classic installer (exe with a nice desktop icon) is the most pleasant way.

Minecraft made a nice example how to implement such a system in a pleasant way for the casual user.
Be it from the web or as downloadable.

BTW: Java has one advantage over Flash here: its possible to use the right-mouseclick. For some gametypes this
adds to a lot to the controloptions.

Offline dishmoth
« Reply #99 - Posted 2011-11-17 18:53:43 »

I did once moot the idea of the LWJGL16k compo as a compromise - enough bytes to give far less emphasis on pure code squeezing, and allow a balance on sound and graphics too. Maybe I should resurrect the idea?

Two reasons why an LWJGL16k contest will never work:

1. In 16k I imagine you could make a pretty impressive game.  And you could potentially spend a pretty impressive amount of time doing so.  I can see a lot of people looking at how good the competing games are and losing interest before they're even half-way to the size limit.

2. Making a game in 4k of Java is clearly insane.  (Same for making a game in 48 hours.)  Anyone who completes such a game has earned the respect of the entire internet (well, a certain subset of it).  Making a game in 16k of Java using an external game library?  It just sounds too easy.

Just my humble opinion, obviously. Wink

Simon

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Online Damocles
« Reply #100 - Posted 2011-11-17 19:07:59 »

I also think 16k is too big.
You could write Starcraft in that size.

A variation is to make a seperation between assets and code, where
16kb can be used for Graphics and sounds, but no sourcecode. (-> i mean bytecode here of course)
(Although someone would write a tricky compiler then, using the art-assets as scriptlanguage, or something like that)

8kb might be a good compromize between clean programming and still hovering limitations.
Yet leaving enough room to make a propper full game. (menus, helptext, and especially soundfx, wich often are missing from the 4k games)

---

Another idea for a contest limitation: Predefined artwork.
Where there can only be the provided artwork be used, with a limit of the dynamic objects drawn or so.
It could be like rendering the gameworld only with specific tiles from a free game.

Or putting a limitation of using only 3 specific colors for the game.

But these contest have been done before I suppose.


Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #101 - Posted 2011-11-17 19:35:33 »

About LWJGL16k, do keep in mind that OpenGL, OpenAL and OpenCL are pretty low level libraries, it takes alot more code to do something that would only take a handful of lines with a higher level library like Java2D. Therefore a chunk of the 16kb will likely go to framework code. Having said that there would still be plenty of space to create games.

But why even limit such a contest to LWJGL? Especially since you'd have to either use AWT or do the boring bits like Font Rendering, Texture Loading, Model loading, etc manually. You could just allow all standard Java open source libraries (JMonkey, Slick, jPCT, LibGDX, etc) but limit the actual game code and assets to 16kb.
Offline Chromanoid

Junior Member


Medals: 3



« Reply #102 - Posted 2011-11-17 20:02:35 »

I don't know how this works in java size coding but in C/C++ size coding you can do pretty much with 4k when you can use shaders. When you additionally have the java class libraries there should be very few limits. If file shrinking is as good as in C/C++ size coding, you will probably be able to do a 96k game like kkrieger with less than 16k for the java executable.
Offline princec

JGO Kernel


Medals: 380
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #103 - Posted 2011-11-17 21:03:42 »

I want to limit it to LWJGL just to annoy gouessej Smiley But also, because LWJGL works.

To those naysayers - yar boo sucks. Go back to not writing games. 16kb is still a major restriction. So what if some smartypants writes his entire game in a shader? It'll maybe look quite impressive but it'll probably play like shit.

So I think maybe I'll get the LWJGL16k thing working in earnest this time and see what gradually floats to the top. Think of it as Java4k without all the minging code and having to use Java2D. (Yuk!)

Deployment shall be thusly: the commandline of your game will be java -Djava.library.path=. -cp lwjgl.jar;lwjgl_util.jar;jinput.jar;<your game>.jar <mainclass> <args> and the size of <your game>.jar shall be 16384 bytes or less and lwjgl.jar shall be v2.8.2. We'll worry about judging, judges, winners and prizes some other time and place.

Cas Smiley

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 800
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #104 - Posted 2011-11-17 21:12:09 »

If there are enough people willing to join, I will finish my JGO/applet code (it works, there simply is no upload-functionality...) I can customize it to something like:

[lwjgl16k]filename.jar[/lwjgl16k]

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline dishmoth
« Reply #105 - Posted 2011-11-17 21:14:49 »

Trying to think up contest-like things in the spirit of Cas's call-to-arms.  Could something like the following work?

A single candidate is picked at random from a list of eager JGO volunteers.  At noon on Friday the candidate is given their game development challenge, something suitably vague like "Space Invaders but more bouncy" or "Grand Theft Auto without the cars".  They then have ten days (until the Monday two weekends later) to produce some sort of game using whatever Java-based technology they like.  They can then choose the theme for the next candidate's challenge which begins the following Friday.

My thinking is that by putting people in the spotlight, they have a strong incentive to produce results.  Ten days should be long enough to complete a respectable game/prototype/whatever without sinking too much time into it.  And because the 'contest' just rolls on to the next candidate, it's not too painful if one game turns out to be a complete disaster.

Join the queue here to tell me how bad this idea is. Wink
Simon

Offline moogie

JGO Knight


Medals: 12
Projects: 6
Exp: 10 years


Java games rock!


« Reply #106 - Posted 2011-11-17 21:23:28 »

In my opinion, the real reason that a 16k comp (using any tech, lwgl or otherwise) is that the barrier for entry is so much higher.

1. people will expect much nicer graphics, sound effects, story and game play
2. if mandating the use of a graphics library, i.e. lwgl, then we participants need to know the library.
3. games in 16k will be that more complex to achieve point 1. leading to much more development time thus time commitment.
4. by natural extension of point 3, there will be many more bugs that will need to be hunted down.
5. One of the big demotivators, well at least for me, would be. well if markus and his ilk Tongue can make left for dead, miners etc in 4k... what manner of uber game can they make in 16k... how am i even ment to remotely compete?

I think i agree with the sentiment that we are mostly "playing" with making games and not really willing to accept the sacrifices, both code quality and real life, to complete a "proper" game. I know I find enjoyment in the 4k comp as my poor game designing/ graphics / sound talent are adequate so i do not feel inferior and can actually compete a game! I am twisted as well in that i love finding ways to fit more content in the 4k limit.

But this is just my opinion. I truly hope that a lwgl16k comp takes off. It is good for java and this forums!
Offline Alan_W

JGO Knight


Medals: 8
Projects: 3


Java tames rock!


« Reply #107 - Posted 2011-11-17 21:25:42 »

I did some thinking about Java4k recently and there is such a thing as going too far... one reason I've not ever bothered doing a 4k entry is that I don't really have the time to do all that byte optimisation and such. I did once moot the idea of the LWJGL16k compo as a compromise - enough bytes to give far less emphasis on pure code squeezing, and allow a balance on sound and graphics too. Maybe I should resurrect the idea?

Cas Smiley

I remember that one, as I wrote Sharpshooter16k for it.  Can I still enter it  Grin

Time flies like a bird. Fruit flies like a banana.
Offline princec

JGO Kernel


Medals: 380
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #108 - Posted 2011-11-17 21:30:05 »

Hmm, I'm really not sure that applets are a good idea - they add a serious amount of extra instability and require extra coding and care in certain places that I'd rather not have to worry about, myself.
Also, I'd just like to leave the theme wide open and the dates fixed and see what comes out. No predefined sprites or anything, no MonkeyEngines, just LWJGL and Java 5.0+ and that commandline and see what comes out of it. 16kb may sound like a lot to fill but if you've got 1 month to fill it you're still going to be pretty limited.

@moogie -

1. Good. Though obviously in 16kb you're still not exactly going to set the world alight. And I think I may have insinuated that the game is everything - not the graphics and sound.
2. You really only need to know OpenGL. Maybe this is your chance to learn it and we can all swap hints and tips. OpenGL isn't a whole lot harder than Java2D. In fact I find it easier to achieve the effects I want consistently.
3. Or less. Depends on how much time you spend in 4kb just optimising bytecode.
4. And you may catch a cold tomorrow, but let's not worry about that until it happens, eh
5. You won't know until you try

Less negativity please! This thread is exasperating.

Cas Smiley

Offline Chromanoid

Junior Member


Medals: 3



« Reply #109 - Posted 2011-11-17 21:53:17 »

Nice talk by Braid's programmer related to OP Smiley http://the-witness.net/news/2011/06/how-to-program-independent-games/
Offline princec

JGO Kernel


Medals: 380
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #110 - Posted 2011-11-17 22:10:03 »

Awesome talk. Everyone should listen to it.

Cas Smiley

Offline loom_weaver

JGO Coder


Medals: 17



« Reply #111 - Posted 2011-11-18 00:23:55 »

Nice talk by Braid's programmer related to OP Smiley http://the-witness.net/news/2011/06/how-to-program-independent-games/

Thanks for the link!  Here's a similar one by Rich Hickey, the creator of Clojure.  He focuses on the difference between simple and easy and promotes focus on results rather than the code.

http://www.infoq.com/presentations/Simple-Made-Easy
Offline avm1979
« Reply #112 - Posted 2011-11-18 17:05:57 »

Nice talk by Braid's programmer related to OP Smiley http://the-witness.net/news/2011/06/how-to-program-independent-games/

It's a great listen, thanks for the link!

I'm having a hard time with the 3500 lines of code/year example, though. Sure, you need to be 10x more efficient than that, but most of it comes from simply not having burdensome process, the reduced communication overhead that comes with a small team, and increased motivation. In other words, things not directly related to the code. It's hardly plausible that the 3500 line corporate figure arises simply from gratuitous over-engineering Smiley

Online Damocles
« Reply #113 - Posted 2011-11-18 17:13:49 »

In large coporate projects, implementing and updating and maintaining businesslogic, its natural to have a low number
of codelines written.

The main work is put into a failsave update and evolution of these large code-bases. A game on the other hand
is a one purpose product, wich is much faster to erect.
Im shure updates on the WoW serversoftware also take painstakinly slow, because the codebase has to be kept maintainable
over years for many different eyes.

Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #114 - Posted 2011-11-18 17:18:59 »

I'm having a hard time with the 3500 lines of code/year example, though.
That's net lines though, not gross. So if you spend January writing a new system that's 2k lines big, then a few months fixing bugs and adding features you might still only be on 2k lines for the whole year. Remove a subsystem and replace it with something new and you might have 'written' negative lines of code.

Lines of code is a horrible code metric, but managers like it because it's easy to measure and easy to understand, even though it's next to useless.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline avm1979
« Reply #115 - Posted 2011-11-18 17:25:30 »

In large coporate projects, implementing and updating and maintaining businesslogic, its natural to have a low number
of codelines written.

That's net lines though, not gross. So if you spend January writing a new system that's 2k lines big, then a few months fixing bugs and adding features you might still only be on 2k lines for the whole year. Remove a subsystem and replace it with something new and you might have 'written' negative lines of code.

If that's indeed what the 3500 represents, then it's an apples and oranges comparison. "Hey, if you're not writing new code, you add less lines of code!" ...

Lines of code is a horrible code metric, but managers like it because it's easy to measure and easy to understand, even though it's next to useless.

No argument from me. People start gaming metrics (of any kind, really) right away, and from a gameplay point of view, they tend to be as abuse-proof as an elder scrolls game Cheesy

Online Damocles
« Reply #116 - Posted 2011-11-18 17:44:14 »

The "Braid" developer is also talking about a different environment.
As fas as I understood it, he is writing the code alone.

But when there is more than 2 developers, the problems with coordination kick in.
There the code needs to be more organized and modular than in a single-Dev scenario.
Especially if the programmers join later or have to take over the codebase.

So the first thing is to think about
-How many developers are working on that, (and how close do they sit/communicate together)
-How much is this code to be updated and maintained in the future.

From there you should start to decide on the programmingstyle.

Offline Nate

JGO Kernel


Medals: 147
Projects: 4
Exp: 14 years


Esoteric Software


« Reply #117 - Posted 2011-11-18 18:07:43 »

I think a 2D scene graph like structure without the need to draw by yourself would help very much. This is something I miss when casually looking at slick or libgdx.
Eh? libgdx has a 2D scene graph, you can add images and move them around without making any draw calls yourself.

Offline Nate

JGO Kernel


Medals: 147
Projects: 4
Exp: 14 years


Esoteric Software


« Reply #118 - Posted 2011-11-18 18:11:57 »

<edit>And DEFINITELY NO APPLETS. Applets are SHIT. End of. See Kev's latest example to get an idea of just how shit. It's dead technology - move on!
HTML5 loaded first, then Java. Flash didn't load at all, because I have a blocker. Smiley Disabling the blocker and refreshing the page though, and Java loads first every time. I guess it is just JVM start up time? Shift refresh doesn't change anything, but then maybe that doesn't touch anything cached for Java.

Offline princec

JGO Kernel


Medals: 380
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #119 - Posted 2011-11-18 18:15:36 »

Coordination is a whole different game in itself. That's why there is a role called "manager" in large teams.

However, nobody in here needs to worry about managers or coordination. You're all nearly working on your own. You don't honestly need to work with anyone else. So stop trying to dodge the issue Smiley Make some games! Go join in the lwjgl16k competition. It should be an eye-opener.

Cas Smiley

Pages: 1 2 3 [4] 5 6 ... 8
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

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

The first screenshot will be displayed as a thumbnail.

radar3301 (12 views)
2014-09-21 23:33:17

BurntPizza (30 views)
2014-09-21 02:42:18

BurntPizza (22 views)
2014-09-21 01:30:30

moogie (20 views)
2014-09-21 00:26:15

UprightPath (28 views)
2014-09-20 20:14:06

BurntPizza (32 views)
2014-09-19 03:14:18

Dwinin (48 views)
2014-09-12 09:08:26

Norakomi (74 views)
2014-09-10 13:57:51

TehJavaDev (102 views)
2014-09-10 06:39:09

Tekkerue (50 views)
2014-09-09 02:24:56
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
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!