Code before Art? Is it Possible?

Started by
10 comments, last by Rimshot 10 years, 10 months ago

Hi guys, first post here!

For the past 7 months I have been designing and critically thinking of a game I really want to make. I have intermediate knowledge of Java but have never used it for game development, I mainly use it for math/simulations which I find will help immensely with my goal.

Since I'm an absolutely atrocious artist, is it at all possible to build the framework of the game before even adding artwork/characters/sprites, etc.

Since the game I have planned is a cross between RPG and RTS, I am wanting to focus very much on mechanics and how characters and the world interact with respect to dialog choices and actions made by the user. I want to focus all my time on how the game will work and how it interacts with the user and worry about realizing the world artistically later. Is that at all possible and is it a good direction to go in?

Are there any engines that are particularly useful? How would I go about engineering the framework?(any tutorials, books or articles would help me greatly)

Here is what I envision it as:

*Cross between Isometric View Point and 3d plane with 2d sprites. (Think Persona 2, Myth 1 & 2, Ys, Fire Emblem:Awakening)

*Very complex strings of dialogue trees (Players can respond to dialogue in numerous ways all leading to very different results in turn effecting all other conversation and encounters you have throughout the game).

*Open world with grid-like movement like Final Fantasy Tactics, Fallout 1/2/Tactics, Jagged Alliance, Fire Emblem Series.

-Randomized enemy locations throughout city, random events, exploration, build a squad of civilians/ex-military/rebels and take over any house in the game world and build it into a fort. (Simple economy with trading weapons, drugs, people, scrap, etc....Intercepting convoys with your team or attacking other bases..etc)

*Extensive variety and customization of weapons.

*Extensive characters customization (stats, skills, personality, appearance, etc)

So yeah, in a nutshell that's what I have in mind. I have dialogue trees for 20 different NPC's I've written over the last 7 months. Each being around 15 pages of dialogue and outlines on how each choice and conversion will change the other 20 NPCs. I plan on having at least 150-200 NPC's in the game world.

I know someone is going to say this is too big of an undertaking for a first time game developer especially for one person but I'm just doing this for fun and it's always been something I wanted to do since I was a child. I'm prepared for this to take years of work and learning and I couldn't be anymore excited. This is my passion project for the foreseeable future.

Thanks for any input guys.

Advertisement

Although I'm a newbie like you, I've heard that sometimes it's better to just get the framework coding out of the way before focusing on graphics. With a game as large as yours, I would suggest adding in placeholder sprites just so you can see how things will interact with each other. That's just my opinion though, from one beginner game programmer to another.

Thanks Randy808,

I've dabbled with GameMaker and used a lot of placeholder sprites for some basic ideas but I just feel like im so horrible with anything art that my time would be better spent on coding. Its all a learning process so I don't intend to stop trying how to draw, lol.

I can visualize and logically make sense of what I would have to do in order to make the framework possible but just have no idea where to start.....

Since I'm an absolutely atrocious artist, is it at all possible to build the framework of the game before even adding artwork/characters/sprites, etc.

It's definitely possible to work on the game mechanics without having graphics in place. The platformer I'm working on I started with no graphics, only drawing different colored rectangles to represent the player, enemies, weapons, bullets, and platforms. Since graphics are (usually) independent from game mechanics it's pretty easy to change them by changing resources or adding resources if you don't have any.


Since the game I have planned is a cross between RPG and RTS, I am wanting to focus very much on mechanics and how characters and the world interact with respect to dialog choices and actions made by the user. I want to focus all my time on how the game will work and how it interacts with the user and worry about realizing the world artistically later. Is that at all possible and is it a good direction to go in?

It's certainly possible, as I said above, to work on a game without worrying much about the graphics, though, it is nice to at least have placeholders. You can find some tilesets and spritesheets available for free use online with a quick Google search if you want to have something to use. Also, if you're interested in making your own graphics, you might want to check out 2D Game Art for Programmers. I consider myself a horrendous artist as well but the posts there are quite helpful.

Are there any engines that are particularly useful? How would I go about engineering the framework?(any tutorials, books or articles would help me greatly)

If you're looking at developing using hardware accelerated graphics with sound libraries (which I would recommend) check out LWJGL, Slick2D, LibGDX, JOGL and jMonkeyEngine. They all have wonderful communities that will be extremely helpful. LWJGL is a Java wrapper for OpenGL that also handles input, sound, and window managing. The others listed, besides JOGL, are based on LWJGL. Slick2D is a framework that handles a bit more than LWJGL and has some implementations of things like sprites and loading assets that you may find helpful. LibGDX allows for simultaneous deployment to PC, Android, HTML5 with WebGL, and iOS (still in the works) and also has implementations similar to those of Slick2D. I'm not extremely familiar with jMonkey but where the others are just frameworks, jMonkey is a full engine. I've heard good things about it. JOGL is another Java wrapper for OpenGL. Take a look at them and see which one you prefer, then go with that one. They all have wikis and tutorials plus helpful forums. You also always have the option to post here for help.

Yes, your game does seem like a lot of work. It may be something you build up to, not something you work all the way through at once for your first game. For me, it's been extremely helpful to prototype a new part of the game in a small, simple app, then implement it into the game itself after I've learned more. For example, when I changed my map to using the tmx format using the Tiled map editor, I wrote a small app that just read in a tmx file and displayed it and allowed simple scrolling. You'll want to start out small and work your way up. Good luck and if you need any help the forums here are a great resource.

In my opinion if you want to render graphics then learn c++. I know you said you are a java guy but rendering is the land of native code, especially 3d. Even Microsoft's c#(managed) has dropped XNA support which says they agree.

After that you have a long road ahead my friend. This is the elite area of programming. I can give you plenty of c++ resources but only if you ask because its not worth the effort if you don't care about c++.

There are lots of artists around if you look in the right forums and/or classifieds. Ask around you'll find plenty of artists who need a programmer to work with.

If this post or signature was helpful and/or constructive please give rep.

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

// Easy to learn 2D Game Library c++

SFML2.2 Download http://www.sfml-dev.org/download.php

SFML2.2 Tutorials http://www.sfml-dev.org/tutorials/2.2/

// Excellent 2d physics library Box2D

http://box2d.org/about/

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20


Even Microsoft's c#(managed) has dropped XNA support which says they agree.

Doesn't mean they agree, just that XNA has run its course and something new is coming.

As for the question at hand, you can just do text output to see what's happening and then add the graphics later.

I personally prefer just using place holder art, even along the lines of colored rectangles sized properly, as mentioned earlier.

Many of my gameplay experiments have no real art. I often open paint.net and create a few coloured rectangles of appropriate sizes, and start added descriptive text to the image if neccisary.

You can do the same with 3d, just open a basic 3d editor, make a rectangle around the size of the object you want to represent and save it. The art doesn't need to be intuitive or descriptive for such early work in a potential project and can be easily replaced later once the general gameplay is impressive enough to attract an artist, or to justify hiring one.

You can can also look around royalty free sprite or 3d model websites for content that you can use as more descriptive and appealing placeholder; even if it doesn't directly suit your theme or art style.

Starting a big passion project is fine, so long as you understand that it will take a long time before it becomes something that will be impressive; and that you understand that as you improve and learn more about game design or programming you will likely want to redo a lot of your work(which can be discouraging for some people, as it will feel like the project is just treading water for a long time(years), before you have the skills needed to make any real progress). In forums, a lot of people don't seem experienced enough to recognise this off the bat(or their posts don't directly demonstrate this experiance), so planning such a large project can be detrimental in the long run if they just end up discouraged and put off due to a lack of tangible progress; thus the common replies advising a different mind set/path.

I don't have any advice about an engine for you, most engines you find should be able to do what you want(with a bit of work, very few will support what you want off the bat unless you choose to make a mod rather than a separate application). It'll be more about finding an engine that you can learn quickly and understand well, it's just a tool after all.

Here's an example of what you can do without creating one bit of artwork:

https://dl.dropboxusercontent.com/u/8974528/BigWorldToShare.zip

All you need to know is how to hexedit and what an IEEE float looks like in bigendian and littleendian.

https://dl.dropboxusercontent.com/u/8974528/VON_Dist.zip


Even Microsoft's c#(managed) has dropped XNA support which says they agree.

Doesn't mean they agree, just that XNA has run its course and something new is coming.

As for the question at hand, you can just do text output to see what's happening and then add the graphics later.

I personally prefer just using place holder art, even along the lines of colored rectangles sized properly, as mentioned earlier.

If you are gonna say that it doesn't mean they agree, then you can't say something new is coming, since microsoft hasn't officially said that either. Which was the only evidence you presented to support your claim.

If this post or signature was helpful and/or constructive please give rep.

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

// Easy to learn 2D Game Library c++

SFML2.2 Download http://www.sfml-dev.org/download.php

SFML2.2 Tutorials http://www.sfml-dev.org/tutorials/2.2/

// Excellent 2d physics library Box2D

http://box2d.org/about/

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20


In my opinion if you want to render graphics then learn c++.

Apart from the fact that Eddie's advice was barely on topic, please take this advice with a grain of salt: you absolutely do not have to learn C++ to create a game. This is especially true if you're not aiming for AAA-quality graphics, which would not be advisable for you anyway. The quality of graphics is more about the art and less about the programming languages, and if you're happy with the choice of Java it's perfectly capable of attractive games with good performance; a couple of notable examples being Spiral Knights, Puzzle Pirates, and RuneScape.

If you want to use C++ that's fine -- it's a very popular and very capable language, and it is the language-of-choice for AAA development, but remember that the reasons of professional developers do not apply to you and that you don't have to use C++; Java is also a popular and capable language, and if you're already experienced with it it's probably a good choice for you.

As to the actual question being asked, I think several members have already provided pretty good answers, but to re-affirm them very succinctly, yes, it's possible and quite common to begin coding a game -- and even make significant progress on it -- without having the final graphics. You can use free place-holder images, or even just simple different coloured shapes, and then swap in the real graphics later.


I know someone is going to say this is too big of an undertaking for a first time game developer especially for one person but I'm just doing this for fun and it's always been something I wanted to do since I was a child. I'm prepared for this to take years of work and learning and I couldn't be anymore excited. This is my passion project for the foreseeable future.

The game you've described is too big of an undertaking for a first time game developer, but it's not at all unreasonable and is a very achievable goal, especially if you're willing to put in years and give it your best effort. Start out by learning to make a couple of smaller, simpler games so that you can learn how all of the parts of a game work, and then use what you learn for your bigger dream project!

You absolutely can do this, and you've found a great community of people who are happy to help -- just be sure to walk before you run! smile.png

Hope that helps! smile.png

- Jason Astle-Adams

This topic is closed to new replies.

Advertisement