Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (487)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (553)
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 ... 7
  ignore  |  Print  
  LWJGL16k  (Read 52872 times)
0 Members and 1 Guest are viewing this topic.
Online princec

JGO Kernel


Medals: 365
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Posted 2005-01-18 22:58:33 »

Just testing the waters here.... when the dust from the 4k compo has settled, would anyone be interested in a LWJGL16k competition? (Picked 16 for the hell of it coz you don't have to arse around with non-OO coding and daft short variable/filenames so much)

Because JRE users get all this ImageIO and AWT and media player stuff for free I was thinking we might allow LWJGL+JOrbis+DevIL as our platform...

Cas Smiley

Offline oNyx

JGO Coder


Medals: 2


pixels! :x


« Reply #1 - Posted 2005-01-19 00:13:08 »

The end of the 4k compo is set to "end of feb", which is still quite far away.

16k. Hm.

How will people use it? How would you use it?

8k classes, some tiny images and some tiny sounds?

Well, it's enough room to make procedural textures and sound worthwhile... not sure if that's necessarily a good direction.

弾幕 ☆ @mahonnaiseblog
Offline Chman

Junior Member




Nothing more that... Java games are cool !


« Reply #2 - Posted 2005-01-19 04:47:00 »

Seems like a good idea to me...
But why 16K ? Why not 32k, 48k, or even 64k ?

Chman
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kevglass

JGO Kernel


Medals: 159
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #3 - Posted 2005-01-19 04:49:36 »

Seems a bit pointless to put a size restriction on unless its tight enough to enforce the developer to think in a different way. IMHO thats what makes J4K so interesting.

I'd be all in support of a LWJGL games compo (I'd love to enter) but I think you want to limit on time. Announce, 2 months? - entries. You'd have to take it on good faith that the game had only be in development 2 months tho....

Or simply just have an anual best LWJGL game competition. Though I think tribal trouble is gonna win hands down this year Smiley

Maybe you could go for single developer projects?

Kev

Offline William Denniss

JGO Coder


Projects: 2


Fire at will


« Reply #4 - Posted 2005-01-19 07:25:06 »

Indeed, I was thinking similar thoughts but with Xith3D ;-)

I think such a competition would be fun, I'd enter for sure.  As I am coding my 4k entry, I am always thinking how much nicer the game would look using LWJGL Smiley  I'm very annoyed that 1.5 isn't on Mac yet, as I don't have a Java high resolution timer and no LWJGL either Cry.

These competitions are quite fun problem solving exercises.  The only problem about allowing third party library X, is that it eases the restrictions, potentially lessening the challange.  For example, one could code a 4kutil library with a bunch of stuff aimed at making creating games in 4k easier (e.g. the SuperPackME loader) and say 4k-but-you-get-Util.class-for-free, but then you really lose the point of it being 4k to begin with, as the download isn't 4096 bytes anymore.

Other competitions could be restricted in different ways,
e.g. (pick one):

* you have to create a game out of a set of 20 sprites
* you can only have 3,000 lines of code (official java style guide, so no multiple statements on one line)
* you can only have 50 "if" statements
* you have to create an asteroids clone
* you can only use ASCII art to make the game
* you can only use line art
* etc...

Software Engineering is about solving problems with the tools you have available and within a given set of limitations (time, size, memory etc).  Having a some tight restrictions that you wouldn't normally have makes it challenging and fun, and also reduces the barriers to enter.  I think this is where the big game contest last year fell flat -- too open ended, way too much effort to enter with a hope of winning (unless you had something already).

Varying these competitions up a bit could be fun, as different tricks apply.  E.g., if going from 4k to 64k, you probably don't have to worry about declaring constants or embedding sprites in the code and you can have more than one class.

Will.

Offline cfmdobbie

Senior Member


Medals: 1


Who, me?


« Reply #5 - Posted 2005-01-19 09:01:58 »

I wonder whether a time limit would make things interesting - I don't mean a themed contest with a 48 hour duration like Ludum Dare though.

Using whatever libraries you like, what could you come up with after just one hour?

Hellomynameis Charlie Dobbie.
Offline kevglass

JGO Kernel


Medals: 159
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #6 - Posted 2005-01-19 09:08:22 »

A mess, certainly.

Kev

Offline cfmdobbie

Senior Member


Medals: 1


Who, me?


« Reply #7 - Posted 2005-01-19 09:45:42 »

Probably, but that's half the fun! Grin

Hellomynameis Charlie Dobbie.
Online princec

JGO Kernel


Medals: 365
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #8 - Posted 2005-01-19 10:36:53 »

I wrote Puppytron in 5 hours flat. We had an applet competition at work, and that was my entry. My minions respectively produced a table football game and Asteroids.

I'm thinking that we'd deliberately put a heavy restriction on the APIs used:
- NO AWT/ImageIO/Swing/etc. Test it by compiling against the Alien Flux VM Smiley
- LWJGL
- DevIL
- JOrbis (as used by Puppytron)
In fact I can supply a special JVM to compile against Wink

Now, as for 16kb, I figure that that gives you the freedom to use proper coding style and even include some sound effects in heavily compressed OGG format if you like. It also pretty much limits the time available because there's only so much you can fit in 16kb.

If we held the compo in time for JavaOne perhaps...

Cas Smiley

Online princec

JGO Kernel


Medals: 365
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #9 - Posted 2005-01-19 10:38:53 »

...and one thing that annoys me about the 4k compos is that you actually spend more time making things smaller and illegible than you actually spend just writing a game. Programming games is more fun than optimising bytecode!

Cas Smiley

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kevglass

JGO Kernel


Medals: 159
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #10 - Posted 2005-01-19 10:42:43 »

Actually, most of the saving I've come across is changing the way I might do something, making me think about different solutions to the same problem... I at least found it quite useful.

I don't think I'd be as interested if we're going to have to cut down to the sepcialised JVM. Then I really would doing things in a different way just to match a different requirement. (Although, admitted, in my case I guess it wouldn't change much).

Kev

Online princec

JGO Kernel


Medals: 365
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #11 - Posted 2005-01-19 10:46:08 »

It's not a specialised VM, just a heavy restriction on what APIs can and can't be used. What we're trying to do here is promote LWJGL so everyone realises just how much it r0xors Wink

Cas Smiley

Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #12 - Posted 2005-01-19 10:50:00 »

Quote

These competitions are quite fun problem solving exercises.  The only problem about allowing third party library X, is that it eases the restrictions, potentially lessening the challange.  For example, one could code a 4kutil library with a bunch of stuff aimed at making creating games in 4k easier (e.g. the SuperPackME loader) and say 4k-but-you-get-Util.class-for-free, but then you really lose the point of it being 4k to begin with, as the download isn't 4096 bytes anymore.



Personally, I belive the popularity + success of the 4k comp is either that people realise *everyone else* is restricted and so - with their own limited time, or limited skill (different from person to person - it's "worth a shot without my entry looking completely rubbish".

or...knowing that it's not going to take more than X hours of your life, so you probably have time to finish it even with a busy work life?

So it's not so much the difficulty that matters as the fact there is some constraint on total time + expected quality, even if an easy one.

For instance, I'd generally not bother competing in a comp where I knew i was up against megacorps online or tribal trouble, because I know I simply dont have the resources to make an even half-assed attempt at it (unless I move to a full time job developing java games client-side)

malloc will be first against the wall when the revolution comes...
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #13 - Posted 2005-01-19 10:53:04 »

Quote
Just testing the waters here.... when the dust from the 4k compo has settled, would anyone be interested in a LWJGL16k competition?


instead of by size (given the fact that LWJGL is bieng used) perhaps limit by some high-level feature, such as "total maximum playtime"? If the whole game takes 5 minutes to play to the end (assuming you finish it) then it keeps the games feasible for time-poor people to enter and sufficiently constrained to keep out mega-impressive games that put everyone else off even taking part.


malloc will be first against the wall when the revolution comes...
Offline mlk

Junior Member




Muppet!


« Reply #14 - Posted 2005-01-20 00:36:43 »

At the end of the last J4K, I tried to start a J4K3D (you could use any of the major Java 3D APIs).

No one submitted an entry.  Cry

I'd love to see one take off  Grin

Offline nonnus29

Senior Member




Giving Java a second chance after ludumdare fiasco


« Reply #15 - Posted 2005-01-20 01:22:10 »

Trying to do 3d in 4k is kicking my ass.  Vertex and triangle indices eat loads of storage.

Consider the simple cube:

8 verts:  float = 32 bytes
12 triangle indexes; int = 48
total: 80 bytes.

16k with opengl would allow alot more breathing room for sure.  Semi interesting geometry, simple textures, procedural textures, smooth shading, lighting.  You could even indulge in an actual matrix class!!!

To me actually using a 3d api wouldn't be as interesting though.
Offline kevglass

JGO Kernel


Medals: 159
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #16 - Posted 2005-01-20 05:14:59 »

Thats data size at runtime not class size.

If you used casted floats for your indexes you'd have:

private float[][] pts = new float[20][100];

for a hundred points. Which class size isn't going to be anywhere near that.

Kev

Online princec

JGO Kernel


Medals: 365
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #17 - Posted 2005-01-20 09:17:49 »

Besides, I'd be using bytes for the coordinates. However - 3D really does rather raise the bar far higher than anyone really wants to bother with for such a weeny compo.

Cas Smiley

Offline jojoh

JGO Knight


Medals: 5
Projects: 7


games4j.com


« Reply #18 - Posted 2005-01-20 14:47:44 »

I think that the reason we have this thread here is that the 4K compo has been quite successful. The reason for that is probably to a great degree that almost anybody in the forums could create something in 4K and not be ashamed about it. We can always blame ___ on the 4K limit  Grin And it isn't a huge undertaking to make an entry. That is at least why I already have made (started) 3 entries.  And it is really great to see the entries, since there are many great ideas and good focus on gameplay.

On the other hand I feel that it is a bit of a shame to waste so much time on byte hunting and making code worse just to make it in 4K. I have a (more than) full time job, and I don't really think that I will have much use for the knowledge that I get. Trading readability and speed for size is the opposite of what you want to do in 90% of the time.

Going full out and allowing any size could be bad, since most would be too scared to enter since we know that we would get our asses so badly beaten by two or three guys here Wink

I would personally like to see a two week compo, where there would be some limitations like have to use certain images, objects and maybe a general broad theme (have to involve kangaroos or something Smiley ) It would have to be fairly limiting! I'd also love to see it as open source. I have not really gotten into any of the game libs yet. If there all of a sudden would be 10 compliments to Kevglass' Space Invader 101, I think that it would help a lot for a lot of ppl. With that limitation we might even drop the mem limit? We would have a fairly levelled playingfield (as long as theme limitation goes well, the really hard part), wouldn't be too much work, because of the time limit, and we would still have an excuses for not everything being perfect, code could actually look pretty OK, and games as well (or at least not horribly uggly as my 4K entries Tongue ) Reducing the points for gfx and sfx in favour for gameplay, to make it fair for us untalented ppl. Maybe also points for how well it involvs the required images, sounds and kangaroos?

I think that it would fertilize the ground for more Java game dev and help everybody here.

Would have to perfect that kangaroo idea... More ideas?

Sorry for rambling on like a mad man. Smiley

Offline nonnus29

Senior Member




Giving Java a second chance after ludumdare fiasco


« Reply #19 - Posted 2005-01-20 15:25:21 »

Yes, casting bytes...  so long as values are between -128 and 128.   Shocked
Offline ap_kelly

Junior Member




Java rocks!


« Reply #20 - Posted 2005-01-20 18:56:28 »

The reason I'm going to enter the 4k comp is that I feel I have the same chance of winning as everyone else. My entry, like all the others, doesn't rely on fancy graphics or sound, or huge levels full of monsters it concentrates on what everyone wants and thats gameplay.

A 16k LWJGL comp would also be interesting, I agree with previous posts that maybe the memory limit isn't the interesting part of the comp (I know for 4k I'm spending 90% of my time trying to get it into 4k).

A short timeframe, e.g. 1 month and a theme that the games must include (Kangaroos etc) would be more appealing to me.

As an aside, here in Sydney each year we have an independant film festival, any budget/size is allowed, but it has to be 7 mins in length AND contain a signature item so that the producers of the festival know that it was written from the date of the announcement (this year it was 'umbrella', previous years have included 'rock' and 'match').

I don't think you should limit the APIs that can be used, since if you release the game to the public you'll be running on a standard JVM anyway, but I think you can make it a mandatory requirement that you do use LWJGL (obviously!)

Andy.

PS: Do earlier versions of Java produce smaller class files for the same peice of code (I'm not using any 1.5 features)? I'm really looking for ways to shave bytes off my entry.


Offline jbanes

JGO Coder


Projects: 1


"Java Games? Incredible! Mr. Incredible, that is!"


« Reply #21 - Posted 2005-01-20 19:45:44 »

You know, I was just reading the Readme.txt file I did for Defender 4000, and I realized it sums up my reasons for entering the 4k contest pretty well:

Quote

Many have commented that writing a game within 4K is a futile exercise. "You simply can't pack enough in that little space!" they say. To date, they've been shown to be somewhat correct. Most games that have fit in 4K have either been good games with very simple graphics (e.g. Circles, Rectangles, and Ovals) or technology tests that have shown off neat stuff but have had very poor playability. Well, this game is intended to prove them wrong.

When one considers that early video games often had *less* than 4K of space to work with *and* were often more fun than today's games, one has to wonder where the idea that 4K won't work came from. Have we lost that much of our creativity and "push the envelope" mentality? Does anyone else remember the days when only the best of the best could even hope to code a video game? Not because others were incompetent, but more because you had to know what every byte was doing and how the system used it? There were some serious hardware limitations in those days, and it was up to the software people to make up for it.

Thus the basis for this game. If you're paying attention, you'll notice that just about every graphic is animated. So much so, that one could surmise that I blew most of my 4K budget on graphics. It is unfortunate for the competition that the assumption is outright wrong. Thanks to my patented SuperPack(TM) technology (yes, I just made that up on the spot), I have 19 graphics taking up approximately 1/10 of my 4K budget. And the graphics even compress by 19% when packed in the JAR file! Compare that to all the other games that are trying to pack in 2 or 3 PNG files!

As I always say: work smarter, not harder!

Java Game Console Project
Last Journal Entry: 12/17/04
Offline Middy

Junior Member




Java games rock!


« Reply #22 - Posted 2005-01-21 16:40:46 »

Why have some size limit on the game. Why not just best game. What are we testing, coder skills or game development skills.

Would also bring some attention to lwjgl

When do I get my makeMyGameAsILike() extension?
Offline darkprophet

Senior Member




Go Go Gadget Arms


« Reply #23 - Posted 2005-01-21 17:03:05 »

I think the 16Kb limit is *just* right. Think about it like this.

To draw a rectangle in java2d, its a simple one liner:

g.drawRect(0, 0, 10, 10);

to draw a rectangle in OpenGL:

glBegin(GL.GL_QUADS);
glVertex3f(-5, 5, 0);
glVertex3f(5, 5, 0);
glVertex3f(5, -5, 0);
glVertex3f(-5, -5, 0);
glEnd();

So really, it should be 24Kb as opposed to 16 with that logic... But 16 is more of a challenge  Smiley

Friends don't let friends make MMORPGs.

Blog | Volatile-Engine
Offline cfmdobbie

Senior Member


Medals: 1


Who, me?


« Reply #24 - Posted 2005-01-21 18:03:31 »

Quote
Why have some size limit on the game. Why not just best game. What are we testing, coder skills or game development skills.


Because without limits in place to level the playing field, no individual has a hope in hell.  Anyway, there's already a category to pick the best game out there - it's called "the game store shelf". Grin

Hellomynameis Charlie Dobbie.
Offline zingbat

Senior Member




Java games rock!


« Reply #25 - Posted 2005-01-21 19:20:13 »

This is a very good contest.

There is something similar going on here:

http://theprodukkt.com/

http://www.assembly.org/compos/

They usualy go with 4k demos for 2d and 64k demos for 3d games and its mostly procedural textures, music, sound and models. And these i believe are for assembler programs that can become quite small.

For Java, however, its probably better multiply that value to take in account the amount of junk the javac compiler adds to class files.

This is a very good idea. Probably the best thing that can be done to mobilize java game programming is to have a competing with a size limit.
Online princec

JGO Kernel


Medals: 365
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #26 - Posted 2005-01-21 19:29:28 »

*cough* glRecti()

I think 16kb is just right and hopefully it'll stop smartarses from doing all that procedural stuff and concentrate on games instead Wink

Cas Smiley

Offline jbanes

JGO Coder


Projects: 1


"Java Games? Incredible! Mr. Incredible, that is!"


« Reply #27 - Posted 2005-01-21 19:35:17 »

Quote
*cough* glRecti()

I think 16kb is just right and hopefully it'll stop smartarses from doing all that procedural stuff and concentrate on games instead Wink


Hmm... no wonder you haven't done any 4K games. glRect() adds another method reference, which spells big losses if you need glVertex(). The solution is to use glVertex() and let the compression program turn it into nothing more than a bit or two of data. :-)

Java Game Console Project
Last Journal Entry: 12/17/04
Offline tom
« Reply #28 - Posted 2005-01-21 20:30:33 »

No need for glVertex. Put all the vertices in a single vertex array.

.kkrieger is an excelent game. Liked it much better than doom3.

16k seems like fair limit. I think there should be a judging bonus if the game is actually 3d. Needs to be an insetive to make it different from the Java2d 4k games.

...and extra bonus if you do the whole game in the main() method Cool

Offline cfmdobbie

Senior Member


Medals: 1


Who, me?


« Reply #29 - Posted 2005-01-21 20:52:22 »

Quote
...and extra bonus if you do the whole game in the main() method Cool


I quite agree.  That is, if by "bonus" you mean "slap"...?

Ach, I suppose a 16KB 3D game with readable source code would be a bit much to ask for? Wink

Hellomynameis Charlie Dobbie.
Pages: [1] 2 3 ... 7
  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.

TehJavaDev (15 views)
2014-08-28 18:26:30

CopyableCougar4 (25 views)
2014-08-22 19:31:30

atombrot (38 views)
2014-08-19 09:29:53

Tekkerue (33 views)
2014-08-16 06:45:27

Tekkerue (32 views)
2014-08-16 06:22:17

Tekkerue (20 views)
2014-08-16 06:20:21

Tekkerue (29 views)
2014-08-16 06:12:11

Rayexar (66 views)
2014-08-11 02:49:23

BurntPizza (42 views)
2014-08-09 21:09:32

BurntPizza (34 views)
2014-08-08 02:01: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!