Jump to content

  • Log In with Google      Sign In   
  • Create Account

Explodinator

Member Since 21 Jul 2011
Offline Last Active Mar 24 2013 04:33 PM

Posts I've Made

In Topic: What is the best method for planet generation in a playable game(if any)?

14 June 2012 - 01:44 PM

If you're looking for a relatively trivial solution, create a set of predefined objects, randomly scatter them around the planet. An object can be anything from a dungeon room to a mountain to a tree. This solution for procedural generation is useful for creating meaningful features. Oftentimes, procedural generation a-la-minecraft generates a plethora of meaningless features. It may be pretty and cool at first sight, but after a couple of hours it quickly becomes stale.

In Topic: Attack Scripting?

14 June 2012 - 01:32 PM

// Chain Lightning Pseudocode

ChainLightning.effect(Attacker,Target){

	 Attacker.state = ("Casting")
	 Draw lightning from the Attacker's sprite to the Target's sprite
	 Target.state = ("Hurt")
	 Target takes (Attacker.Intellect / Target.Lightning_Resist) damage
	 Target.Hit = True
	 show the damage done on the screen, over the target's head

	 while(Target is not null)
	 {
	 	 OldTarget = Target
	 	 Target = NULL
	 	 check tiles within 2 spaces of target
	 	 if(tile contains a unit that is hostile to the attacker and has not previously been hit){
	 	 	 Target = found unit
	 	 	 Target takes (Attacker.Intellect / Target.Lightning_Resist) damage
	 	 	 Target.Hit = True
	 	 	 Target.state = ("Hurt")
	 	 	 show the damage done on the screen, over the target's head
	 	 }
	 }

}


Ok, you seem to not understand what I was getting at. You need to generalize what you're doing as much as possible in the context if your game, not write a new language.

That means things like variables, loops, properties, etc. should be kept to a minimum. You define a set of rules in the context of your game and have your parser execute the programming logic.

In Topic: [C#] Game Saving Problems, Files are too large

14 June 2012 - 12:47 PM

serialized classes are huge. avoid them when dealing with anything that has fields other than raw types.

In Topic: Attack Scripting?

14 June 2012 - 12:44 PM

LUA does the job fine.

If you absolutely must define your own language, I suggest reading up on parsing: http://en.wikipedia.org/wiki/Parsing
Then, you can make your own pseudo-language that is simply used for your game and therefore easily usable:

Filename: ChainLightning.spell

"Chain Lightning"
required $caster $power $cost
decrease MANA of $caster by $cost
select $a in range(4,$caster)
select $b in range(1,$a)
select $c in range(1,$b)
damage $a by $power
damage $b by [$power/2]
damage $c by [$power/4]

This type of language is easily parsable and readable by the average non-programmer. The disadvantage is the strictness of the syntax and lack of power, obviously.

In Topic: RPG Mechanics In RTS Games

28 May 2012 - 07:20 PM

Average players do not go to 100-200 meaningful APM; they hover around the 100 range. I don't think APM is the same as multitasking, but multitasking increases the required APM of a game. By contrast, DotA can be played with 60 APM even though top players spam over 150 APM.

As far as straying from the Action RTS design, that's a design choice that is ultimately up to the developer. I've mostly given my opinion from an Action RTS fan about the subject, so take from that what you will. I really do not have the experience in non-conventional RTS games to offer any advice on the subject.

PARTNERS