Java-Gaming.org Hi !
Featured games (81)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (119)
games submitted by our members
Games in WIP (576)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  What dafuq?  (Read 3190 times)
0 Members and 1 Guest are viewing this topic.
Offline matheus23

JGO Kernel


Medals: 109
Projects: 3


You think about my Avatar right now!


« Posted 2012-08-30 08:02:42 »



Pretty fun I guess ...
But what to expect? Thing's didn't turn out fun with the jdt weaving stuff (The problem in the stacktraces often is about JDT weaving plugin not being able to be loaded) and scala (It's the scala-juno-nightly).

But I don't even want to fix this Wink It's just so fun to see...

seems like I'll go to another editor now Smiley

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Offline gimbal

JGO Knight


Medals: 25



« Reply #1 - Posted 2012-08-30 08:14:38 »

Yeah, oops. Software development is hard, that is also true for people building the IDE Smiley If only everyone would have exactly the same computer, lets all go back to using Commodore Amiga systems. That stuff just worked.
Offline matheus23

JGO Kernel


Medals: 109
Projects: 3


You think about my Avatar right now!


« Reply #2 - Posted 2012-08-30 08:18:08 »

Yep I completly agree to the first statement Smiley

I'm too young for the second one Cheesy (But once (after having listened to a podcast where they talked about the C64) I thought about buying a Commodore 64 on ebay....)

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gimbal

JGO Knight


Medals: 25



« Reply #3 - Posted 2012-08-30 11:45:28 »

Imagine this: I got my Amiga 500 in 1990 I think. Underpowered machine, 8mhz processor and 1mb of internal memory. No harddrive. Developers really had to do some amazing trickery with the flexible hardware to get games to run at a steady framerate on it.

5 years later I could still buy plenty of new games for it, even if there were far newer and faster models available. The machine hadn't change one single bit in those 5 years.


I saw a similar development cycle on the PS2. Underpowered machine but 7-8 years later you could still play the latest games on it; the devs really went far to pull the best out of that machine which I understand was already difficult to develop for to begin with.

Sorry, OT. Let the rant about the software continue Smiley
Offline Ultroman

JGO Knight


Medals: 25
Projects: 1


Snappin' at snizzes since '83


« Reply #4 - Posted 2012-08-30 13:29:03 »

There are perfectly good Windows emulators available for NES and SNES. Even Gamecube can haz Windows ME ^^

- Jonas
Offline sproingie

JGO Kernel


Medals: 202



« Reply #5 - Posted 2012-08-30 15:21:03 »

Reason #35276 why I stopped using eclipse.
Offline actual

JGO Coder


Medals: 23



« Reply #6 - Posted 2012-08-30 15:29:03 »

Mattheus, are you doing game programming Scala or other things? I keep flipping back and forth between doing things in Scala and Java (and wasting a lot of time in the process). If you've been using Scala for game dev, how have you found it?
Offline DrZoidberg

Senior Duke


Medals: 15



« Reply #7 - Posted 2012-08-30 16:13:44 »

Many eclipse plugins are very unstable. Or maybe it's eclipse itself that's unstable. I tried to install the playn plugin several times and always eneded up having to reinstall eclipse. Anyway, Scala is certainly a nicer language than Java no matter what kind of program you are writing.
Offline matheus23

JGO Kernel


Medals: 109
Projects: 3


You think about my Avatar right now!


« Reply #8 - Posted 2012-08-30 19:38:36 »

Reason #35276 why I stopped using eclipse.

That totally has nothing to do with eclipse. It's the fault of the plugins writers.

Mattheus, are you doing game programming Scala or other things? I keep flipping back and forth between doing things in Scala and Java (and wasting a lot of time in the process). If you've been using Scala for game dev, how have you found it?

Hm. Thing is: I am still learning scala.

I am a very special programming person when it comes to the languages I like and know.
Everything started with my brother getting intrested in programming. He started with java. About 4 years later I started programming too.
And I also started with Java too.
The special thing now is: My brother hates java at this point. He is now a non-imperative functional programmer (scheme (with guile), you know, this language with all these ()()()()()).
My brother showed me scheme. I really have to say: It's a simple language and I really have to say that I like it. It doesn't even seem to be very slow...
But I kept with java. (I'm still loving OOP (scheme can give you OOP with CLOS... but I still don't like it Smiley (because of non-variable access (which would be instanceOfObject.methodFromThatInstance(), wheras in CLOS it would be a function call to "methodFromThatInstance" with the argument "instanceOfObject"...)))
So now I found Scala. I'm still learning as I said. But there are very much things I like (scala seems to be a functional-extension and improved version to java), for example giving functions as parameters. But I still stay with writing things the "imerative" way. So I don't recreate a vector each time I add values to my given vector (I'm speaking of mathematical vectors (think of Vector2f...)) and I still use classes much more than anything else.

The bad thing with scala is: It does not have one thing from all the functional programming languages:
Take as an example (a OOP AND functional language) javascript. I learned it within a day. Or about that time (okey. I did not learn scala that itensive, but I'm at scala since already more then a week).
Next example comes from the lisp-corner: scheme. I didn't learn it within a day. But scheme is simple from the syntax view: a "(" and a closing ")" will make the computer compute what is inside. Then: the first word after the "(" is something describing what the computer has to do (the funciton name) and the rest which come before the "(" is closed by a ")" are the arguments. For example:
(define x 100).
define = define something
define takes a name as the first argument.
and what to assign the value to as the second argument.
Further:
(define x (* 500 500))
(I wont explain this one...)

And in scala you have : Unit = {} and => and <- and ## and () => Unit and all this stuff :/ (I didn't even get my old beloved for loops ?!?! Sad and it really seems to be hard if you can't write a for loop without googling how to do that...)
So scala is really a hard language to learn, but I'm very sure, that scala is a very good language. It combines soooo much features and that from the beginning on. What the people behind Java are doing now, is they are putting everything which is missing in Java into it. (lambdas, ...)

So: IMO Scala is awesome Smiley (but hard to learn)

Anyway, Scala is certainly a nicer language than Java no matter what kind of program you are writing.

Hehe... have fun with this statement in a java forum Smiley

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Offline sproingie

JGO Kernel


Medals: 202



« Reply #9 - Posted 2012-08-30 20:14:48 »

guile is a curious choice of scheme to start out with.  If you really want a solid scheme dialect with good performance, I'd go with Racket (formerly known as PLT Scheme).

As for scala, I really recommend the book Programming in Scala.  Scala's very much a "multiparadigm" language, so it is always going to look messier than any pure functional language like Haskell.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline matheus23

JGO Kernel


Medals: 109
Projects: 3


You think about my Avatar right now!


« Reply #10 - Posted 2012-08-30 20:19:07 »

guile is a curious choice of scheme to start out with.  If you really want a solid scheme dialect with good performance, I'd go with Racket (formerly known as PLT Scheme).
I know racket.. He does know racket...
He started progamming scheme in racket, but has now moved on to guile. Maybe because of the community? maybe because of .... I dunno... (maybe it was the awesome C/C++ wrapper generater lib)

As for scala, I really recommend the book Programming in Scala.  Scala's very much a "multiparadigm" language, so it is always going to look messier than any pure functional language like Haskell.
I actually don't want to buy a book... but why not? ...

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Offline DrZoidberg

Senior Duke


Medals: 15



« Reply #11 - Posted 2012-08-30 20:28:04 »

But I still stay with writing things the "imerative" way. So I don't recreate a vector each time I add values to my given vector (I'm speaking of mathematical vectors (think of Vector2f...)) and I still use classes much more than anything else.
In my opinion mathematical entities (e.g. BigInteger, Vectors, Matrices, etc.) should always be immutable. It makes the code cleaner and less error prone and on the oracle JVM optimization is so good that there is no performance difference. Btw in case you want to say that primitive variables are mutable and you can do calculations with them just fine you should realize that primitive variables actually behave exactly like immutable objects, not like mutable objects, even though that may sound strange at first. e.g. A mutable int behaves like an immutable BigInteger object with it's reference stored in a mutable variable except for the lower precision of course.
Offline matheus23

JGO Kernel


Medals: 109
Projects: 3


You think about my Avatar right now!


« Reply #12 - Posted 2012-08-30 20:42:26 »

But I still stay with writing things the "imerative" way. So I don't recreate a vector each time I add values to my given vector (I'm speaking of mathematical vectors (think of Vector2f...)) and I still use classes much more than anything else.
In my opinion mathematical entities (e.g. BigInteger, Vectors, Matrices, etc.) should always be immutable. It makes the code cleaner and less error prone and on the oracle JVM optimization is so good that there is no performance difference. Btw in case you want to say that primitive variables are mutable and you can do calculations with them just fine you should realize that primitive variables actually behave exactly like immutable objects, not like mutable objects, even though that may sound strange at first. e.g. A mutable int behaves like an immutable BigInteger object with it's reference stored in a mutable variable except for the lower precision of course.
So each time I'm adding two int's I get a new Int(1 + 2) ?

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Offline DrZoidberg

Senior Duke


Medals: 15



« Reply #13 - Posted 2012-08-30 21:17:00 »

So each time I'm adding two int's I get a new Int(1 + 2) ?

Yes.
1  
2  
3  
int a = 3;
int b = 4;
int c = a+b;


Using BigInteger
1  
2  
3  
BigInteger a = new BigInteger("3");
BigInteger b = new BigInteger("4");
BigInteger c = a.add(b);


Both pieces of code behave the same way.
If BigInteger was mutable you would get a very different behaviour.

1  
2  
3  
MutableBigInteger a = new MutableBigInteger ("3");
MutableBigInteger b = new MutableBigInteger ("4");
a.add(b);

Now a has changed it's value to 7. Something that doesn't happen with immutable BigIntegers and it also doesn't happen with ints.

1  
2  
3  
int a = 3;
int b = 4;
a + b;

Neither a nor b has changed it's value here.
Offline Roquen
« Reply #14 - Posted 2012-08-31 09:29:31 »

I'd be nice if some scala head would write up an overview (hint hint).

A couple of things I've been curious about are type refinement and AOT transformation rules, so can you (for instance) do something like these M-expression pseudo-code:
1  
2  
3  
4  
  Cross[Vect[B_,A_]] -> -Cross[Vect[A,B]]
  Cross[Vect[A_,A_]] -> 0
  Cross[A_, B_]^2 -> A.A B.B - (A.B)^2
  Dot[(N_?scalar) A_, B_] -> N Dot[A, B]
Offline actual

JGO Coder


Medals: 23



« Reply #15 - Posted 2012-08-31 13:52:44 »

It don't believe you can do that with the type system but you may be able to do something like that with the new Scala macro system (I haven't played with it). I think you could achieve something similar with case classes and guards but I'm not sure off the top of my head how to do it.
Offline actual

JGO Coder


Medals: 23



« Reply #16 - Posted 2012-08-31 14:10:17 »

matheus23, I've used Scala off and on for a year or so, although I don't take full advantage of some of the more powerful features. For game dev, I was a little concerned about performance seeing as most of its higher level features are implemented by creating additional objects under the hood (although it's probably not something I should be worrying about until it actually becomes a problem).
Offline matheus23

JGO Kernel


Medals: 109
Projects: 3


You think about my Avatar right now!


« Reply #17 - Posted 2012-08-31 14:26:46 »

matheus23, I've used Scala off and on for a year or so, although I don't take full advantage of some of the more powerful features. For game dev, I was a little concerned about performance seeing as most of its higher level features are implemented by creating additional objects under the hood (although it's probably not something I should be worrying about until it actually becomes a problem).
I thought about that too. There are languages like Scheme, where they have Garbage Collectors optimized for very much garbage, but little elements of garbage. (so you have like 4 bytes each garbage "package").
I'm pretty sure it's not very good (performance wise) to put a functional language on top of the JVM. I really like the Idea at first, but I really think this would need some optimization in the garbage collector.

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Pages: [1]
  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.

Longarmx (41 views)
2014-10-17 03:59:02

Norakomi (33 views)
2014-10-16 15:22:06

Norakomi (26 views)
2014-10-16 15:20:20

lcass (30 views)
2014-10-15 16:18:58

TehJavaDev (60 views)
2014-10-14 00:39:48

TehJavaDev (60 views)
2014-10-14 00:35:47

TehJavaDev (50 views)
2014-10-14 00:32:37

BurntPizza (66 views)
2014-10-11 23:24:42

BurntPizza (38 views)
2014-10-11 23:10:45

BurntPizza (80 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

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
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!