Show Posts
|
|
Pages: 1 2 3 [4] 5 6
|
|
61
|
Developer / Technical / Re: Code Review
|
on: March 12, 2009, 05:25:27 AM
|
That's the most common response to my point, but I don't really buy it anymore: when was the last time you went back to a game's code from 5 years ago, or even 2 years ago? Typically after you release a game, it's out, it's done, you don't go back and update it years later.
In the rare cases that I've had to return to a game's code after a few months, yes, you sometimes forget what a variable does here and there, but it's not really so big of a problem that it's worth the sacrifice of commenting every function or revising your code for understandability, especially when a game has 10k+ lines of code. As long as you write short functions with understandable variable and function names, figuring out what you meant a function or a variable to do is usually trivial in my experience.
Documenting code takes only a fraction of the time to write the code. Besides that, it's a good habit to get into in case you eventually do make it into a team, or get into a team project, because you'll be used to documenting your code.
|
|
|
|
|
62
|
Community / Townhall / Re: Submit an article to TIGSource!
|
on: March 12, 2009, 05:22:37 AM
|
You just have to feel sorry for the girl when it clumsily drops to the ground of exhaustion it? It's a Germanicism that English doesn't have anymore, and since Andreas is German. Basically, the common translation of "Girl" to other Germanic languages ends in the dimunitive. Words that end in the dimunitive are grammatically Neuter, and use the Neuter pronoun. As such, the common translation of Girl to German uses the German equivalent of "it" as the pronoun.
|
|
|
|
|
63
|
Developer / Technical / Re: Code Review
|
on: March 12, 2009, 04:51:08 AM
|
While I like this idea too, I think there's the often the danger of overemphasizing programming in game development. Indie games often don't have or need the level of quality in their code that professional games and other programs need. Part of the reason for code quality standards is working in a team with other programmers; when you work alone a lot of it becomes moot because as long as the program works and is understandable to the person who wrote it it doesn't matter how well it's coded. And I often see a lot of indie game devs get too caught up in programming something well rather than getting it done. But I think this could be a good idea anyway, particularly for people who aren't very good programmers (although my impression is that only the people who are already competent programmers would take advantage of this).
Readable code isn't just for teams, it's for your future self as well. Imagine you have myGame, it works pretty well, you haven't found any bugs. Five years later, due to myGame's success, you decide to make myGame 2, and decide to reuse the myGame engine. When implementing a few new features that rely on some of the elements of the myGame engine, you realise that there actually where bugs in myGame, you were just lucky enough not to have written code that makes them noticable. Problem is, you have written barely any comments, and you don't understand your own code anymore. <beep> That's going to cost you a lot of time.
|
|
|
|
|
64
|
Developer / Design / Re: Discussing Strategy Game Mechanics
|
on: March 12, 2009, 01:42:49 AM
|
Hmm. Are there any RTSes out there that have strategy, but no economics? In general, resource management is what seems to turn an RTT into an RTS That would be the unholy bastard of the two genres that none of the other relatives talk to at family gatherings. A RTT game is partly defined by exclusively dealing with operational stuff (no economics, research or production in-game) and partly by being a realistic or believable battle simulation. Warhammer: Mark of Chaos was one of those abortions where they simply took a RTS game and removed base-management but kept the vanilla unit system (threw on some half-assed "formations" that weren't solid or stable during movement). "Real" RTT games have very advanced combat mechanics. And then there are games that are Strategy and transform in a sort of limited Tactics game when a battle occurs. (Example: Age of Wonder series [While the units are mostly vanilla, the battle system is definitely much more tactical than normal strategy games])
|
|
|
|
|
65
|
Developer / Design / Re: Different Ways to Level Up
|
on: March 12, 2009, 01:36:10 AM
|
IMHO, something like the following /could/ be a good idea. Story provides you with new abilities. Levelling provides you with improved versions of abilities you already have. So, to take the Final Fantasy magic system as an example, you get the Fire spell after finding the crystal of Fire; After a bit of levelling, Fire upgrades to Fira. How and whether you do this depends on the requirements of your game. It could be as simple as the following, or incorporate things like the level at which you got the ability, if((this.level >= ability.requiredLevel) && (ability.satisfiedRequiredEvents(this.eventList)){ //Code goes here }
|
|
|
|
|
66
|
Developer / Design / Re: Discussing Strategy Game Mechanics
|
on: March 11, 2009, 08:13:32 AM
|
The first of those problems seems like it's a problem with realism but not a problem other than that. I mean, yes, it's unrealistic to build marines from a barracks out of crystals you collect, but games are usually a layer more abstract than reality. It's also unrealistic to jump several times your character's height in a platform game, but it doesn't make a platformer *bad* if you can jump several times your height, just unrealistic. Similarly, I don't think it makes an RTS bad to build units out of buildings, just unrealistic.
I disagree. The ability to mass-produce units leads to unit spam. I'd like to see more games focus on commanding a small but varied army rather than massive amounts of monotonous units. I sadly can't remember it's name, but there's this RTS I used to play that started you off with a small tribe, and required you to build housing, where females could get pregnant and get children, and if you wanted something other than a generic farmer you needed to take one of your inhabitants and train them to do that. -- Awfully slow compared to most RTSs (mostly due to the time it took to build up a decent army), but it did incorporate things like this.
|
|
|
|
|
67
|
Developer / Design / Re: Different Ways to Level Up
|
on: March 11, 2009, 07:49:55 AM
|
You could just continue giving XP for the same task, but decrease the amount of XP by a small amount for every time it's done. That way, it's still possible to level up by grinding, but the player is rewarded for exploring and trying new things.
But this is how it always works? The difference though being the amount of XP needed for the next level increases. I imagine it working something like this. You're actually doing the same thing three times here. You're reducing experience gained based on (1) the character and on (2) the number of creatures beaten, and presumably (as konjak said) (3) the amount of experience required for each level increases. 1,2 and 3 all have the effect of making it harder to gain each level, and making it less effective to keep killing the same things over and over again. So you only really need to do one of these, because the effect is the same. Some other ideas for levelling: - give a level at specific points in the game narrative, regardless of number of kills. - give experience for one-off achievements. exploring a dungeon, opening a chest, killing a monster THAT DOESN'T RESPAWN. then there's no way to grind because you have to keep progressing forwards. (alternately, have monsters respawn but don't grant XP for a second kill) A lot of games do 1 and 3, that does not make grinding any less effective in those games. Mind that (in method 2) I do not reduce based of monsters killed indiscriminately, but rather monsters of a specific type. 1 promotes fighting monsters of a similar level to yours. 2 promotes fighting different sorts of monsters. 3 extends the time required to gain a level, and depending on how you set things up, might not actually be necessary or wanted. As 2 promotes fighting different sorts of monsters, it diminishes the effect of staying in the same area, even if they're still around your level (thereby requiring you to move around.) If an area's monsters becomes beatable 3 levels above your level, and cease to grant an effective amount of experience 3 levels beneath your level, that's 6 levels worth of grinding. Now, applying this effect, it would likely be a waste of time to try to get more than a level in a single area, and you'll likely hit a soft level cap if you don't progress the story (due to the fact you can't progress to other areas yet.) This makes it so that it's far easier for the game designer to estimate at what strength lazy players are (for which the fight should be difficult but managable), and at what strength 'grinding' players are (for which the fight should be easy-ish, but remain a challenge.), and allow for boss fights that are fit for lazy, grinding, and average players. The reason I prefer this to, say, stop giving experience for monsters 5 levels below yours, is that this stops a player from going to the highest level area he can access and keep killing stuff until he hits the cap, and promotes exploration. This then, allows your players to see more of the world you build, gives them a higher chance to find sidequests. BTW, having quests give experience (especially sidequests) has advantages as well, and if you make them original and different, this can drastically reduce grinding, and making them original does not turn it into quest-grinding either. In single player RPGs, it's even better if you make those things give lasting effects. (Use a (few) variables that track the reputation of each character, and change responses of NPCs, from minor to big ways. Like having the heroic PC who helps everyone and their mom be stormed as soon as he enters a village that's having troubles, or a PC who's known for magical prowess might get a letter from another mage to ask him whether he could out with the magical research said mage is doing.)
|
|
|
|
|
68
|
Developer / Design / Re: Procedural Generation
|
on: March 11, 2009, 07:01:37 AM
|
|
How I've done it in the past:
Create a small number of 'tiles', which detail edges and the like. (Example, river tile requires a river tile on at least one border, and a water tile on at least one of the other three borders.)
Then subdivide these tiles into smaller tiles, and make sure they fit the bordering tiles, even those that are in other big tiles.
Continue as needed.
Say, you have a strategy game, and the game level is 600 * 400 game 'units'
First create a tilemap of 6 * 4 head tiles, these are the main 'zones' of your level, make these fairly general (It doesn't make sense to define a river at this point, but a body of water is acceptable)
Subdivide each of those tiles into 25 tiles, this makes things a bit more interesting, and doing the big jump early creates a fair bit of randomness. Subdivide each of those tiles into 4 tiles to spread things around a bit, accenting earlier structures, rather than create new structures. Subdivide each of those tiles into 4 more tiles, creating the final structure. Subdivide each of those tiles into 25 more tiles, for the details. (Optional) Subdivide each of those tiles into smaller elements that consist of graphical detail, rather than gameplay important material.
--
This creates very little repetition, but does create a new world/scenario/level that makes internal sense (assuming the tile distribution mechanism makes sense.)
It's also easy to adapt to bigger or smaller levels, as long as they are rectanglesof which the dimensions are multiples of 100 game units.
|
|
|
|
|
69
|
Developer / Design / Re: Different Ways to Level Up
|
on: March 11, 2009, 06:33:03 AM
|
You could just continue giving XP for the same task, but decrease the amount of XP by a small amount for every time it's done. That way, it's still possible to level up by grinding, but the player is rewarded for exploring and trying new things.
But this is how it always works? The difference though being the amount of XP needed for the next level increases. I imagine it working something like this. (in the Monster object) public int GetXP(Character c, int partySize){ int numberBeaten = c.getNumberBeaten(this.id); //calculate base XP for this character. Will floor due to ints, //but that won't be a problem in most games. int xpBase = ((this.xpWorth * this.level) / c.level) / partySize); //Modify for for familiarity, replace 0.95 with whatever number //you require int xpFinal = (int) ((double) xpBase * Math.pow(0.98, numberBeaten); return xpFinal; } I chose 0.98 because it doesn't go down too fast to make random encounters a chore that barely gives any XP, but does go fast enough that any grinding will become a waste of time. Imagine we have a monster that has an xpWorth of 300, we have a sole character going up against this monster, and they both have the same level. First time, it's 300 xp. Second time, it's 294 xp, very minor difference. Tenth time, it's 250 xp, noticable, but not crippling. Twentieth time, it's 204 xp, definitely noticable, but it's still likely to be a boost. Thirtieth time, it's 166 xp, starts to hurt now, but it's pretty likely that the character is grinding by now. Fortieth time, it's 136 xp, sure it's only a bit less than the thirtieth time, but it already hurt then, and if you need the amounts of xp you got by this amount of grinding, you've started to seriously waste your time.
|
|
|
|
|
72
|
Developer / Business / Re: How long does registered trademarks/copyrights last when it comes to games?
|
on: March 10, 2009, 11:24:57 AM
|
|
Not up to date with the USA's trademark laws, sorry. I wouldn't be surprised if it's a similar situation to the way copyright works in the USA (retroactively register and be able to sue for a smaller amount of money than you would have if you did register it.)
One important thing, due to the way trademarks work, if they have legal ground to sue you, they likely will. (While it's allowed to bat an eye towards copyright violations, trademarks need to be defended.)
The savest thing is just to avoid intellectual property infringements, and if you want to do something 'grey', contact a qualified legal expert who is up to date with the respective laws in your area, his advise will be likely superior to any which you can get for free on the internet.
|
|
|
|
|
73
|
Developer / Business / Re: How long does registered trademarks/copyrights last when it comes to games?
|
on: March 10, 2009, 10:29:42 AM
|
|
You pay for a period of time.
And ® is registered trademark, TM is unregistered trademark.
A registered trademark automatically turns into an unregistered trademark once it's last payment expires.
Unregistered trademarks generally have far less protections than registered trademarks, if they have any protection at all.
Another important thing to remember is that companies are legally required to defend their trademarks in many western countries, especially so for unregistered trademarks.
A registered trademark can be looked up (there might be a fee) in the database of the local authority on trademarks.
General rule o' thumb: Do not use unregistered trademarks of a franchise that has seen commercial exploitation in the last ten years, do not use registered trademarks at all, and it would be preferred if you used bootleg-like or completely original names. (Don't use Caverns of Khafka, use Caves of Askhaf.)
--
Another important thing I forgot to mention, patents.
Patents are much like registered trademarks, you pay a sum of cash to a jurisdiction to get the patent for x years, and it's not unusual to have the possibility to pay more cash to extend.
If there are elements of a game that are patented, forget it, cloning or remaking that game is a Bad Idea. Whether the patent is enforcable or not, the big companies that own the patent can throw so much legal power at you that it'll be a financial burden that you likely can't take.
|
|
|
|
|
75
|
Developer / Technical / jMonkey Engine - Opinions, tips, and tricks
|
on: March 10, 2009, 06:35:31 AM
|
|
I'm considering using the jMonkeyEngine (jME) for a game written in Java.
Now, I'd love to hear from people who have used this library in the past, whether it's good, tips and tricks with this Engine, things to watch out for.
Thanks in advance.
|
|
|
|
|
76
|
Developer / Business / Re: Choosing an Open-Source License
|
on: March 10, 2009, 06:23:49 AM
|
Okay. Here's the deal. I'm working on a thing that I want to open source. However, I have specific requirements for a license:
No copyright OR copyleft. I want my work to be freely distributed and/or modified, but I don't want to force anyone to make their projects open source just because mine is.
Attribution. I want credit that the person has modified/used my code. Pretty simple.
I've found plenty of licenses that fit the first one, and a few that fit the second one, but none that work both ways. Of course, there's Creative Commons Attribution license, but it explicitly states on their site not to use it with software. HALP
what you need is LGPL (GNU Lesser General Public License) http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_LicenseNot Exactly, LGPL is copyleft, it just allows you to link to the library without publising the software you link to it. (Unlike GPL which requires you to release software linked to it under the GPL.) Any changes to LGPL'ed software still need to be released. In this case, the classic BSD license would suffice. Alternatively, you could put in a clause like this: <software> is copyright © <year> <copyright holder> <copyright holder> grants the recipient(s) of <software> (Called the "licensee" in the remainder of this text) a perpetual, freely transferable, non-exclusive license to modify, compile, and redistribute this software and/or it's sourcecode in whole or in part, as long as the following condition(s) are upheld: - Any materials used to promote, provide information about, or used in destribution of this software and/or any derivations of this software must include the following notice: "This software includes contributions by <copyright holder>"
- Any software distribution that includes <software> in whole or in part that has been licensed to any third parties by the "licensee" must include the following notice "This software includes contributions by <copyright holder>"
(By the way, use that as you like, if you want. Note that while I have lawyer friends, I am not a lawyer, and this preceding license example does not come with a warrantee of anything, including usability, fitness of purpose, and a lack of loopholes.) Have a nice day.
|
|
|
|
|
77
|
Developer / Business / Re: How long does registered trademarks/copyrights last when it comes to games?
|
on: March 10, 2009, 04:11:34 AM
|
|
Copyright of corporate identities lasts for at least 50 years after release, more depending on jurisdiction (the Berne convention specifies 50 year, with the option to extend).
(Registered) Trademarks last as long as people will pay for them (Sometimes up to a limit), but is more expensive the greater area you want them. (Don't forget what happened with Smarties, there's a North America based company that holds the North American Trademark for Smarties and another company that holds the Trademark for Smarties for the rest of the world, two reasonably different products.)
Unregistered Trademarks vary heavily depending on jurisdiction.
|
|
|
|
|
79
|
Player / General / Re: tigIRC?
|
on: March 09, 2009, 07:41:24 AM
|
|
Pissing off a moderator is like pissing of a police officer.
I dunno about your place, but there are some limits about what you can legally say to a police officer "on the job" here, precisely because you need to have some respect for the guys keeping up the law. Same thing with moderators, or guys with ops in an IRC channel.
The people who are there to keep up the law/rules have been granted some priviliges to allow them to more effectively do that. Expect them to use those priviliges if needed.
|
|
|
|
|