Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.

Don't forget to read Tuesday's email newsletter for your chance to win a free copy of Construct 2!


Member Since 21 Aug 2004
Offline Last Active Nov 02 2014 06:52 PM

#5024613 3d sprites - is it worth it?

Posted by Roots on 23 January 2013 - 12:13 AM

My 2D game has rather high artwork requirements due to the size of some of our sprites. A few years ago I proposed that to make this process easier, we recruit some 3D artists who can make really basic animations, take frame captures, and then send them to the 2D artists to touchup and make it look like real pixel art. Unfortunately, we couldn't find a single person with skills in making 3D art that was interested in doing this type of work (for free anyway), so we had to abandon the idea and cut down our artwork requirements by a great deal. Basically, we re-use our map sprites in battle and increase their size by 4x. In the long run, I think this was actually the better option to take for our project as having a different set of sprites for maps versus battle was just too much for a free project like ours to handle.

#5024166 A Tricky C++ Multiple Inheritance Problem

Posted by Roots on 21 January 2013 - 09:39 PM

I haven't touched multiple inheritance in a long time. My recommendation would be to avoid using multiple inheritance if you can, as it is pretty tricky, error-prone, and I would say is usually not worth the effort involved (ie an alternative design can meet your requirements just as well and will likely be easier to implement).



Does AppChild2 contain two instances of LibBase, or just one? I would think that you just want one instance of LibBase to do multiple inheritance correctly. I can't remember how the two super classes would share one instance of that base class, unfortunately. Does ordering the construction of the base classes in the AppChild2 constructor have any effect? Remember to use the access specifier for these base classes in your constructor, because if you just rely on them instantiating themselves using their no-arg constructors in the constructor body, I think that the order is not guaranteed (again, can't recall if this is the case). In other words:


AppChild2::AppChild2() :
    // constructor body here

#5023773 Version control for begginers

Posted by Roots on 21 January 2013 - 12:13 AM

I dislike git because I find it has a really steep learning curve and it's command interface is not intuitive. I've used it a couple times in the past, but my sour experience could be biased because the project manager I was working for last made it harder to use than it should have been. I do fully acknowledge that git is more powerful than SVN and I do love the distributed nature of the system. I just haven't warmed up to it, and being told that "oh the documentation is so complete" doesn't really encourage me, since there are literally textbooks written just to explain how to use this tool. I don't want to read a textbook or sit through 2-3 hours of tutorial videos just to use a damn source control tool. I only want to know the minimal amount that I need to know to do 95-99% of the tasks that I will have to encounter day-to-day.


I'm interested in giving Mercurial a study, as it seems to offer most of the same primary advantages of git, but is more user friendly and easier to pick up and immediately start getting things done. My project is still using SVN for now, but eventually we'll be moving to either git or Mercurial when the time is right for us.

#5021269 Open source projects?

Posted by Roots on 13 January 2013 - 10:34 PM

It took us a long time and a lot of trial and error before our OO design felt like it was done well. How did your previous designs fail, and why? When I'm designing a  new component to our code base, the way I go about doing the design is as follows:


1) Think about it for a day or two, just in the back of your mind, about what classes you would need and what their relationship to each other will be

2) Once I have a first concept of the design, I share my design proposal with my team and get feedback, adjusting it as they point out flaws or possible ways to improve it

3) Implement my design and get all of the essential components working. Use the component and make any improvements so that it works as well in practice as it does in theory.

4) Add on more advanced features as required. If I find the design is not accommodating new features well, adjust and refactor as appropriate.

5) Repeat #4


This is what I have found works for me, but YMMV. Also it's important to keep in mind what your goal for your code is. Do you want to just get it up and running ASAP, or do you want to invest the time to produce a robust and more maintainable architecture? Creating designs that are more focused on long term goals will cost you more time up front to build, but they will (hopefully) save you time in the long haul. There's nothing wrong with slapping together some sloppy code as a proof of concept, or just to get some ideas about what a proper design "should" do. Just use it in moderation, as no one likes sloppy code. :)

#5020722 Open source projects?

Posted by Roots on 12 January 2013 - 09:55 AM

I don't know of any simple games unfortunately. Try looking through The Linux Games Database or The Linux Game Tome (unfortunately this site is down at the moment).



My project, Hero of Allacrost, is an open source 2D RPG written in C++. Unfortunately however, it is not simple (over 200,000 lines of code), but it is one of the best organized, commented, and documented code bases out there as far as open source projects go. We get compliments regularly on the quality of our code, which gives me happy nerd feelings. :) If you're interested in taking a look, you can find the code here and we have a lot of documentation up on our wiki here. I recommend browsing through the wiki documentation first (especially the Quick Start Guide) to get an overview of how the code is organized and what it is capable of, then dive in to the header files and read the comments in there that describe the APIs. You can also run doxygen on the codebase to generate automated documentation if you desire.

#4999117 Game design, ideas and concepts

Posted by Roots on 08 November 2012 - 08:51 PM

If you want to attract people to work on a project formulated around your ideas, there are a few different ways to do this.

1) Offer money
Offering money upfront is best. If you say "you'll get a portion of the revenue" that isn't very appealing, because even the most simple games take a good amount of time before they're ready to be sold and there's no guarantee that your game will even get that point anyway. No one wants to work on someone else's ideas for free.

2) Contribute something more than just ideas
As others have said, we all have our own ideas and if people are working for free, they'd rather work on those ideas. No matter how good your ideas are, telling people "these are my ideas, now go make my game" is a very bad attitude to take. If you retain sole control of the game's design, you need to be working as well. If you have no talents as a programmer or artist, you can contribute by managing the game's website, being a play tester, managing the project and organizing people, etc.

3) Provide a core vision, but allow others to share their ideas as well
There's a lot more motivation if people feel like they can add their own input into the game design and get their own ideas improved for inclusion in the game. Let the game design be a team process, not just an individual one. Try to put together a core design and propose an initial set of the main features found in the game, then once people start joining your cause, allow them to comment and suggest alternatives or even remove existing features if they have a strong case for why they feel it would be bad, or want an alternative that they feel is better.

Also it's important to note you need to realize that if you have no technical skills or knowledge, you usually will not have a clue about how difficult (or impossible) it is to add certain features. And you also can't fully know if an idea would work well until you see it in action (some of my ideas have worked out better than expected, others were so bad that we tossed them out).

When I started my project years ago, I was already a capable programmer (and have improved very much since then) so I had something to offer (#2). And I welcomed people to submit their own ideas, especially during the initial period when the project was forming (#3). Although it was hard for me, some of the early ideas that I had for my game were voted on and rejected by my initial team, and I had to let go of them even though I was really excited about a few. But I think that was for the better.

The core vision that I laid out for our the game design (below) has remained. It has served us extremely well. Whenever someone proposed a new idea, we check it against this and if it is in gross violation of these principals, it is tossed aside.

  • Create a role-playing game, free to the public, which may be enjoyed by as many people as possible. It will be playable on a wide range of computers from 1990 era PCs to today's, and on virtually any user operating system from Linux, to Windows, to Mac OSX. This game will also support multiple languages so that players from the world over may play it.
  • Design the game such that the major focus is on gameplay and story, not advanced 3D graphics and physical simulations.
  • As much as possible, remove the tedious, meaningless, and micromanaging aspects of many historical and modern RPGs.
  • Require a high level of strategic thinking and planning from the player, and less mindless "button mashing" found in many RPGs.
  • Make the source code and documentation to our game engine freely available under the GNU Public License, so that other game developers may absorb what we have learned and use our code to expedite the production of their own games.

#4999025 What techniques do you use to balance your game?

Posted by Roots on 08 November 2012 - 03:08 PM

I'm working on a couple different sister projects (Hero of Allacrost and Valyria Tear, both Japanese-style RPGs) and the latter has a release coming up soon which still needs a fair amount of balancing. I've done balancing of releases in the past, but I've always done it in a sloppy, ad-hoc manner as we were trying to rush a release out the door. I want to invest some time and effort now to do balancing right (or at least better) for this upcoming release, and I was hoping that others here could share the techniques and tools that they employed to balance their games.

I want to make it clear that I'm not looking for mathematical formulas or anything technical like that. I'm more interested in the balancing of stats and numbers, such as experience awarded by defeating enemies or attack rating. The main balance issue that I'm trying to address is with regard to experience level gains with the playable characters (we want them to feel stronger to the player with each level, but not become overwhelmingly powerful).

With that in mind, here are some ideas that I have thought of thus far.

1) Produce data spreadsheets

This would entail something like putting all of the character data for each experience level into a spreadsheet application along with a sample of enemies, use some simplified equations to calculate average DPT (damage-per-turn) and how much damage we can expect a character party to take, determining how "hard" a battle is based on the amount of hit points likely to be lost before the battle is over.

2) Write a stand-alone script that does number crunching on character/enemy stats

Similar to the first one, but instead of putting it into a spreadsheet (which can be time consuming to do), a script will process all of the data and spit out the same type of results. Probably easier, plus we can pass the script parameters (character and enemy party composition along with XP levels) and get an idea of how "hard" the battle will be.

3) Add an accelerated battle simulatior into the game

Same idea as #2, only this time the battle is actually simulated instead of only performing some simplified numerical calculations. Again we could input any party configurations we want to the simulator, then the AI would take over and run the battle to it's conclusion. This would be difficult to do because it requires us to develop AI to run the characters (we only have a very very basic AI for enemy characters at the moment). Probably too large of a task for us to work on right now (limited developer resources and higher priority tasks elsewhere).

Of course none of this is a subsitute for actually sitting down and playing through the game to see how it really feels. But playing through a game multiple times is a time intensive process, and we don't have any dedicated play testers (unless someone would like to volunteer?), so I'd like to minimize the number of times that we would need to do that by utilizing some of these other techniques.

So, what have you tried in your games? What worked for you, and what didn't? I'm eager to hear about other's experiences in this design problem.

(Note to moderator: this topic doesn't seem to fit into any of the other forums so I put it here. Feel free to move it elsewhere if needed).

#4841226 What do you think about the Revelation?

Posted by Roots on 27 July 2011 - 12:49 PM

Rev 21:8 But the cowardly, the unbelieving, the vile, the murderers, the sexually immoral, those who practice magic arts, the idolaters and all liars--their place will be in the fiery lake of burning sulfur. This is the second death."

And I do believe anybody who is found to be unbelieving after God has revealed himself to them won't have a place in heaven. I do not find it inconsistent.

Oh shit, I used to do magic shows at children's birthday parties! Well, guess I'm going to hell for sure now. :(

#4840610 What do you think about the Revelation?

Posted by Roots on 26 July 2011 - 10:10 AM

The ultimate point I've been driving at, is that for any of this to make sense to me, one of the following has to be false:

1. God is all knowing
2. God is all loving
3. Hell exists and humans are sent there for disobeying God

You forgot one:
4. God does not exist. :P

Actually what you wrote there reminded me of a post I wrote on my blog very similar to this a couple years ago. I asked myself "Does God love me?" and did a logical assessment of this question. I'm going to post it below and I'd be very interested to hear a response from any believers.


No video clip to share tonight, but I do want to share something that popped into my head the other day. I asked myself "If God exists, does He really love me?". I thought about this long and hard, based on what properties I "know" about the Christian God and did a logical assessment of this question to see if I could arrive at an answer, or at least get close to one. Here's my logical analysis in a bulleted list format, first with several assumptions stated.
  • Assumption A: God exists
  • Assumption B: God is omniscient (knows everything)
  • Assumption C: God is omnipotent (able to do anything)
  • Assumption D: God is omnibenevolent (possesses infinite benevolence)
  • Assumption E: All humans who do not believe in God will go to hell for all eternity (also: hell exists)
  • I do not believe in God, primarily because of a lack of evidence to support the claim that He exists. (And contradictory to what some theists might think, I am totally willing to change my mind if I am provided sufficient evidence to believe).
  • Because of God's omniscience, He knows precisely what it would take for me to become a believer
  • Because of God's omnipotence, He is in no way prohibited from providing me with the proof I need
  • Because of God's omnibenevolence, He should desire for me to become a believer so that I would not go to hell (which by the way, this omnibenevolent being created).
  • God has not shown me sufficient evidence to support His existence, although many others around the world claim that he has revealed Himself to them in a manner sufficient for them to believe.
  • Therefore one or more of the five assumptions must be false, or some other condition I am unaware about is in effect (explained below).
Analysis of False Assumptions

Lets take a look at these one at a time. If assumption A is false and God does not exist, then all of the other assumptions are also false. Pretty simple, although not a nice outcome for everyone who does believe.

If assumption B is false and God is not all-knowing, then the reason God hasn't revealed himself to me is that he doesn't know how to convince me that he is real. This concept seems a little silly to me though that he can be all-powerful but not all-knowing. If he had the power to make me believe in Him, then why wouldn't he do it? Oh that's right, its because he's omnibenevolent and loves his creations so much that he gave us free will. Including the free will to damn ourselves and suffer eternal torment and torture after death. Speaking personally, I wouldn't exactly call that love...especially since he can change the rules (he is God after all) so I wouldn't go to hell at all.

If assumption C is false and God is not all-powerful, God knows what I need to believe and wants me to believe so that I can be "saved", but is unable to. That kind of sucks. I mean, he had the power to create the universe and everything in it, right? But he doesn't have the power to provide sufficient evidence of His existence to an open-minded human being like myself? Seems kind of far fetched to think that only this assumption is false.

If assumption D is false and God is not omnibenevolent, well then that would pretty much say right there that God does not love me. You know, I think it actually makes a lot of sense if this assumption is false. I mean, God created hell just like he created heaven, Earth, and absolutely everything right? Well what purpose does an omnibenevolent creator have for making a place like hell where people suffer infinite punishment for finite "crimes" in their mortal life (where that crime can be as simple as not believing in the right God)? That doesn't seem like the actions of an omnibenevolent God, or even a good God. That seems like the behavior of an evil, vengeful, immoral God. But again that's just my opinion.

If assumption E is false and hell does not exist, then maybe God doesn't really care what we believe at all if he's not going to punish anyone after death. If E is false, that may also indicate that heaven does not exist, or it may not. I heard in a recent Pew poll that a surprisingly disproportionate number of people believed in heaven but not in hell (more believed in heaven than believed in hell). I also heard that many Christians do not believe that atheists will go to hell either (phew, hope they're right about that one!). I really wish I had a link to these poll results but I haven't been able to find it yet, I just heard about it on a recent episode of The Atheist Experience. I'll talk about it in a future post though, and I'll be sure to find the link then. Anyway, if E is false then that would explain how God could be both willing and able to prove his existence to me, loves me, but has not provided me with the evidence that I require.

Like I said one or more of these five assumptions should be false, so which one is it? Well obviously I'm biased into thinking it is assumption A (and hence all the rest), but I don't want to let my personal bias effect this, so for sake of argument lets say that assumption A holds true. Assumption B's falsehood doesn't make much sense and neither does assumption C. In fact, thinking about it both B and C seem to be kind of intertwined with one another. How can you be all-knowing without being all-powerful, or vice-versa? So lets rule both of those out. That leaves us with D and E. Assumption D could lead us to conclude that God is not a good God, or at least does not possess infinite kindness, which is why he doesn't love me and why I'm going to go to hell as a result. Assumption E means simply that there is no hell, leaving only heaven or a non-existent state after mortal death (or possibly reincarnation or another option, but lets keep it simple and say its one or the other). So God may know that I'm already going to have the same fate as his followers after my death, and since He sees me living a happy life he feels no need to prove Himself to me (although it would still be nice of him if He did). My personal opinion in the order of most likely to be the false assumption to the least likely is: A - D - E - B - C.

Possible Apologetic Counterpoints

Now the falsehoods of those assumptions couldn't possibly explain everything and I'm sure a Christian apologist would be quick to jump in and "correct" my logic. So what are some alternative options for this answer? Well, one could be that God will provide evidence of Himself to me eventually, but just hasn't yet. To which I would respond, what's the wait? There are millions of people younger than I am that he has already proven Himself too. Especially for Him to hold back now, when I am taking a serious look at these sorts of questions, doesn't seem very fair to me. But hey what do I know, I'm only human.

Another argument might be that its not God's fault, but rather it is my fault. Its my fault for setting my standards too high. Really? So I should lower my standards to believe in something without sufficient evidence? If that's the case, then I should be just as ready to believe in Santa Claus, the Easter Bunny, Allah, Shiva, Zeus, etc.. One page I looked through on GotQuestions.org was addressing the question of whether or not there is evidence of God. I didn't read the entire response but I do remember reading a line that said (paraphrasing) "God wants us to believe in him on faith". So, he doesn't want to provide evidence of his existence, yet expects us to believe anyway or otherwise we face the worst punishment possibly imaginable. Well, that's going to be a problem for me. And I reject the notion that it is my fault that I have high standards for what I believe and what I don't believe. After all, before God even made the "rule" that you go to hell if you don't believe in him, he knew that I would eventually be born into this world and I would reject this notion that I have to believe in something without sufficient evidence.

I'm sure there are some other arguments a good apologist could come up with, but those were the two that I immediately thought of.


#4840517 What do you think about the Revelation?

Posted by Roots on 26 July 2011 - 07:43 AM

There's a reason it's called faith not fact. Why should one need evidence to justify their own beliefs to others? Is it not enough to just be able to believe whatever you want without being looked at like a delusional shit eating monkey?

Because people take action on their faith. There are people who state that 9/11 or Hurricane Katrina were punishment from God due to America's tolerance of homosexuals. That's fucking disgraceful and hateful to make that sort of claim and then have nothing to back it up except "faith". People use faith to justify all sorts of horrible things on a daily basis. Of course people also credit their faith with doing good things as well, but in my eyes the bad far outweighs the good when it comes to the result of people having faith. How many people are murdered every day around the world because of faith in a spiritual teaching or holy text that says that certain types of people or forms of behavior should not be tolerated by society?

I used to not care what other people believed, so long as they kept their faith to themselves. But I came to realize that a lot of people try to enforce their beliefs or religious teachings on others. That's why people try to deny rights of LGBT individuals. That's why people vote a certain way. That's why they try to insert their creation myths in science classrooms, where it absolutely does not belong.That's why people bomb abortion clinics or fly airplanes into buildings. And that's the reason why I care about what other people believe.

If you don't want to be criticized about your faith, then don't talk about it. There is absolutely no reason why faith, religion, etc. should be immune to the same critique and criticism that we subject everything else to in our every day lives. Anyone who thinks so truly is delusional. :P If you wish to continue discussing it though, don't complain when other people criticize you for asserting a truth about the universe that can in no way be scientifically demonstrated.

What would happen if you could reproduce your own results with 1 billion other people? Would you assume that 1/7th of the world population generally isolated from each other are having the same halucination?

A large number of people making the same claim is not "reproducing" a result. Several hundred years ago, millions of people agreed that lighting bolts were thrown down by a God named Zeus from the top of Mt. Olympus. If you want to reproduce a result, you need verifiable and falsifiable evidence that anyone could reproduce if they were inclined to do so. Not an arbitrary number of people saying they believe in the same thing (hint: you don't all believe in the same thing, which is why there are over 30,000 different denominations of Christianity today [source]).

Do I think that all of these people are all hallucinating? Some are I'm sure, but not all of them. Generally people are indoctrinated into belief systems and are told that when X event happens, its because god Y did it. So they just simply repeat what they have always been told, and come to believe it because they have never seriously questioned it, never developed the appropriate skills in critical thinking to question it, or simply lack the proper education to understand why certain events happens. Not to mention that they experience punishment, harassment, or isolation from their family and/or their community if they become skeptical of these claims.

#4838715 Lua Helper/Wrapper

Posted by Roots on 21 July 2011 - 06:28 PM

I use Luabind and I wouldn't call it simple nor lightweight. Its an extremely powerful product, but it also has some headaches when it comes to building it into your software and produces the most crazy compiler errors when you get something wrong. However once its setup and working, its absolutely fantastic.

There are other Lua wrapper libraries as well. I think there's LuaPlus, and tolua++ or something. We evaluated all the different libraries years ago and decided to go with Luabind. I would suggest you just google "Lua binding library" and research each product you find and evaluate which one (if any) fits your needs the best. You can always write your own binding library as well, but I'd use caution if you're planning to do this as it is not a trivial amount of work to do. One of our developers originally stated that he was going to write our binding code by hand, and I let him pursue that but he never got too far with it and after he left our team some time later, we had to scrap everything he did and replace it with Luabind.

#4838315 What do you think about the Revelation?

Posted by Roots on 20 July 2011 - 11:25 PM

You call yourself agnostic because you misunderstand the meaning of the word "atheist."

I think you might be misunderstanding the term or maybe interpreting it in a different cultural context.

Theism implies belief in a god, atheism implies disbelief in a god. Most non-religious people here in North-Western Europe (Aardvajk is from the UK) are neither. We're just simply agnostics. We don't know if there is a god or not. Both possibilities are equally probable or improbable. The theism vs atheism axis is not really relevant. The relevant axis is the gnostic vs agnostic, and we are on the latter side - there is no possible way of knowing.

Personally I'm a pragmatic agnostic (or apathetic agnostic as Wikipedia calls it). I'm not an atheist. I don't know if there is a god or not. I don't have enough information to either believe or disbelieve in a god. I will never know (at least not during my lifetime) and as such I really don't care either way.

I disagree with your definition of atheism. Theism is a claim in a divine being of supernatural power/origin. Atheism simply means "not theism", or a rejection of the claim(s) of theism. It does not mean you know there is no god or gods, or reject the possibility that there may exist a god or gods. Others have (often mistakenly) given the word atheist to mean things that is done not, such as one who worships Satan, or one who denies the existence of a god. Theism and gnosticism are mutually exclusive, as one deals with belief and the other deals with knowledge. So you can be an "agnostic atheist", which is what I consider myself. You could also have an "agnostic theist" which is one who believes in a god, but doesn't claim to know that there is one. And likewise you could have a "gnostic atheist" and a "gnostic theist".

So when you say "I'm not an atheist", I honestly think you're wrong considering everything else you describe about your lack of belief. I'd classify you as an agnostic atheist, the same as myself. Whether you choose to use the word "atheist" or "agnostic" to describe yourself is entirely up to you though. I used to call myself agnostic because I mistakenly thought that an atheist was one who asserted that there was no god, but once I learned what the term actually meant (a rejection of the claim of theism) I found that label to be acceptable and better described my views, so I began using it.

Personally I'm a pragmatic agnostic (or apathetic agnostic as Wikipedia calls it). I'm not an atheist. I don't know if there is a god or not. I don't have enough information to either believe or disbelieve in a god. I will never know (at least not during my lifetime) and as such I really don't care either way.

You don't have to "have enough information" to reject a claim. The default position in this argument is the atheist position. The theist is trying to assert the claim "there is a god". The atheist is not asserting any claim. The burden of proof lies entirely on the person making the claim, not the person rejecting it (apologists often try to place the burden of proof on the unbeliever). However if you begin going around asserting "I know there is no god", then now the burden of proof rightly falls upon you, as you are now making a claim which needs to be backed by evidence and reasoned logic.

As a quick example to illustrate what I said above, lets say I make the following claim: "A city of mermaids called Miir exists deep within the ocean, beyond the depth that humans are able to explore". We'll call people who believe this claim to be "Miirs" and everyone else to be "Amiirs". By default, your position is that of an Amiir, because you can't believe in something that you've never heard about before. After hearing my claim I ask you "Do you believe this to be true?". If you find the claim credible and believe it, you become a Miir. If, however, your answer is anything but yes, then you remain Amiir. It doesn't matter if your answer is "maybe" or "I need evidence to confirm" or "you're spouting some serious BS". All of the people giving those types of responses are Amiir.

Does that make sense? So saying "I don't have enough evidence to believe that there is no god" does not make sense, because no one is (or at least, should be) asking you to prove that something does not exist. How could you even prove that something does not exist (especially something as nebulous as a supernatural deity)?

Okay I probably rambled on about that longer than I should, but I hope that clears up any misconceptions about labeling yourself an atheist, agnostic, theist, or whatever. Finally, this video is one of the best explanations I've ever come across that explains the use of logic, reasoning, and faith when it comes to evaluating claims. I highly recommend that everyone check it out, regardless of your position.


#4838263 What do you think about the Revelation?

Posted by Roots on 20 July 2011 - 09:02 PM

I came across an interesting article yesterday that is related to this discussion. It discusses the need for religion in an evolutionary context and how early social and psychological development gave rise to the need for religion in the infancy of our species.


Not expecting everyone to agree with it or anything, but it might provide for some interesting thought. Even if you disagree, you should still be willing to consider alternative view points and opinions, regardless of whether you are religious or atheist. To shut out dissenting views is the height of intellectual cowardice and gives rise to unyielding dogmatic views.

#4837797 Tile transitions

Posted by Roots on 19 July 2011 - 10:59 PM

I can think of three ways to do nice tile transitions off the top of my head.

#1. Create transition tiles by hand
An artist creates transition tiles from one type of terrain to another. You may also have an editor which recognizes the transitions and automatically lays them down when it sees two different terrain types blending in to one another.

#2. Exploit tile layers to provide transitions
This solution still requires "edge" tiles to be made for terrain types, but you don't have to make a transition tile for each type of terrain. Basically you can choose one type of terrain as your underlying "ground" and then have another layer of tiles drawn on top of the ground layer. So you could have one layer that is dirt, and then draw grass on top of it in certain areas, for example.

#3. Use blend masks in your code to create tile transitions
This solution requires the least amount of artwork, but may not look as nice. Basically you could have your graphics engine support creating a transition tile by taking a standard terrain tile and applying a blend mask to it. You can read more about this and see an example of the result here:


For my game, we tend to use solution #1 most of the time because it grants the greatest degree of flexibility and generally looks the best. We employ solution #2 a fair amount as well and it works out great, because it can still look very nice without requiring more artwork. Solution #3, although our graphics engine supports it, I don't believe we've ever used. The reason being because it doesn't look as nice and its complicated to utilize that in a map file, as you basically would have to construct a custom image by adding the tile + blend mask together and writing custom code for the map to get that to work. It would be a huge PITA and is a lot more work than what it is worth IMO.

Our map editor does support custom tile transitions as I mentioned in solution #1 and it is quite nice. It doesn't always get them right, but its easy enough to fix manually if the transition tiles are placed a little wonky. Below is an old video of our editor in action, but I don't think our editor supported this feature when that video was made three years ago.

#4835712 Negative Reputation

Posted by Roots on 15 July 2011 - 10:47 AM

I'd also like to know what's up. I'm so sad that I haven't been able to down vote any posts lately, my wrath is building up to unsafe levels! :lol: