Sign in to follow this  
Zido_Z

Time to graduate to the next level

Recommended Posts

Hi. I'm a college student currently majoring in computer science. However, even before this, I was making small programs with java, BASIC, and C, and reading as much about programming as I possibly could on my own. I eventually understand OOP and all of the research has helped me in the process of making my own games.

However, I've only made one game using a non-game-orientated engine, and it was a pong clone on java. Other than that, I've been using beginning engines such as RPG Maker for the pc and the famous Game Maker. But now I feel like it's time I move away from these systems and use something more professional, since future companies won't be dealing with these beginner-level programs. I've heard a lot about DirectX, OpenGL, and XNA, and am going to use XNA eventually.

However, what I think turns me off about coding directly with these languages is that I don't get to see "visually" what I'm building. I'm both a coder and an artist. If I want to build a level, for example, I don't want to have to map it out on a sheet of paper then place the coordinates of things in a data file (yes, mapping during the planning stage is natural). I've heard of level editors being integrated with environments, but I'm not informed on how you make a game using just code alone. I'm not talking simple pong clones, but games that span multiple maps, like Super Mario Bros. Just looking at the NES and SNES versions bobbles my mind how they built that gameplay. I always ask questions like: "Do they set coordinates for unpassable tiles" or "do they scan in the artwork or make it entirely through a code-based engine?" I've used programs like Game Maker as sort of "crutches", but have read that most companies use engines such as Unreal that have similar pre-programmed functions and visual creations of their game levels through IDEs, so this just may just be me being ignorant.

If anyone can see where I'm coming from, can you please enlighten me so I can set on course for making games while being able to teach myself both gameplay and programming-aspects. A lesson I learned from reading is that making a game is 99% coding and 1% testing.

Share this post


Link to post
Share on other sites
What you are talking about is an entire workflow that exists in modern engines today. Programmers for directx and opengl rarely span across the entire workflow (from artist to gameplay) nowadays. Tools programmers take an engine and build an application that allows artists to take their models and set up a level. This can get VERY VERY complicated on the inside, and takes teams of programmers years to set up. This is because you are no longer talking about an engine to build a game, but a platform to build many games.

Unity more or less provides this. you may want to start there. it does cost a bit of money but may allow you to hit the ground running both as an artist and programmer.

Share this post


Link to post
Share on other sites
The terms you're looking for are 'Map Editor', 'Tile Editor' or 'Level Editor'. Programming one is great experience, whether you use windows forms style or do the whole thing in Directx/OGL with sprites, and it really doesn't take years.

In its simplest form, you build a program that

A) creates an array, opens bitmaps with your tile designs in a pallete of some kind, and allows you to scroll through a grid of squares the same size as your array.

B) lets you click on a given tile icon representing maybe a struct like

struct Tile{
string BMPFilename;
RECT tileTextureCoords;
Bool solid;
}



etc etc, and then place it into a square in your array. You can write little radio buttons or drop-boxes (or use windows premade ones) to select whether a tile is passable or not.

C) writes the array of Tile structs to a file of some type that your game can parse and recreate the level.

Coding a level editor for a specific game idea is a good way to start, and while it might take you a few weeks the first time, it is, as you said, way better than trying to hard code each and every level. You then improve it by removing the need for a grid and array, and just place and create a list of tile sprites with x/y coords.

Share this post


Link to post
Share on other sites
I figured I would have to build a level editor eventually, but as you said, it would be a great way to gain experience. I asked this because I'm going to start making games through C++ and maybe C#, and I would like to get the fundamentals down through taking the steps that any other programmer takes in order to increase their proficiency. I have all the basics down, but I know nothing about setting up databases or doing security measures other than spectating that they requires classes with variables to hold data or usages of encrypted passcodes in conjunction with the debugging system.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this