Jump to content

  • Log In with Google      Sign In   
  • Create Account

Closed Thread


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.

  • This topic is locked This topic is locked
26 replies to this topic

#1 Emergence   Members   -  Reputation: 121

Like
-2Likes
Like

Posted 02 October 2011 - 01:57 PM

Thread deleted.

Sponsor:

#2 bloodisblue   Members   -  Reputation: 137

Like
1Likes
Like

Posted 02 October 2011 - 05:06 PM

I don't really have any good tutorials or anything for you, except a while ago I was trying to create my own level editor and ended up creating a little thing which allowed me to read / write from a text file
public Level(int levelXInBlocks, int levelYInBlocks, int levelNumber){
		levelComposition = new Block[levelXInBlocks][levelYInBlocks];
		System.out.println(levelComposition);
		levelX = levelXInBlocks;
		levelY = levelYInBlocks;
		this.levelNumber = levelNumber;
		setLevel(levelNumber);
	}
	
	public void setLevel(int levelNumber){
		String[] eachLine = new String[128];
		try{
			FileReader fr = new FileReader("level" + levelNumber + ".txt");
			BufferedReader br = new BufferedReader(fr);
			String record = new String();
			int lineOn = 0;
			System.out.println("Loading level " + levelNumber);
			while((record = br.readLine()) != null){
				eachLine[lineOn] = record;
				lineOn += 1;
			}
		} catch(IOException e){
			System.out.println("No file found <img src='http://public.gamedev.net/public/style_emoticons/<#EMO_DIR#>/tongue.gif' class='bbc_emoticon' alt=':P' />");
		}
		generateBlocks(eachLine);
	}
	
	/*
	  o = air = 0
	  b = brick = 1
	  i = ice = 2
	 */
	public void generateBlocks(String[] levelNotation){
		for(int i = 0; i < levelY; i ++){
			System.out.println(levelNotation[i]);
			String tempS = levelNotation[i].toLowerCase();
			char[] c = tempS.toCharArray();
			for(int blockCounter = 0; blockCounter < c.length; blockCounter++){
				char tempC = c[blockCounter];
				if(tempC == 'o'){
					levelComposition[blockCounter][i] = new Block(0);
				} else if(tempC == 'b'){
					levelComposition[blockCounter][i] = new Block(1);
				} else if(tempC == 'p'){
					levelComposition[blockCounter][i] = new Block(0);
					p = new Player((blockCounter * 25),(i*25));
				} else if(tempC == 'i'){
					levelComposition[blockCounter][i] = new Block(2);
				} else if(tempC == 'f'){
					levelComposition[blockCounter][i] = new Block(3);
				} else if(tempC == '<'){
					levelComposition[blockCounter][i] = new Block(4);
				}
			}
		
		}
	}


It only really applies to tile based maps, but it is pretty simple to read / write levels in a text document. The way I created the levels was by simply going into the text document and adding more "b"s or "i"s to place blocks. More recently I tried creating a game which I had a level editor and I placed objects in the levels which were written into a text file with all attributes which could be read with a text parser. It seemed like it would work correctly (I never found out an error which prevented it from running).

Personally I've found GUIs to be really hard to build so you might want to stay away from them if you could help it. Or if anybody has a good way to create GUIs that would help you and me :D
+Good luck on future projects!

#3 FlyingDutchman   Members   -  Reputation: 207

Like
1Likes
Like

Posted 02 October 2011 - 05:16 PM

Well, you should start at the very beginning of such a Programm. The Interface. Look for Java APIS which are helping you to create Windows in Windows and/or Mac..

Than create some Windows, write Code to load pictures, write Code to pick Pictures, write Code to draw a map, write Code to draw different Layers, write Code....

A lot of working in front of you :-) But first, u should start with the Interface.. so google .. i bet Java has some cool Apis for Windows drawing..

peace

I open sourced my C++/iOS OpenGL 2D RPG engine :-)


See my blog: (Tutorials and GameDev)

http://howtomakeitin....wordpress.com/


#4 freeworld   Members   -  Reputation: 325

Like
0Likes
Like

Posted 02 October 2011 - 05:45 PM

I don't care how experienced you are, if you have to ask this question, you're not ready for the task. Start small, don't try to make the whole editor at once.

As has already been suggested, look into programming an interface. Though like I said, don't try to make the interface for the editor. Just make an interface that works. something like, click on file and it makes a button pop up. Then clicking that button makes it disappear. Or make something simple that can read a text file, and then render the text that is in the text file.

Or really, ANY 2D game development book, tutorial, etc. that goes beyond these repetitive cookie-cutter "Breakout" tutorials. Yes, I have already done about 20 of these, from snake to breakout, and they're all rudimentary tutorials about basics I already know. They do not help me build more complex games, such as a series of images I can place in the world to form a map, so I can have my character walk around in something other than emptiness. None go into A.I. more than a very, very simple amount. None go into tile-based movement or A.I. pathfinding, how to create radial pie menus, or anything beyond the very basic of basics.


You may have done twenty of those tuts, but it sounds to me like you just copy pasted your way through them. The basic tutorials should be teaching you how to think like a programmer, how to understand how your code will flow when it runs. Ask your brothers how long it took them to be able to code a game bigger than a side scroller or arkanoid on their own... I'm sure they'll say a couple years. Another thing to learn is not to get to far ahead of your self. Step back and think about the baby steps that it will take to make your program. You can't just say I want to make a million dollars if you don't know the steps that will get you there.

No offense, but alot of what you're asking about is basic stuff, but I've been programming for 13-14 years. Keep at the smaller games, try making a tetris clone that works off a tile map. Just what ever you do, don't give up.
[ dev journal ]
[ current projects' videos ]
[ Zolo Project ]
I'm not mean, I just like to get to the point.

#5 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 02 October 2011 - 08:17 PM

Thread deleted.

#6 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 02 October 2011 - 08:30 PM

Thread deleted.

#7 freeworld   Members   -  Reputation: 325

Like
0Likes
Like

Posted 02 October 2011 - 09:14 PM

I'm not sure why you were so aggressive towards me, just because I am asking for help with the basics of "Where to start?"


because you clearly state that you know what you're doing, but still ask how to start.

I am not very experienced with making actual programs, but I am intermediately experienced understanding the code.


Then you back track. It's great that you understand code, but if you don't know how to use it, you still need to learn. That's what the simple programs are great for, they teach you how to put programs together. If you wrote these twenty plus games like you say, you should have a grasp on how to put a tile map together.

Should I begin with a World Editor? Basic GUI? An image based array? Code based significantly off of TILED? etc. etc.

These are legitimate questions, and I am certainly ready for the task.


Those are all so random, but since you already have ideas of were to start, why not just pick one yourself and get started.

I am not sure why asking "Where should I start, and what smaller step should I consider first during the very first step?"


If you're not sure why you're asking, you might have bigger problems than you think.

Coming from someone who's been programming for 13-14 years, this is quite disappointing of a non-answer. If I wanted to be told "You can't do it!" by a pro, I'd go to less professional forums.


Never said I was a pro, just wanted to make it clear that you'll learn more and more over time, and not to try to do everything at once. Nor did I say you can't do it, rather that you're probably not ready for such a big project.

What you should probably consider is that you've been programming for 13-14 years. Not only do you not fully know what it's like to be a newbie with the advancement of technology, you probably didn't even start your newbie experience with something as advanced as Slick2D. Lecturing others who have already made these stupid arcade games over 20 times, to make more arcade games, is like trying to tell someone who has mastered the ability to draw stick figures, to continue to draw stick figures because they "obviously don't know how to draw real figures."


I actually started programming in QB, around the time the industry was moving away from DOS and more into pure windows, and ASM for a ti-83 calculator. And in my art, all my characters start off as stick figures or worse. Just like with programming you can't just slap together a finished game without first putting together the building blocks.
[ dev journal ]
[ current projects' videos ]
[ Zolo Project ]
I'm not mean, I just like to get to the point.

#8 vharishankar   Members   -  Reputation: 181

Like
0Likes
Like

Posted 03 October 2011 - 06:59 AM

This is a very interesting topic, because I think every creative individual goes through the same process: how to turn a concept or idea into implementable detail.

Sometimes just the idea can be very daunting, so I guess each individual has to find their own way.

Game programming is not just technical skill but also an art. You have to be able to visualize what you want to achieve and this takes a level of creativity that not all people can achieve. So naturally, even if you acquire technical skill, you will still have the "where do I go from here?" query.

So some of my suggestions would be to, from a purely hobbyist point of view:

First approach:

1. Put your ideas down on pen and paper. Start by naming your genre. Start by going through a few games in that genre and ask what different you can do. Try to draw a rough sketch of the game, or if you don't want to do that, just note your ideas in a pad. Try to figure out a plan.
2. Now start with implementing your idea by breaking it down into chunks: I want to do this: so I will begin with this and that and go on to the next.
3. Try to get a working model of your idea on actual program code. Forget the graphics first. If you cannot get by without graphics, try to create placeholders for your graphics, like basic shapes.
4. Now work your way into the logic of the game. How should the game respond to user input? That is usually a good place to start, because user input will be the main driving force of your coding. From user input will flow all other game interactions and implementation details
5. To break the monotony of coding, try to indugle yourself in other creative pursuits, like drawing or writing if you are so inclined.
6. Don't be overambitious but don't be too modest in your goals either.
7. Try to learn something new as you go along. Doing repetitive tasks can get boring.

Second approach:

Just start coding. And see where you go from there. Sometimes you might find yourself on a good thing just by experimenting.

By the way, there was a book I read in my Youth called "Action adventure arcade" or something. It was about 2d game programming in DOS with the use of a graphics library called FASTGRAPH. There was a lot of useful info in that book about tile-based scrolling and creating side scrolling games, with full example code and artwork. Not sure if that book is still in print.

#9 Telastyn   Crossbones+   -  Reputation: 3726

Like
0Likes
Like

Posted 03 October 2011 - 08:07 AM

Really, I'd just love to figure out a simple system such as, a menu which I can click, take me to a new window to select an image, and then back to the world to place the image (it being visible, but not placed yet, like a RTS game) and then clicking to place it in a "world" which I can save to file.


This is relatively straightforward, where are you running into difficulty?

#10 Infernal-rk   Members   -  Reputation: 135

Like
0Likes
Like

Posted 03 October 2011 - 10:02 AM

Why build a world builder at all. do you even have any idea of how you intend to store any of this data to be convenient to use for your game, let alone an editing program?

do you understand the underlying intricasies of a 2d tile based engine at all yet? why not understand all that before you build a GUI world builder.

The reason I suggest this approach is that while you may make the most wonderful editor in existance, you are probably going to be prone to kitchen sinking it and then what.. you now have to build an engine that supports everything possible in your world builder.

Try defining what you really want to make as a game first. Think about what features you would like to support within the game and lock that list as best you can. Then you can build your data system for the world. Then you have a common data/resource library for either game engine to load or worldbuilder to use.

then you can build your woldbuilder interfaces to allow you to manipulate the game data within the bounds of the feature set you want/need.

These other posters are correct though, you will need to start small when making the worldbuilder windows to start with.

I think the biggest question is what is your goal? to become proficient at making windowed apps in java or to make a 2d tile based game.

#11 jonbonazza   Members   -  Reputation: 121

Like
0Likes
Like

Posted 03 October 2011 - 11:45 AM

If this is the same Emergeance from the Unity Forums, I would advise everyone to just leave it. He was banned from the Unity forums for continuously starting arguments that rarely had any relevance.
Co-founder/Lead Programmer
Bonafide Software, L.L.C.
Fairmont, WV 26554 US

#12 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 04 October 2011 - 09:46 PM

Thread deleted.

#13 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 04 October 2011 - 09:59 PM

Thread deleted.

#14 Zahlman   Moderators   -  Reputation: 1682

Like
0Likes
Like

Posted 04 October 2011 - 10:16 PM

Don't really know what this guy is talking about. I was banned for disagreeing with 3 other people who repeatedly told everyone that it costs $100,000 to dig a hole in your backyard, and that the title is that to make ANY game, even a small one, an android app, or ANYTHING at all, it costs $100,000 minimum. When I tried to explain to people that if you spend $0 on developing something, it is free. One of the moderators disagreed with me, and I told him he had no idea what he was talking about. An hour later, I was banned by that moderator for disagreeing with him. Just wanted to make sure I didn't get a bad rep from this kid saying I "continuously start arguments that rarely had any relevance." Especially given the topic I was banned for was specifically titled "It costs $100,000 to develop any game." including a program it takes you 1 day to write (somehow).


So you missed the point in order to be pedantic? Looks to me like jonbonazza knows exactly what he's talking about.

This also happened about 6 months ago, so to bring up this, incorrectly my name "Emergeance",


A typo, presumably.

and to mention Unity Forums at all (which are quite a joke...) is just strange indeed.


The internet has this nasty habit of not forgetting things.

Yes, I've made a tile based game before, although I decided it was better for me to start over to make it slightly better.


So start over and make it better. Except this time, instead of focusing on the actual gameplay from square one, focus on having something that can be fully tested at every step. Add an interface that lets you god-mode change the actual tile contents. The next thing you know, you have your editor.

I am very curious as to why someone is assumed knowledge-less just because they are asking for helping starting a project,


Er... because knowledgeable people, by definition, could get themselves started?

and asking for any helpful books on game programming design, as opposed to game design or programming language.


I'm afraid you'll find there aren't any, or at least anything pretending to be will be gimmicky and not good.

Programming is programming. Game design is game design. When you make a game, you do both. There are some idioms and tricks, but they aren't hard to pick up, make sense immediately to experienced programmers, and generally aren't worth filling up a whole book with. Well-written code is well-written code, whether it's code for a game or for anything else; and roughly the same principles are applied in evaluating and improving code quality.

#15 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 04 October 2011 - 10:20 PM

Thread deleted.

#16 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 04 October 2011 - 10:23 PM

Thread closed.

#17 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 04 October 2011 - 10:28 PM

Thread deleted.

#18 vharishankar   Members   -  Reputation: 181

Like
0Likes
Like

Posted 04 October 2011 - 10:29 PM

Programming is programming. Game design is game design. When you make a game, you do both. There are some idioms and tricks, but they aren't hard to pick up, make sense immediately to experienced programmers, and generally aren't worth filling up a whole book with. Well-written code is well-written code, whether it's code for a game or for anything else; and roughly the same principles are applied in evaluating and improving code quality.


I respectfully disagree with the highlighted portion. It's not at all easy to transition from an intermediate level programmer to a game designer. Even experienced programmers might find this transition hard, because basically the concepts behind programming games are totally different from general programming principles learnt in schools, colleges, at work and through books. There are too many things to learn and the process is overwhelming to say the least.

Game programming is a separate field in itself. I think there is a knowledge gap which is not addressed by a lot of books which purport to do this. Which is true to some extent.

#19 Emergence   Members   -  Reputation: 121

Like
0Likes
Like

Posted 04 October 2011 - 10:41 PM

Thread deleted.

#20 yckx   Prime Members   -  Reputation: 1264

Like
1Likes
Like

Posted 04 October 2011 - 11:47 PM

Please don't disagree with the moderator, you will get banned. This guy is out for heads, and I do not want anyone to be harmed simply because I asked for assistance.

No he won't. And I don't believe you're in any real danger yet, either. I don't see anything in Zahlman's post that threatens a ban. Or even that he's posting in his capacity as Mod. Moderators post on these fora all the time, just like regular users. So he finds an argument you made pedantic. Honestly, I wouldn't find that terribly insulting were it said about me or something I'd said. I'm not yet close enough to perfect to avoid occasional pedantry. But if you kept reading Zahlman's post, he goes on to answer your question and offer advice, which you seem to have missed or ignored.

I'm sorry you got offended, but this is the Internet—it helps to have thick skin. I'm not defending any perceived offense caused earlier in this thread, but having read the thread I don't see it as being seriously offensive. What I consider to be more egregious is that you replaced all your posts in this thread with essentially useless text. GD.net is a major resource—I sometimes find a forum thread from months or years ago that pertains to my problem. It's quite plausible that someone else will have the same question in the future, and now any usefulness this thread might have had or developed is greatly diminished. Still, I don't consider it ban worthy—just discontinue the practice, please.




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