Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

a couple game programming questions

Name: Anonymous 2011-12-12 23:01

I have a couple questions:

1. Is there a better alternative to jMonkeyEngine for creating 3d java games? If so, what are its advantages? If not, is it better to use their supplied IDE or to use something like Netbeans/Eclipse?

2. This is far less important as I may never get around to it, but I'd like to someday make an old fashioned DOS game that would be playable on an extremely old PC. What language(s) would I need to use and what libraries are available for this sort of thing? Are there any good guides on the subject?

Any answers would be much appreciated.

Name: Anonymous 2011-12-12 23:06

>>1
1. jogl || lwjgl & emacs + cmd
2. C, opengl

Name: Anonymous 2011-12-12 23:09

>>2
Pretty much this, though "emacs + cmd" depends on your operating system and tastes. I've heard good things about LWJGL. It's what Minecraft uses, so make of that what you will (for better or worse).

Name: Anonymous 2011-12-12 23:12

>>1
3d java games?

Name: Anonymous 2011-12-12 23:50

>>1
Any chance you'd consider using C# (or anything on CLR) with Mono instead of Java? The JVM GC is still pretty bad these days when you get to the scale of a 3D game.

Name: Anonymous 2011-12-13 0:13

>>5'
>C#
>Mono


hahahahhaha good one, next time you make a silly comment like that please provide the benchmarks.

Name: Anonymous 2011-12-13 1:07

>>2
Thanks for the response. I was wondering, since a lot of people say Java is a memory hog, is there any better cross-platform environment that's well suited for creating 3d games?

Name: Anonymous 2011-12-13 1:46

>>7
Java is fine if you aren't making a AAA multi-million dollar game

Name: Anonymous 2011-12-13 1:50

JAVA HAS AIDS. USE C.

Name: Anonymous 2011-12-13 3:01

>>1
JMonkey isn't bad, but get an already off-the-shelf engine to get some experience, like udk, cryengine or valve's source sdk. You'll learn some basic scripting (AI, cinematics, scenario setup, etc...), level design and basic content creation (models, textures, sounds), but with nice tools and docs. After that you can try separate libraries and glue them together with a custom “engine” (like Ogre3D + ODE + OpenAL). After these two phases, I think you'll be prepared to work in more advanced stuff (scene graph, graphics pipeline, memory management and profiling/optimization) and create your own engine.

Name: Anonymous 2011-12-13 6:28

                   
        
               
             
                  

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-12-13 6:31

>cross-platform environment that's well suited for creating 3d games?
PureBasic, it includes OGRE as engine and its quite user-friendly. Should be enough until you want to write your own engine.

Name: Anonymous 2011-12-13 7:44


ok i guess

Name: Anonymous 2011-12-13 12:43

>>7
a lot of people say Java is a memory hog
a lot of people are correct, when Java is poorly written it's a memory hog because of GC.

If you use any GC language and write pure shit that abuses objects and allocates thousands of them a frame it's going to be a memory hog.

Name: Anonymous 2011-12-13 12:56

>dos game
>old PC
Doom Engine (Id Tech 1), possibly Id Tech 2

If you're lucky and willing to force a GNU+Linux environment, the new DRI (either late version 1 or in version 2) can directly access the GPU without requiring a desktop environment - you could do stuff like MineCraft or Sauerbraten or Tremulous without ever loading up X.

Also, depending on how old we're talking and how primitive it needs to be, ioquake3 uses low-level opengl which should be compatible with older GPUs (it can probably go as low as 1.3/1.4, which is actually common for primitive GPU-related tasks in many languages since it's the same as DirectX 7, which covers most of the basics)

Name: Anonymous 2011-12-13 13:08

Also, here's a link:
http://www.homph.com/thread/

There's one or two better ones, but it any case, they scrape /v/ every 10 mins or so for a amateur video game development thread

Name: Anonymous 2011-12-13 13:15

Please, do not write games in Java. My laptop can run Oblivion at 15 fps, but not Minecraft. A modern solution for indie  game developers is XNA.

Name: Anonymous 2011-12-13 13:47

>>17
Please, stop being ignorant. Take the time to learn what OpenGL 1.1 is and why it's been deprecated for years now and why it's recommended to use OpenGL 3.0 +.


Please take the time to learn what XNA really is under the hood and why it doesn't have this problem that OpenGL 1.1 does.


Please take the time to learn actually learn about graphics libraries before you go off chiming about why X language is bad because Y game runs like shit when using Z library for rendering.


Please take the time to not base your opinion off a self-employed self-taught programmer that doesn't know what he's doing, that's basically like listening to what Frozenvoid and agreeing with him as if he's correct.

Name: VIPPER 2011-12-13 13:54

>>15
Tremulous without ever loading up X.
Where can i get that? I want this.

Name: Anonymous 2011-12-13 14:25

>>18
Please, stop being stupid. Look at the features C# and XNA provide you.

Name: Anonymous 2011-12-13 16:16

>>20
Please, stop being ignorant. If you're to blind to see how big the java library is and all the feature it provides along with lwjgl/jogl then you're a ignorant fanboi that's to ignorant to put aside his hate and realize both are just as good

Name: Anonymous 2011-12-13 16:26

dubzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzwwwwwwwwwwwwwwwwwwwww

Name: Anonymous 2011-12-13 16:41

>>21
Time to remind javamonkeys about how they suffer:

- no closures
- no lambdas
- no properties
- no templates
- no delegates, events
- no partial classes
- no deterministic finalization
- no LINQ
- no extension methods
- no implicit interface implementations
- no optional parameters
- no adequate memory usage
- no fast applications
- no sane IDE, no standart GUI
- no anonymous data types
- no operator overloading
- no tail call optimizations
- no Silverlight, Windows Forms, WPF, WCF, XNA

Also: http://img855.imageshack.us/img855/1861/1315853243150.png

Name: Anonymous 2011-12-13 16:55

>>19
The source code for Trem is available freely. If your system supports DRI2 or late DRI1, you can modify your rendering/SDL pipeline so that instead of calling a window, you call whatever DRI needs to access the GPU framebuffer and such. I imagine it's not severely difficult, as DRI should be easy enough to do stuff like "call gpu->setup framebuffer and surface ->render to surface->pass to framebuffer"

The main problem with that would be having all the other components of Trem or the engine work without the other components of X being active, if that's possible. You'd probably have to basically modify SDL itself to use non-X components for audio, video, input, etc.

Name: Anonymous 2011-12-13 17:40

>>23
javamonkeys
Right there i knew you were a bad troll and didn't understand a word i said in my previous post

no closures,lambdas
Java 8, implying you would be using lambdas and closures when making a game
Or better yet you can just use one of the many JVM langs that have them and still get full support of the java library
no properties
javabeans
no templates
confirmed for ignorant fanboi that's to obvious to the rest of the language world. Java had this since 1.5
http://www.jprl.com/Blog/archive/development/2007/Aug-31.html
no delegates
Reflection,interface hacks,anonymous classes
no events
wrong again, ignorance is strength.
no partial classes
oh great now OP can't make a game since he can't split up a class pre-compile, the world is ending
no deterministic finalization
if you're worrying about memory use C/C++
no LINQ
oh god the world is ending, this is so going to kill off his indie game making career without it
no extension methods
you can write your own class with them or anonymous class
Also once again Java 8, ignorance is strength
no implicit interface implementations
You're joking right? Do you even know what java is outside of that horrible out of date wiki table you made?
no optional parameters
Method overloading
no adequate memory usage
poorly written code is going to kill memory in any GC language, more news at 11.
no fast applications
ignorance is strength. Your fanboism is really showing
no sane IDE
Let me guess, you can't code if Microsoft isn't there holding your hand telling you what to type every step of the way?
no standart GUI
AWT,SWT,Swing; Dear lord if we don't force something on people
no anonymous data types
What a terrible thing, java is over.
no operator overloading
define your own methods add,sub,mult,div.  god forbid you have to write out more than one char.
no tail call optimizations
There's no application of you using recursion in a game to begin with, and if you are using something that would get tail call optimized then you can make it imperative rather than recursive to begin with unless you're to dumb to understand what's going on in the first place.
no silverlight
oh lordy, non-portable bloat that no on uses
no window forms
Swing,AWT,SWT
WPF
JavaFX,Java2D,Swing
WCF
hahahahaha
XNA
lwjgl,jogl,openal, god forbid someone write portable code


also next time you try to pull off a lollookatallmyfeatureswhileiexcludetheonesidonthave link to the actual wiki that you took that from https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java


Aside from that it seems you're to much of a C# and Microsoft fanboi to drop your overflowing ignorant thought and learn.

Name: Anonymous 2011-12-13 18:25

>>25
I'm not >>23, but setting aside my disbelief that you responded to that (YHBT homebro), I'd just like to mention that I'm writing a game engine at the moment with copious use of lambdas.

Why do you think they're not applicable to games development?

Name: Anonymous 2011-12-13 18:40

>>26
It's not something you hear people talking about when they write their game and it's not a necessity to have them in order to write a game/engine

and yes IHBT when it comes to ignorant fanbois that worship one language and hate on other languages because X feature despite them not knowing that X feature is actually implemented in Y manner.

Name: Anonymous 2011-12-13 18:44

>>18
Right. To be perfectly clear, the fact that Java neglects to do anything but cursory GC until it's too late, then stops the world and analyzes the entire heap in one go has absolutely nothing to do with the performance problems. It's all the programmer's fault. For not using malloc/free.

Name: Anonymous 2011-12-13 18:45

>>25
Java 8, implying you would be using lambdas and closures when making a game
Java 8 is expected in Summer 2013.

javabeans
I think you don't know Java at all. In C# properties are a language feature, while in Javabeans it's based on reflection. Still, properties are not a Java feature.

confirmed for ignorant fanboi that's to obvious to the rest of the language world. Java had this since 1.5
Definitely you don't know Java. In C# generics are platform supported data types which are optimised by JIT. In Java, they're just syntactic sugar. They do not exist after preprocessing.

Reflection,interface hacks,anonymous classes
Hacks, polluting the code.

wrong again, ignorance is strength.
No, Java has no events. You're left with an event mechanism, and everything else should be implemented by you. But prideful javamonkeys aren't afraid of boilerplate crap.

oh great now OP can't make a game since he can't split up a class pre-compile, the world is ending
As a Java fan, you haven't heard about separating logic from graphics, which is done using partial classes. There are more of useful examples, but you don't need 'em since your language is lacking partial classes.

if you're worrying about memory use C/C++
If you're relying on GC, you're in trouble. your game will be indefinitely freezing whenever GC deigns to free resources.

oh god the world is ending, this is so going to kill off his indie game making career without it
LINQ is useful when working with databases or XML files. Both are widely used in gamedev.

you can write your own class with them or anonymous class
Extension methods allow you to write more human-understandable code. Compare "C#".RemoveAllLetters(); to MyStringExtensions.RemoveAllLetters("Java");

You're joking right? Do you even know what java is outside of that horrible out of date wiki table you made?
Please, show an example of implicit interface implementations in Java.

Method overloading
That's not optional parameters: http://msdn.microsoft.com/en-us/library/dd264739.aspx

poorly written code is going to kill memory in any GC language, more news at 11
ignorance is strength. Your fanboism is really showing
Java is a memory hog by design: http://warp.povusers.org/grrr/java.html

Let me guess, you can't code if Microsoft isn't there holding your hand telling you what to type every step of the way?
You've never used VS, right? It's a very convenient IDE with lots of features, and its debugger is the best one. Can your debugger do this: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Debugger ?

AWT,SWT,Swing; Dear lord if we don't force something on people
Does any of these have data binding, triggers, templates, easy-as-hell customisation and skinning? No? Please, continue writing megabytes of boilerplate then.

What a terrible thing, java is over.
define your own methods add,sub,mult,div.  god forbid you have to write out more than one char.
Look, everything outside Java is considered unnecessary, but as soon as it appears in Java it becomes "a very good thing" automatically. Thus, javamonkeys are mentally limited people, they don't realise there exist better things.

There's no application of you using recursion in a game to begin with, and if you are using something that would get tail call optimized then you can make it imperative rather than recursive to begin with unless you're to dumb to understand what's going on in the first place.
E.g.: A* is optimal recursion-based pathfinding algorithm. All RPGs, shooters, racing games use it. Recursion-based algorithms is widely used in gamedev.

oh lordy, non-portable bloat that no on uses
lwjgl,jogl,openal, god forbid someone write portable code
Silverlight runs at all Unix-like systems: http://www.mono-project.com/Moonlight "no one uses" - is that because you don't use it?
You don't understand "portable". Portable means your code can run on many platforms, including consoles and (smart)-phones. Java runs on Windows, Unix like-systems only (and some mobile phones), while C#, in addition to that, runs on consoles.

There you are, ignorant Java fan.

Name: Anonymous 2011-12-13 20:14

>>29
You can download java 8 beta if you must use lambdas and closures in your engine code or you could just pick any of the other JVM langs and still get the portability and giant library.

Definitely you don't know Java.
You're right, I use C, but I'm still Java fanboi even though i don't use Java somehow...

If you're relying on GC, you're in trouble. your game will be indefinitely freezing whenever GC deigns to free resources.
Proper code design when using GC languages. Maybe you should stop allocating thousands of Objects that only live for a frame. Singleton design. Better yet hows about you actually profile your code and show that it's the GC that's causing your giant bottleneck


Extension methods allow you to write more human-understandable code. Compare "C#".RemoveAllLetters(); to MyStringExtensions.RemoveAllLetters("Java");
Subjective opinion

why i hate java article
good one, completely unbiased review. I also love his Why I hate C article that was posted on /prog/ awhile back. 10/10 source

Does any of these have data binding, triggers, templates, easy-as-hell customisation and skinning? No? Please, continue writing megabytes of boilerplate then.
God forbid you use an external library and write in helper functions to make data binding work.
God forbid you take the time to read the API to learn how to customize the windows.
God forbid they don't hold your hand with drag and drop menus (you could always get this feature with netbeans form maker)

Look, everything outside Java is considered unnecessary, but as soon as it appears in Java it becomes "a very good thing" automatically. Thus, javamonkeys are mentally limited people, they don't realise there exist better things.
good one pulling that out of your ass, what a clever comeback here's to me gloating about how lambdas are gonna be the new hip now that they are in java 8


VS debugger
If you need a debugger eclipse, netbeans, or even the supplied java debugger work just fine for all tasks, have you ever used them before? I doubt it because you're to much of a hater to even try something.

And yes i've used VS because many times for C++ projects and i can manage the same experience with just using emacs and gdb.

E.g.: A* is optimal recursion-based pathfinding algorithm. All RPGs, shooters, racing games use it. Recursion-based algorithms is widely used in gamedev.
Once again if it's tail recursion you can write it imperatively
by yourself



some mobile phones
because androids have no market share, right?

C# consoles
if by consoles you mean mircosoft products then sure.


There you are, ignorant Java fan.
Funny how you have trouble reading and still think i'm a java fan

https://www.java.com/en/about/

    1.1 billion desktops run Java
    930 million Java Runtime Environment downloads each year
    3 billion mobile phones run Java
    31 times more Java phones ship every year than Apple and Android combined
    100% of all Blu-ray players run Java
    1.4 billion Java Cards are manufactured each year
    Java powers set-top boxes, printers, Web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, and more.




Cry more Microsoft fanboi

Name: Anonymous 2011-12-13 20:21

If it ain't lisp, it's shit.

OP use *Lisp + OpenGL for your gaming needs.
http://common-lisp.net/project/cl-opengl/
Want SDL?
https://code.google.com/p/lispbuilder/wiki/LispbuilderSDL
glfw is another good one for opengl
http://lispgames.org/index.php/Cl-glfw

Want tools? engine? physics? good shit?:
http://lispgames.org/


inb4 lisp is not for games:
https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

it's perfect for games, need AI work? lisp is your man.

Name: Anonymous 2011-12-13 21:19

Take this shit to /v/, please. This is a touhou board.

Name: Anonymous 2011-12-13 21:39

>>27
It's not something you hear people talking about when they write their game
C++ has been the classical choice for games, which didn't have ISO-standard lambda support until August of this year. Java basically doesn't have it yet (though I guess the standard is at least complete), so you're not going to hear it from that sector. Nobody writes a game engine in $scripting_language_du_jour, and I can tell you haven't been looking at Lisp code. So who would even be in a position to mention it to you?

and it's not a necessity to have them in order to write a game/engine
It's not necessary to have anything in particular. All you need is a feature set that aggregates to TC and performs well enough.

There's nothing about games that weakens the utility of lambdas and I still don't understand how you came to the idea that they should go unused in a game engine. I can see a lot of places where lambdas come in handy, which is in fact a small part of why I chose a language that supports them.

Name: Anonymous 2011-12-13 21:49

C++ has been the classical choice for games
And games have been stale rehash garbage ever since.

Name: Anonymous 2011-12-13 22:04

>>33
C++ has been the classical choice for games
IHBT, C has been the classical choice. It too has lambda

Name: Anonymous 2011-12-13 22:06

boost::lambda

Name: Anonymous 2011-12-13 22:19

>>35
This was true before Quake. After Quake, C++ has been the industry standard.

Name: Anonymous 2011-12-13 22:23

>>37
FROM MY ANAYLIS OF ID SOFTWARE OPEN SOURCE CODE UP TO DOOM 3, I SEE NO LAMBDA USAGE

Name: 37 2011-12-13 22:37

>>38
C has been the classical choice

Name: Anonymous 2011-12-13 22:39

>>39
C has lambda

Name: Anonymous 2011-12-13 22:46

The point is that C++ is the classic industry standard, not C.

Name: Anonymous 2011-12-13 22:58

>>35,40
If you want to go back that far, sure. I was thinking more along the "AAA" games. No matter, nothing has really changed. Please, tell me when ISO standardized lambdas for C.

Name: Anonymous 2011-12-13 23:05

>>41
Only since games became shit. Big surprise.

Name: Anonymous 2011-12-13 23:05

>>42
lamabdas were never standardized in C, it's a GCC extension

ID Software was "AAA" for its day

Doom 3 is in C++,  but most likely pre-STANDARD lambda support.

I highly doubt any AAA company keeps to standards, considering most of them just stick to one platform (epeciaslly console exclusives) they probably write tons of hardware non-portable optimizations and never go by what standards say anyway

Name: Anonymous 2011-12-13 23:25

>>44
lamabdas were never standardized in C, it's a GCC extension
Exactly. If C ever gets lambdas it will be after AAA games have completely moved on. The last haven for C I'm aware of was the DS. Perhaps the 3DS SDK is still C, who knows. God knows what Sony is doing with their portables...

I highly doubt any AAA company keeps to standards, considering most of them just stick to one platform
But that platform isn't going to be GCC. I'm not sure GCC even had support for it back when people were writing AAA games in C.

Doom 3 is well before standard C++ lambda support, it's something like 6 years older.

Name: Anonymous 2011-12-14 0:19

Half capable bug ridden implementation of Lisp etc

Name: Anonymous 2011-12-14 1:09

>>46
Yeah. I was going to mention it but I don't think it's true any more. Still, the essence of it is true.

Don't change these.
Name: Email:
Entire Thread Thread List