Jump to content

  • Log In with Google      Sign In   
  • Create Account

a few questions


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
18 replies to this topic

#1 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 18 December 2012 - 04:54 PM

hi there,

i have just finished my 3rd semester in college (3 modules of java so far, covered nearly all the language features excepted threads so far). i want to start on some small games in the next few days. i'll start with tic tac toe and build my way up to games like pac man etc then eventually move on to small tile based games to get me started.

now my questions (and i know i am a long way away from getting a game like this done):

i am dying to make a replica of a 2d tile based mmorpg game i used to play (links of the game at the end) so i was wondering what goes into making a game like that? coding up the client/server/map editor etc

how long away am i to even think about starting on a game like that? a 2d tile based mmorpg with thousands of server map tiles with servers that can support 2/3/4 hundred people. since i am only starting games like tic tac toe now i would eventually have to start looking into small tile based games after to start on

would it be possible to code the client/server and everything else in java? or would i need more languages to get it finished (i know of a guy who himself did what i want to do and made a replica of this game by himself, although he coded his game in c++. there is also a link to his replica game at the end), because i see a lot more game libraries for c++


btw i am only talking about programming here, when i get enough experience to be able to make a game like that i would be looking for a pixel artist to do all the pixel art.


cheers guys,
D


a replica of the game:


game i want to make replica off:


also if anyone has any material to help me on my way i would be grateful :) (videos, tutorials on starting java game development like making games like tic tac toe and some small tile based games)

Edited by Darego, 18 December 2012 - 05:04 PM.


Sponsor:

#2 Álvaro   Crossbones+   -  Reputation: 13291

Like
2Likes
Like

Posted 18 December 2012 - 05:36 PM

I answer only a couple of things. Java is good enough for both the client and the server, but I would not even think of a multi-player game for a while, let alone a massively-so one. You are standing too far away to make a plan of attack. So start with tic-tac-toe, then a couple of games like pong, tetris, snake, pac-man, space invaders...

You can then try to implement something closer to the MMORPG that you are talking about, but I would make it into a single-player campaign. You will basically have to implement most of the client to get that to work. Then think of what the protocol between the client and the server should look like, then program the server and add network code to your client.

There's no need to rush into things. Learn to make simple games, learn some network programming and then your MMORPG will be approachable.

#3 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 18 December 2012 - 05:40 PM

thanks buddy :) yeah i know not to rush into things. starting off with them small games first! would you know of any tutorials to start making these type of games in java? snake, tetric, pac man etc? or any material that would help

thanks again for your reply

Edited by Darego, 18 December 2012 - 05:42 PM.


#4 glf1311   Members   -  Reputation: 412

Like
1Likes
Like

Posted 18 December 2012 - 05:48 PM

hi,
you could try out this site

regards GLF

#5 J. Evola's Apprentice   Members   -  Reputation: 307

Like
-1Likes
Like

Posted 18 December 2012 - 11:57 PM

Darego: you just CAN'T make a MMOsomething. Writing coherent, stable, secure and efficient server for 1000+ players is very hard and expensive.

#6 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 19 December 2012 - 05:35 AM

everything is possible :) if someone else can do what i want to do then i don't see why i can't. he got his game up and running in a few months and is only a year ahead of me in college

cheers for the reply

#7 Celiasson   Members   -  Reputation: 502

Like
1Likes
Like

Posted 19 December 2012 - 07:14 AM

I'm not going to answer any questions you had, since I don't know the possibilities of java that well and everything else I had to say was already said in previous posts.

What I am going to say though is that I think you should NOT look at any tutorials when making those simpler games. What I experience, as a 3 ½ year into college of C++, is a problem when I code projects is that I have a hard time breaking up the system. Making those smaller games from scratch by yourself will expand your mind when it comes to designing(which is really damn important).

These smaller games are a great practice of trying to split huge problems down into smaller ones and to start learning simple design. I would start by identifying everything the game has to offer. Starting with the features, such as eating pills, controlling a player, being attacked by enemies, running around in a maze etc. Then I would try to identify what I need to make this happen, for instance: Rendering in 2D, input with keyboard, collision detection to name a few.

Then I would try to think of how these systems should be connected. Every problem I bump into I will write down, think about for a while and If I can't see the solution myself I would go online and see where I can get some pointers.

To reach your goal of that MMORPG game, you really need to design it well. You won't get very far by just coding, so don't underestimate the design part.

Hope I was of any use ^^ make sure to show us your progress! :D

#8 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 19 December 2012 - 07:37 AM

cheers, thanks for the reply Posted Image

#9 Poigahn   Crossbones+   -  Reputation: 519

Like
1Likes
Like

Posted 19 December 2012 - 07:57 AM

Darego - Alvaro has good advice on a path to follow. Most games you design need to start out with Paper and Pencil. You first need to understand the process of the game. How it begin - how it continues and how it ends. Your coding is a step by step instruction process that tells the computer how to respond to user input.
For a game like Tetris or tic-tac-toe start with paper & Pencil. Look at every aspect in your decesion process in playing those games then translate that to code.
For your Massive game take a good look at your own postings. Graphics - Start making those now as you think about them.
I myself am currently working on a single player stradegy game. Coding started by entering the data for each game piece, making maps, and then making the game loop.
Deciding who moves first, where the game units are on the map, Making attack moves and so on.
You will find that a game like Tic-Tac-Toe will be very simular and will go along way towards your ultimate goal. Good luck. and do not be affraid of picking everyone's brain

Your Brain contains the Best Program Ever Written : Manage Your Data Wisely !!


#10 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 21 December 2012 - 05:22 PM

double post

Edited by Darego, 22 December 2012 - 06:22 PM.


#11 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 22 December 2012 - 03:46 PM

i just found a tutorial on youtube and it looks exactly like what i need. it looks like a title based rpg tutorial..

http://www.youtube.com/watch?feature=player_embedded&v=aWVHcyPFlko#t=770s

so should i start on this rpg game tutorial? or go through a learning curve like this:

  • "Guess the number" / Hangman (basic interface, select data from a database)
  • Tic-Tac-Toe / Rock-Paper-Scissors (turn-based gameplay, opponent AI)
  • Arkanoid / Pong (collisions, stable frame rate, score, levels)
  • Tetris (data structures and how they relate to gaming)
  • 1942 / Shoot-em-up (enemies, bullets)
  • simple platformer / pinball game if your engine does platformers (gravity-based collisions)
  • Bomberman / Pacman (tile-based movement, complex enemy AI)
  • Two-player game of any of the types above (two player inputs)
  • Roguelike / Diablo (Inventory management, multiple enemy AIs, saving and loading complex game states)
  • Faceball / Wolfenstein 3D (basic 3d movement and rendering)
  • Network turn-based game (basic networking)
  • Gimmicky 3D third-person platformer (physics, complex 3d movement)
  • Network real-time game (Client-server synchronism, lag)
  • MMORPG (Persistent world)

also one last thing, i have yet to use threads or any jdbc (will be covering and using both next semester). should i cover both of these myself before starting this list/rpg tutorial

Edited by Darego, 22 December 2012 - 06:24 PM.


#12 NoAdmiral   Members   -  Reputation: 511

Like
1Likes
Like

Posted 23 December 2012 - 12:44 PM

I don't think you have to work through that entire list, in fact, I think you can get started working on your big-project now. Just realize that what you're going to code at this point probably isn't going to make it into your finished product. I think it's easier to get burnt out on programming when you're making all these games you don't want to make (you have your own idea, right?), so I'd suggest jumping right in to the most simple aspects of your game.

Start with something like tile-based maps and player movement (you can start with text-based maps and such). Integrate a way to easily design cool maps (maybe something that loads from a text-file). Add the ability to move between maps. Convert it from using text graphics to sprites. You get the idea? Whenever you get stuck on an idea, go work on something quick that will help you figure it out.

In line with what others have said, try to avoid copying code from the internet or books unless you know what it's doing and why, and don't be afraid to brute-force something (your code doesn't need to be pretty yet), you can come back and re-factor it when you have a little more experience.

Inspiration from my tea:

"Never wish life were easier. Wish that you were better" -Jim Rohn

 

herwrathmustbedragons.tumblr.com


#13 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 23 December 2012 - 07:26 PM

thanks a lot for the reply, very helpful!

what do you mean by text-based maps? this is the thing i'm kinda clueless where to actually start, and thinking about implementing my idea into code and classes etc scares me haha that is why i would love to follow a tutorial(like the rpg one in my above post, it looks like it has all the basic concepts that would be needed for my finished game) to get me started but as you say if i do that i won't learn as much from it

thanks again

Edited by Darego, 23 December 2012 - 07:31 PM.


#14 nobodynews   Crossbones+   -  Reputation: 1911

Like
1Likes
Like

Posted 23 December 2012 - 10:59 PM

I think NoAdmiral was suggesting not using graphics but text like on the command line. "ASCII graphics" would be a common search term. That way you don't need to learn graphics programming on top of everything else. It was just an alternative suggestion to get closer to your end goal of MMORPG by skipping some steps that you might find more boring.


C++: A Dialog | C++0x Features: Part1 (lambdas, auto, static_assert) , Part 2 (rvalue references) , Part 3 (decltype) | Write Games | Fix Your Timestep!


#15 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 10 January 2013 - 09:11 AM

hi again guys, one last question! i noticed these games i want to try remake eventually give you the option to switch graphics engine.. between directX5, directX9 and OpenGL (i have better FPS in directX9 of course). now if i make my game using java will i be able to give my players the option to switch between these graphics engines? as far as i know you can only use openGL commands through LWJGL with java and not directX..

Edited by Darego, 10 January 2013 - 09:14 AM.


#16 SimonForsman   Crossbones+   -  Reputation: 6106

Like
1Likes
Like

Posted 10 January 2013 - 09:49 AM

hi again guys, one last question! i noticed these games i want to try remake eventually give you the option to switch graphics engine.. between directX5, directX9 and OpenGL (i have better FPS in directX9 of course). now if i make my game using java will i be able to give my players the option to switch between these graphics engines? as far as i know you can only use openGL commands through LWJGL with java and not directX..

 

Unless you're running on Intels integrated hardware(Which has fairly crappy drivers for OpenGL on Windows) you will get better performance with properly written modern OpenGL than with Direct3D9 (D3D9 and below has a fairly high per batch overhead (a problem that was fixed with D3D10)). For the later versions of both APIs on nvidia hardware the differences are negligable, on AMD hardware the difference tends to be bigger but unless you are making Crysis 5 it will not matter.

 

If you get significantly better performance with a D3D9 render than an OpenGL renderer it is either an old OpenGL version (OpenGL 1.0 is very slow compared to D3D9) or the API is not used properly.

 

LWJGL does not support DX and while you can call DX functions through the native interface with Java i wouldn't recommend it. (it is a pain to use and one of Javas main strengths is that it runs on all major desktop platforms, a Java game using DX will only run on Windows)


I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#17 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 29 January 2013 - 12:31 AM

i would like to bump this and ask another question :) well now i am back in college and have gone over all of javas advanced language features including JDBC. now the only thing i am lacking in is the networking side of things.. sockets etc.. could anyone tell me how i would go about getting to know the networking side of java rpg game making? tutorials etc

also i am getting confused when it comes down to how i should lay my classes out.. would anyone have a link to any class diagrams that the above games would use(java orthogonal tilebased rpg game)?

cheers

Edited by Darego, 29 January 2013 - 01:07 AM.


#18 Bacterius   Crossbones+   -  Reputation: 8821

Like
1Likes
Like

Posted 29 January 2013 - 01:11 AM

i would like to bump this and ask another question smile.png well now i am back in college and have gone over all of javas advanced language features including JDBC. now the only thing i am lacking in is the networking side of things.. sockets etc.. could anyone tell me how i would go about getting to know the networking side of java rpg game making? tutorials etc

also i am getting confused when it comes down to how i should lay my classes out.. would anyone have a link to any class diagrams that the above games would use(java orthogonal tilebased rpg game)?

cheers

 

Google "java socket tutorial" and you should find lots of stuff. Also, write some simple, standalone network programs, like a basic echo server (which simply echoes back whatever is sent to it) and make it handle multiple connections properly, that kind of thing.

 

As for how to design games, different people have different approaches which work equally well for them. Some like to just go in there and code the whole thing up directly, others enjoy prototyping different designs, while some others use UML diagrams to lay out their game architecture. Yet others use pencil and paper to work out their design.  The only way you're going to find out which approach you prefer is to try them out. Your first game will suck. Your second one will suck too, but a bit less. And so on... And as you make more and more games, you'll naturally pick the design method that you find most productive for you. It's all about experience.


The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#19 Darego   Members   -  Reputation: 156

Like
0Likes
Like

Posted 29 January 2013 - 01:41 AM

cheers buddy






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS