Jump to content

  • Log In with Google      Sign In   
  • Create Account


tychon

Member Since 19 Dec 2004
Offline Last Active Apr 03 2014 10:57 PM
-----

#5107797 Is hacky code allowed in industry?

Posted by tychon on 07 November 2013 - 09:12 PM

There are kludges in any industry, though with varying degrees of frequency. The question isn't whether or not they exist but why they happen. I've only done games as a hobby, so I can't comment much on patterns for that industry, but my experience with them is that a kludge happens when deadlines loom, developers gloom, and project managers give out ultimatums of doom. In general, a kludge is a sign that either your design isn't working, you don't understand how to work with your design, or you're in a very funky context. The last one being rather uncommon.

 

Given that Mario.collide is calling a method on Block, is there some reason you can't have Block.createMushroom or Block.collide(thingHittingMe)? Does it need to be in update for some reason? An event makes more sense to me than an update loop for a context like this--the collision happens once at one moment and really only needs to fire off, "Hey, I've hit something!" to the interested parties (usually those involved in the collision). It's a lot cheaper than every few milliseconds, "Am I hit? Am I hit? Am I hit? I'm hit! Am I hit? Am I hit?"




#5107093 Fixed-radius near neighbor search

Posted by tychon on 05 November 2013 - 12:16 AM

You might also look into an R tree. If you're doing a lot of modifications to the structure at run time, an R tree will outperform a kd tree. A bit more complex though.




#5056782 AI Bots- Why are they hardly used anymore?

Posted by tychon on 25 April 2013 - 06:53 PM

One of the selling points for Black Ops 2 with my group of friends was that it supports AI in local multiplayer. We'll gang up on the bots or use them to fill out our teams, which makes it far more enjoyable than yet another session of 2v2 against each other. The lack of split screen and local AI support is one of the biggest reasons I've lost interest in many mainstream titles. I do happen to enjoy spending time with my friends, which seems to be a foreign concept to most games. Short of each of us bringing a console and TV with us, of course.

 

Thus one of the driving interests in game development for me. I don't know of any other way to solve it.




#5053465 Multiline comments - why the extra stars?

Posted by tychon on 15 April 2013 - 09:27 AM

My brain shrieks at me until I get all the asterisk filed into a neat, little column. This is what I benefit from it. However, I typically reserve the star-filled comment format for documentation and not regular commenting.




#4960781 [Weekly Discussion] on RPG Genre's flaws - Week 4 : "Exploration]"

Posted by tychon on 18 July 2012 - 09:00 PM

I think our views differ a bit. To me exploration is something you do to discover more narrative, to discover more loot, to find more companions, to find more monsters to fight, to tick off a component in a quest, or just to nudge the map completion counter. If you have to add a mechanic to make it not-boring, then I think your issue is that your geographic scope has grown beyond your narrative scope. This largely stems from my view that a JRPG is meant for narrative. If there isn't a narrative reason for a region (which means no companions to be found, no personal or cultural understanding to be gained) and there is no combat in that region (no leveling to be had and little or no loot outside of boxes), and no quest sent me here, save perhaps as a connection between two areas that actually have a point, why did you add that region to the game? As a user, it would just strike me as filler to make your game artificially larger and of course I'd get bored with it, necessitating some extra mechanic. Maybe I'm misunderstanding the intent of the question or the nature of your game; I'm just running off of my experience with JRPG. That being said, let's see if we can't come up with something.

Most of the thoughts that first come to mind are less of a direct mechanic so much as a passive utility. For example, suppose your game worked like Chrono Trigger in that enemies were something you actually saw wandering around. If you borrowed the idea of the surface material type affecting combat bonuses, you could have a swampy region where exploring to find a small patch of dry land as a "safe" region would be beneficial. Players could lead enemies toward this point such that they start combat while standing on land while the enemy is still in the swamp conferring a bonus to them. You could also use traps to cause enemies to enter combat with negative buffs. Say, the player scouts ahead and spots a hefty ogre that might be a bit of a fight, but the game then pans from the ogre to a pitfall trap without showing how to get there. They then have the option of just fighting the ogre outright or trying to find the trap and lead the ogre into it.

You could also have an auto-scrounging system running as the player wanders around. Rather than forcing the player to click on everything in the hopes that they figure out the designer's devilish design and find which drawer in the room of cupboards actually works, have the player automatically grab nearby low-level items or crafting components. Suppose that healing items in your game are expensive. The player can buy them if they want, but wandering around grasslands means they have a random chance of gathering the herb components necessary to make one. If each tile can only give up so components before becoming barren, the player will necessarily wander farther afield. This in itself isn't a particularly exciting mechanic, but it does incentivize moving around a bit.

Or perhaps your game is set in a sky-island. The evil wizard Foo is draining the world of its magic and so the island is losing its stability. You can turn this into a mechanic by making sections of the ground only able to hold so much "weight". This works to provide a potential danger (the player can fall through, though making the ground shake a bit before this happens would help keep the player from getting annoyed with dying unexpectedly), a potential combat trick (lead enemies onto the ground and watch them plummet), as well as an obstacle (the ground has fallen out; now we have to find another way around). You'd obviously have to either make this only happen in certain areas or guarantee that there is at least one (perhaps initially hidden) route that cannot fall. This also allows for such novel items akin to Link's hookshot, some sort of glider, or a sky-walk skill that can be learned eventually.

If your game is set in space, exploration is a pretty easy one with space ships. Finding routes that get around space pirate regions, discovering unknown planets, and resource management. This is easy to make more annoying than entertaining, though. Especially since we're focusing on 2D JRPG, this approach would be... hm. Doable, but I'd have to think on it.

I'm sure I could spout off other things, but it starts to depend too much on the game's context. And I still don't think it's so detached from the reasoning. If there's no combat and no narrative, and you don't have a strong backstory purpose to the mechanic -- "Oh, didn't you know? Prof. Flazzlebazzle made our feet toxic, so we always have to walk a different path or we'll end up poisoning the earth and that'd be bad." -- I think most mechanics you can come up with will come off as cheap eventually. At least in a more typical JRPG system. Flinging around with the hookshot in Zelda is just fun, but the whole point of those games is item-based adventuring.


#4960635 [Weekly Discussion] on RPG Genre's flaws - Week 4 : "Exploration]"

Posted by tychon on 18 July 2012 - 02:27 PM

I think that making exploration fun depends on the context of the game. A 3D first- or third-person perspective title can make exploration fun for scenic discovery, and for shooter genres, discovery of a position of superiority or cover and concealment. However, since you're focused on a 2D JRPG I think the context is narrative.

Given that a JRPG tends to be linear, or at least strongly pushes the player in a particular direction, so that the story unfolds in a predetermined sequence, the narrative discovered from exploration has to be secondary to the main plot, or at least optional in that the full breadth of the story can be appreciated without discovering a particular area. For example, expanding on personal interactions, such as Tales of Vesperia did with skits, on personal background, such as a character stumbling across an old haunt and providing backstory for themselves, or even on social and cultural background by describing the region, structure, or whatever other element they're interacting with by traveling through the area. How this additional narrative is revealed can be accomplished in a number of ways. The skits idea used by Tales of, walk-along dialogue as the party travels, or even expanding entries in an encyclopedia, such as was done with the codex in Mass Effect. Heck, you could even work the act of exploration into the narrative. Perhaps your character is a cartographer and his whole point in being here is to survey the land.

Since narrative is the main context of a JRPG, I feel like this should be the main purpose of exploration, but it doesn't need to be the only reward for it. Most JRPG I've played would put a treasure chest in some optional branch, giving you an item that you might not find anywhere else. As mentioned in another of these threads, XP can be rewarded for stealth or cunning, so if your explorative branch ends up leading the party around some combat obstacle, you could reward them with XP for it. Passive rewards are also a possibility. Suppose your game has multi-character combos, such as in Chrono Trigger. Revealing backstory about a character could make the party more connected with them and provide a synergistic boost, so any combo using them gets a +5% effect or some such. Though I think you need to be careful with this because making these rewards too powerful can lead to exploration being more of a treasure grind than something you do optionally because it's fun.

Making the exploration 'dangerous' could be achieved through events: the mountain path you chose to take gives way to a landslide and you have to dodge trees. This particular mechanic would get tiresome if everything were a timing event, so you can always mix it up with puzzles that trigger traps if solved incorrectly or mini-game progression (think the bike race in Chrono Trigger). Even a Metal Gear Solid style hallway sneak is possible. You avoid making the exploration itself rely on combat by instead making the failure consequence a difficulty increase on future opponents on the main path, and these being opponents you would have had to fight regardless.


#3360115 random solar system names

Posted by tychon on 21 November 2005 - 11:19 AM

I don't know if your game makes the distinction, but you may look into making a few set of phonology rules based on the controlling region's language.

For example:

Race A has the sounds A, TA, TU, VE. VE may never appear after an A, and TU may never be the first syllable - unless separated by a glottal stop.

Tu'vea, Atave, Veveta, and so on.

Race B has the sounds GA, LU, TOR, MAS, NAL, AS. LU may never be the initial syllable, and the M in MAS changes to V when the previous syllable ends in a vowel.

Masga, Torluvas, Nalluas, Tormasnal.

And so on. From there you generate names based on those races' rules. It will create a much more natural looking distinction between a group's boundaries. Of course, I also recommend the ability for the player to have an alias name for a system - in some cases, a planet I commonly travel to would ring a better bell if it sounded much more natural to me, as opposed to whatever the locals call it. On further thought, unless you're assuming that all systems are known by the player prior to playing, you could use a simple index system to name uncharted systems, thus allowing the player to either learn or choose the name for new systems.

Just a thought. [smile]


PARTNERS