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  Game Development / Artificial Intelligence / Re: Poker hand evaluation on: 2007-08-31 11:15:49
http://spaz.ca/poker/ is a nice link i recon, but you have to install a postscript reader to read the thesis.

I've recently started on something similar, and what i did on hand evaluation was to create an array of the cards in the hand combined with the cards on the board. You can than easily find out what kind of best possible hand you've got. Basicly the checks are;

Pair - if two ranks match
Two pair - if two times two ranks match
Three of a kind - if you have three of the same rank
Straight - if a minimum of 5 ranks are concecutive
Flush - if the suits are the same
Full House - if you have a Pair and a Three of a Kind
Four of a kind - if you have four of the same rank
Straight Flush - has to be a straight and a flush
Royal Flush - same as straight, but last card in the straight has to be an ace

To make it easier you can sort the array by rank; that way you can determine if you got the straight or not quite fast. The only thing you have to take into account is that the Ace can be low or high in a straight: A-2-3-4-5 aswel as T-J-Q-K-A.
2  Discussions / Miscellaneous Topics / Re: I got the job!! on: 2007-08-15 09:23:30
congrats m8, welcome to the club Wink
3  Discussions / Miscellaneous Topics / Re: Anyone besides me really dislike Eclipse? on: 2007-08-02 09:59:30
Like I said, try IntelliJ and love it Wink
4  Discussions / Miscellaneous Topics / Re: Anyone besides me really dislike Eclipse? on: 2007-08-01 11:41:04
Well, "it is for newbies?!", what i think, is a bit different : newbies really requiere code completion, auto-correction, as if they have someone near to them to help...,  but if you are not a newbie you will dont need those things....at least it will only help in few case.

auto-error correction... woaou, great, may be eclipse will soon propose auto programming making  Smiley ,  the quality of software will then became as great as those done by IBM & MS, with about 50% of code auto-generated and under control.

you may try Visual basic... you will love it.  Wink

I have not the commercial version of JCreator, I will buy it, but what i know is code completion works as in MS visual studio for the commercial version.

I think it is not good when a software try to do all that it is possible to do.


but ok, finally, i will give eclipse another try...
hmm, i really have to disagree with you with your statement that things like codecompletion and stuff are for newbies. It isnt in there for nothing, it allows you to work faster and more efficient.
5  Discussions / General Discussions / Re: What's Killing Game Development? on: 2007-08-01 10:20:34
Some things have few rules, I mean what makes a good battle ground in command and conquer, what makes a good balance of levels under different difficulties in a game like Goldeneye. One more thing about a game is that the levels are not just stand alone components, Goldeneye worked because it had the perfect first level, it had a perfect follow up to it, and right through the different types of levels followed on from each other to give a good variation of playing styles. Time splitters and Perfect Dark had  a similar formula to that, but the formula only works with a full understanding of what it feels like to play.

There is a reason why games are play tested, it's because the work is not finished straight after the design phase.

But again read up on AI and genetic algorithms, it might give you more insight into the complexity of "good".
Well, its a general rule in game design that your first level has to be completely overwhelming yet not difficult, so its not a complete surprise. Looking at games like God of War which excess this in full, never played the rest of the game but playing the first level just so asks for more. Ofcourse you cant apply procedural level generators to that kind of thing, at least not to full extend, but im sure you can find some application for procedural content creation so that it takes time of your hands.

I guess there are three main things you have to concider when using procedural content; first, it has to lower development time and cost (thats why we are discussing it in the first place Wink), second you have to look where you can apply it, how and in what way, and third you have to be aware that its not simple and easy to just come up with some kind of algorithm that just makes it all happen.
6  Discussions / Miscellaneous Topics / Re: Anyone besides me really dislike Eclipse? on: 2007-07-30 16:37:19
if you program in unix environment, you could try IntelliJ for free. If you use windows, then you have to pay for it Tongue, but its better than eclipse.

Updating eclipse isnt that hard tho, you could use the internal upgrade tool (Help --> Software Updates --> Find and Install)
7  Discussions / General Discussions / Re: What's Killing Game Development? on: 2007-07-30 12:33:00
Static models aren't a problem, the money probably goes into animation, shading, and texturing everything with bump maps and so on.
yes but in order to make something like a normal map you need a static model which contains millions of polygons and you have to apply all of the detail yourself. Ofcourse there are tools which allow you to do that kind of thing in a humane timeframe, like zBrush or Mudbox but i recon it still takes like up to 2 months to get it all right with textures and everything, which is alot Smiley And then some guy has to rig the model and get the animations in.

Or the traditional route - spending less. The games industry is currently trying to do this, and is - relatively - not that interested in procedural graphics (probably because making graphics is only a fraction of the budget?). Games that cost less are much more profitable and are easier to update / improve / add to - which helps them also have bigger revenue.

Have you played Diablo? Have you played TitanQuest? Diablo was first, by almost 10 years, and was procedural. TQ was a hit game of last year, and was entirely hand-made.

The main problem is that procedural maps are boring, boring, boring.
Have you ever wondered why 70 to 80% of the people working on a regular AAA title are graphics artists? Smiley It seems quite costly to me, but who knows Smiley im not working at a major studio (yet Roll Eyes)
8  Game Development / Newbie & Debugging Questions / Re: Code Error on: 2007-07-30 12:24:33
to add; technically a class with abstract methods is an abstract class Wink and you cant instantiate something that doesnt know how to behave Smiley
9  Discussions / General Discussions / Re: What's Killing Game Development? on: 2007-07-30 10:54:59
The only way to save money in game development is better technologies and algorithmas. Basicly, procedural graphics.

Imagine only defining the properties of character models, how tall it is, hair color, clothing etc. and then some smart algorithm will generate a perfect model for you.  Same applies for textures.

One interesting thing I learned about in school in a course called Virtual Enviroments. One of the topics was Grand Theft Auto, and how large the game world is. There are tons of buildings in that game, but however, almost all of the buildings are just empty boxes with textures. I can imagine it being impossible to create the interiors of every single building in GTA, it would take many many years to do everything, since all buildings are unique.
Today exists an algorithm that lets you generate whole cities, buildings, the outdoors enviroment, and the indoors enviroment. Corridors, multiple levels, stairways, elevators, rooms, unique items in rooms, textures etc. You only provide a few properties to the algorithm about the definition of that building. And this can be generated at runtime.

Already there are games that have used similar technologies, such as Dungeon Siege. Their game world is "infinite". Google it.

I think it will be logical for game development to go into that direction.
Procedural Graphics are quite the grail, but only if you write an algorithm that provides enough variety so that its not really noticeable that its in fact procedural. For cities and environments its absolutely the way to go.
The hard part for modelling however (especially characters) is that you need a million+ polygon model to create normal maps and other fancy things. The amount of detail applied to nowadays models is truely inmense. To apply procedural graphics to such a process is a really hard thing to do properly if you ask me Smiley

Thats not all tho, nowadays the amount of animation needed per character is quite alot aswell, concidering that you can animate parts of the body apart of eachother. Combining those luckily is part of animation programming, but its tricky challenging to write a proper animation system that uses multiple animation channels and that can properly blend animations Smiley.

Reducing the scope is also an option, but it puts the weight on the gamedesigner to come up with something awesome and compact at the same time Smiley
10  Discussions / General Discussions / Re: What's Killing Game Development? on: 2007-07-23 17:44:22
The major problem with nowadays graphics is that the industry still uses the same methodoligy to create the graphics content as say 10 years ago. Back then, for example a character model would take like a week or 2, nowadays its more like 2 to 3 months.
11  Game Development / Newbie & Debugging Questions / Re: Java Bad? on: 2007-07-23 17:35:33
Yes, Flash is faster than Java since it uses DirectX / Direct3D for graphics while Java uses software rendering by default.  Of course Java does have openGL in the form of JOGL/LWJGL and also Java2D's openGL pipeline but OGL just doesn't work on many people's computers  Sad.

In terms of processing (non-graphics) things Java is faster since it is dynamically compiled to native code at runtime by the hotspot VM while Flash is interpretted

BUT, Java is about to get a face-lift because the Java2D team at Sun are working on a proper Direct3D pipeline for Java2D, which hopefully will not have the stability issues of OGL.  Also, our hero CaptainJester is endeavoring to build a D3D binding in LWJGL.

see http://weblogs.java.net/blog/chet/archive/2007/05/consumer_jre_le.html (read the part under the Windows Graphics heading)
http://www.java-gaming.org/forums/index.php?topic=16985.msg133298#msg133298 (LWJGL & direct3d)

Keith
You're totally off on your statement that flash uses directx. It doesnt, it just uses software rendering, because Flash is somewhat like Java multiplatform. It runs on 99% of all computers, you certainly cant achieve such thing when you integrate directX for rendering. I havent seen any state of the art Flash 3D Games either Wink The best there is, is papervision 3D, which is able to render about 1000 to 2000 poly max on screen, and uses software rendering aswell.
12  Game Development / Newbie & Debugging Questions / Re: Java Bad? on: 2007-07-20 14:42:31
Flash just got lucky that's all, unless they were total geniuses and planned their success. Flash games were all about scripting, like JavaScript. And the power of a script is that it tends to be easier for a beginner, quite like when creating forms in Access and Excel.

I've never sat down and thought that flash would be better to use!
well i have to say that you're comparison is not entirely right. Real Flash games are programmed mostly the same way as JAVA games, except actionscript lacks some things like abstract classes and method and constructor overloading. Actionscript really has come a long way lately with the new actionscript 3.0. That have said, JAVA is way better than Flash when it comes to performance and power of the language and application based like kevin said.
13  Discussions / General Discussions / Re: Anticipated games from E3 ( NiGHTS! ) on: 2007-07-16 17:09:53
Most anticipated for me are Assassins Creed and Wii Fit Smiley
14  Discussions / General Discussions / Re: Software Architecture for Computer Games on: 2007-07-10 11:11:44
Well, the way i see it, is that the process of game development heavily relies on agile development, but in an somewhat informal and pragmatic way Smiley I cant suggest real books on the specific subject tho, so if anyone has a recommendation i would like to hear it too, because its an interesting subject Smiley Maybe this link is worthwhile: http://www.agilegamedevelopment.com
15  Game Development / Newbie & Debugging Questions / Re: Trade off question on: 2007-06-14 11:23:03
so how do you profile your code Smiley
16  Game Development / Newbie & Debugging Questions / Re: simple sprite animation loop on: 2007-06-01 10:12:44
what i would do, is to put the sprites in an array, and each frame increment the index of the array, because the game basicly and normally is one big while loop anyway where you handle input, logic and rendering each iteration of the main loop. When the index is equal to the size of the array, you can then reset the index to keep it looping.
17  Game Development / Newbie & Debugging Questions / Re: Problem: movement of Asteroids clone Ship on: 2007-05-30 15:49:29
I suppose you're on the good way, but you need to know a thing or 2 about a game's technical architechture. The way you're approaching how to make a game is a common beginners mistake so to speak, i started exactly the same way Wink First, just don't make it difficult for yourself by using threads, and second, you dont want to use Timer stuff.

The point with using repaint(), is that its not an order to java to repaint, but actually a request, which java will answer to when the jvm has the time to comply. Therefor you will have to take these matters into your own hand. Where you want to go, is to a general so called main loop where you check and process your input, and render your graphics every pass, which is normally called a frame. A basic mainloop looks a bit like this;
1  
2  
3  
4  
5  
6  
7  
public void mainLoop() {
    while(running) {
         handleInput();
         doMovement();
         drawFrame();
    }
}


You would also go for accelerated graphics. This allows to prepare the next batch of graphics while the current is being displayed basicly, and it wil help on creating more fluency in movement.

What youd best go from here, is prolly to read Kevin Glass his Space Invaders Tutorial, where every aspect is explained a bit better Wink You could also read the book "Killer Game Programming In Java".
18  Game Development / Artificial Intelligence / Re: Pathfinding in buildings on: 2007-05-23 09:53:26
I guess the thing you would apply in interiors like buildings is called a navigation mesh. An interesting link I stumbled upon is this one: http://www.ai-blog.net/archives/000091.html, hope its helpfull Smiley
19  Game Development / Newbie & Debugging Questions / Re: Yeah, i'm totally new on: 2007-04-25 14:50:46
sounds like you dont even know your stuff about JAVA.
20  Game Development / Newbie & Debugging Questions / Re: Images not loading... on: 2007-04-20 10:50:37
you will have to add the images to the Jar aswell, but i guess you did know that Smiley
21  Discussions / General Discussions / Re: biggest development team. on: 2007-04-10 11:19:53
it sounds idealistic, but its not very realistic tbh Smiley

statisticly speaking there should be 10 pro's in there should there not?

yes, but now you have the tough job to filter them out of the heap, so you're going to alot more trouble to get what you originally would get when you hired those 10 ppl up front Smiley
22  Game Development / Artificial Intelligence / Re: How fast should A* run? on: 2007-04-04 16:50:12
Yes, I managed to speed it up a lot Smiley I'm happy with the speed now.

I'm wondering about heuristics, I currently have 5 heuristics:

- Manhattan
- Euclidean
- Diagonal
- Diagonal with tie-breaker
- Diagonal with tie-breaker cross-product

But I'm interested in other heuristics, but they are hard to find.
I guess heuristics are largely dependent on what kind of search space you have. I can imagine that some heuristics fit squarebased searchspaces more, while others fit for example hexagonal searchspaces more.
23  Discussions / General Discussions / Re: Game reviews on: 2007-02-01 17:06:41
most good games probably sell themselfs right when they are announced i guess Smiley Take for example, Supreme Commander. It was announced like a year ago and everyone knew right there that its going to be a great game. Usually when you watch the first gameplay vids and screens, you get a pretty good impression of what the game is about. I dont care about a single review too much, because its allways just an opinion. Anyway, a good site for resources on all kinds of games would probably be IGN.com.
24  Game Development / Newbie & Debugging Questions / Re: Can anyone start me off? on: 2007-02-01 16:56:38
well, you could ofcourse check kevin's tutorials on Space Invaders. They give you a nice insight and should get you started like they got me going Wink. The link is www.cokeandcode.com/tutorials Smiley
25  Game Development / Artificial Intelligence / Re: Pathfinding algorithms? on: 2007-02-01 12:01:09
hillclimbing algorithm is another. Note that there are some nice A* variations aswell, one of which is space-time A*, which adds a 3rd dimension to your 2d searchgrid, which helps you solve paths when you are dealing with moving obstacles (it is described in the AI Game Programming Wisdom 3 book Wink)
26  Game Development / Newbie & Debugging Questions / Re: Collision Strategies on: 2007-01-26 12:26:41
Allright well, since the forums were down for a couple a days i've worked it out by myself.

The first issue i solved, indeed by making a third kind of object which i call a CollectableObject. I guess it was the obvious thing to do anyway because pills and superpills etc all have a couple of things in common anyway; they cant move, and they add score.
The second issue i solved aswell, by making pacman a visitor and by making Ghost and CollectableObject visitable. I've got some examplecode here;
The Collectable class:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
public class Collectable extends Entity implements Visitable {

   private int score;
   
   public Collectable(String ref, double x, double y, int size, int score) {
      super(ref,x,y,size);
      this.score = score;
   }
   
   public int getScore() {
      return score;
   }

   public void accept(Visitor visitor) {
      visitor.visit(this);
   }
}


Pacman:
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  
26  
27  
28  
29  
public class Pacman extends Movable implements Visitor {

   private PacmanGame game;

   public Pacman(String ref, PacmanGame game, double x, double y,
                  int size, double moveSpeed) {
      super(ref, x, y, size);
      this.game = game;
      this.moveSpeed = moveSpeed;
   }
   
   public void move() {
           ....
        }

   public String toString() {
      return "Pacman";
   }

   public void visit(Ghost ghost) {
      // TODO check ghost status and if ghost is eatable, send ghost back to start, else, pacman dies
     game.notifyDeath();
   }

   public void visit(Collectable collectable) {
      game.addScore(collectable.getScore());
      game.removeCollectable(collectable);
   }
}


And the collision detection code in the mainloop:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
   private void checkForCollisions() {
      // First we check if pacman collides with ghosty
     for(int i = 0; i < movablesList.size(); i++) {
         // Pacman shouldnt meet himself ofcourse
        if(movablesList.get(i).equals(pacman)) {
            continue;
         }
         // We check if the ghost is in the neighbourhood
        if(movablesList.get(i).collidesWith(pacman)) {
            // if so, we let ghosty accept pacman as his visitor and battle it out
           ((Ghost)movablesList.get(i)).accept(pacman);
         }
      }
     
      // Next, pacman is hungry
     for(int i = 0; i < collectablesList.size(); i++) {
         if(collectablesList.get(i).collidesWith(pacman)) {
            // if pacman stumbles upon something eatable, the eatable must accept its doom
           collectablesList.get(i).accept(pacman);
         }
      }
   }


As you probably notice, theres one minor thing in there, i have to check the movablesList to see if im not dealing with pacman when checking for collisions. This could ofcourse be solved by moving pacman out of the movablesList, but that brings a lot of extra stuff which i dont want.
27  Java Game APIs & Engines / Java 2D / Re: Active FPS counter on: 2007-01-26 12:06:53
i think the most easy way is to time how long a frame lasted, and then translate it into fps. For example, if you have a frame which lasted 10ms, thats would be 100 frames per second.  Wink
28  Discussions / Miscellaneous Topics / Re: Java or C++ for an industry univeristy game project? on: 2007-01-23 16:31:02
well ofcourse, and i admit immidiately that the gap between C++ and JAVA is really closing fast nowadays, but the only thing is that most commercial and opensource (graphics) engines are written in C++ still and have been under development longer than the java engines i guess Smiley
29  Game Development / Newbie & Debugging Questions / Re: Collision Strategies on: 2007-01-22 16:30:08
Sorry i kinda left this topic to it for a while, but i recently found the time to pick it up again a bit and ive started working on implementing the Visitor pattern as a way of handling collisions. As Orangy Tang stated earlier, i was quite close allready, tho i didnt really saw it back then Smiley Anyway, ive been thinking about how to implement it properly, and ive stumbled upon a few things that i wanna evaluate before im actually gonna go for the finishline.

First of all, ive looked into what Kevin said about having a tilemap with tiles instead of having all entities. I made the difference between entities and tiles, as in pacman and ghosts being entities and walls and pills being tiles. My first stumble is where i have a pill being a tile. Its basicly the definition of things thats keeping me busy; A tile to me is something that is allways there, an entity is something that generally moves around. (You could say "hey wheres the point in that, its just a minor detail, dont worry about it too much" but to me its really the essence of getting a good model so that if i make a next game, i can use the experience to tackle more complex object related issues). So my first question here is, is it usefull to see pils as a third kind of object (along with cherries and big pills etc)?

Next ive been looking into the visitor pattern (http://en.wikipedia.org/wiki/Visitor_pattern) and how to implement it. I noticed that i actually was really close on this allready. I've got different objects, and lets say i make a third kind of object, id make them all inherit the interface visitable because thats their main purpose. Next, Id make pacman inherit Visitor, and to this extend i can see it all working out just fine. Now ofcourse pacman isnt pacman if there werent any ghosts. If id look at the definitions again, this time of the pattern itself, the ghost should be visitable, because if pacman picks up a big pill he's able to eat ghosts. This is where i stumble upon next. Shouldnt pacman be visitable aswell, and let the ghost be a visitor too? This because if a ghost touches pacman, pacman dies. This would imply that i need two different visitor interfaces; one for pacman and one for the ghost. My question to this is, am i overdoing things here ? Smiley
30  Discussions / Miscellaneous Topics / Re: Java or C++ for an industry univeristy game project? on: 2007-01-22 15:53:00
well in my opinion it also depends on what kind of game you want to make. If you want to make a fastpaced first person shooter where FPS and graphics are of high importance, you'd best go with C++ and some middleware graphicsengine. If fps and graphics and all that isnt that important, and what you mainly want do is find out how programming games in general is working and just to get the experience of creating games, then i'd go for Java definately.
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 (11 views)
2014-04-15 18:08:23

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

UprightPath (23 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 (107 views)
2014-04-08 23:06:04

tom_mai78101 (207 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!