Nillo
|
|
« on: February 06, 2012, 12:23:05 PM » |
|
I just finished a game, and I can already feel the itch to start a new one. Let's do this! Woo! Here is a sketch of my battlefield layout (all sprites are placeholders): Basically, my inspiration for this game will be the Heroes of Might and Magic series. I want a game where you control a party of characters, recruit new ones, slay monsters to collect treasure and experience, and generally have fun in a turn-based RPG setting. So yeah, I haven't started coding this yet, but I'm very much open to ideas and comments.
|
|
« Last Edit: February 12, 2012, 06:38:58 AM by Nillo »
|
Logged
|
|
|
|
Nillo
|
|
« Reply #1 on: February 06, 2012, 12:45:32 PM » |
|
Random thoughts: -I might want to make the game "impartial" in terms of creatures - basically the only difference between a hero and a monster should be which side they are on. This means that I can do all sorts of cool things later, like add a monster to the party or make the heroes fight each other. -Characters receive special traits as they earn experience. For example, a Warrior type might have "Healthy" trait that makes him resistant to poison. Unlocking new traits will gradually cost more experience. I could also limit the maximum possible traits to four. This would mean that the player would always have to choose some traits for their heroes and forgo others. -I need to figure out a good way to limit skill/spell use in a fight. I could do a simple "mana" system, or I could give each skill/spell a certain number of uses per fight. This will make a significant difference when balancing the spells later on.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #2 on: February 06, 2012, 03:07:40 PM » |
|
What I did today Coded movement for heroes and selecting units. A selected hero can now move, and their Moves will be reduced by 1 for each step. When all heroes have used all their Moves, the game proceeds to the enemy turn (where nothing currently happens). After the end of the enemy turn, the game will go back to the player's turn and the heroes can move again. Player can select different heroes by clicking on them or by pressing Tab. When Tab is pressed, the next hero is selected. The next hero is also automatically selected when a hero runs out of Moves. The interface now displays all information related to the selected unit properly. Finally, added a collision detection system so heroes can't move into trees and stuff.
What I'm going to do next I'm going to make a simple artificial intelligence system for hostile units. It will be based on a delay variable, and the player will be able to set how fast they want the AI to move during their turn. The monsters should move randomly until they notice a hero unit. If they notice a hero, they should move towards that hero.
|
|
|
Logged
|
|
|
|
Inanimate
|
|
« Reply #3 on: February 06, 2012, 03:46:27 PM » |
|
I've always wanted to try Heroes of Might and Magic; now I get to do that, and play some delicious indie stuff. Looking eagerly forward to progress!
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #4 on: February 07, 2012, 04:26:10 AM » |
|
What I did todayBig stuff! Monsters now have a simple artificial intelligence. Each one of these "blob" enemies has a sight range of 256 pixels. When it is not alerted, it will move randomly. If it sees a hero, it will become alerted and move towards the closest hero it can find. The delay is currently set to 20, so the AI will move once for every 20 application ticks. When the AI has used all its moves, the turn goes back to the player and the heroes can move again. What I'm going to do nextCode the actual attacks. If a hero tries to move into a monster, or the other way around, it should initiate an attack action. The attacking unit should damage the target based on the attacker's Attack and the target's Defense. I should also code a message system. Messages will display at the top of the screen. They will say how much damage is dealt by attacks and many other kinds of useful information.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #5 on: February 07, 2012, 07:20:50 AM » |
|
I have reached a milestone in this project: The first playable build You can download Griddy Heroes v0.01 here: http://solidfiles.com/d/da9f1a82a4/What I did todayUnits can now attack each other. If the HP of a unit drops to zero, it dies. Attacking with a unit costs all remaining Moves of that unit. I have also added a message system. The messages display important information such as the damage dealt by attacks. I have added a simple menu screen with three buttons. Pressing one of these buttons sets the difficulty level of the battle, which affects the units you control and the enemy units you are fighting. What I'm going to do nextI'm not sure. I might start working on spells, skills or special unit traits. We'll see
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #6 on: February 08, 2012, 05:27:41 AM » |
|
Bad News. I have encountered a fatal crashing error in Construct when repeatedly moving between two layouts.
This actually isn't the first time I've encountered this error; I also found it in Griddy RPG, where it would cause the game to crash if you went back to the main menu from the game layout, and then returned to the game layout. I solved this problem back then by simply making it impossible to reach the main menu from the game layout. However, in this new project, changing layouts many times during gameplay will be essential.
I'm putting this project on hold until I can figure out what to do about this. If necessary, I may move the project to Construct 2. It depends on my economical situation (that stuff is expensive) and advice from my fellow forumers on Scirra.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #7 on: February 09, 2012, 01:04:25 AM » |
|
What I did today Fixed that cursed crashing error. Hopefully. I've tested it a few times, so it should be okay. I also implemented some randomness into the enemy movement. If a hero is positioned diagonally away from an enemy, that enemy will no longer be predictable and pick the same direction to move in every time.
What I'm going to do next Implement a targeting system for spells and skills. I want to have a special selector that shows the area that a skill/spell will affect, and a range indicator showing how far you can use the skill/spell.
Random Thoughts I might want to consider making skills and spells more different from each other. Right now the plan was to have both of them be "one use per fight". I might make the skills multi-usable and the spells single-use. This would mean that spells would generally be stronger than skills, but require more timing on when to use them.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #8 on: February 09, 2012, 04:39:44 AM » |
|
Range indicators!
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #9 on: February 09, 2012, 01:36:44 PM » |
|
What I did todayA fireball spell. It deals damage equal to the user's Magic attribute to one target unit, and half that amount to all adjacent units (including allies and enemies). Like all future spells, it is only usable once per battle. All units who are damaged by any skill or spell will become alerted. What I'm going to do nextA healing spell that restores the hit points of a target unit.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #10 on: February 10, 2012, 01:56:07 AM » |
|
New playable build! Download v0.02 here: http://solidfiles.com/d/9fa697a25c/What I did todayMore spells than you can shake a stick at. I've created the new spells Heal, Test of Faith and Burning Hands. Currently, these are making the wizard unit a little overpowered, but I'll worry about balance issues later in development. What I'm going to do nextProbably skills or traits. I'm considering giving the Fighter unit a "Cleave" trait, which makes it deal damage to nearby enemies in addition to the primary target. But I also want to give him some skills so he is actually fun to use in battle. I will also create a help window that shows information about the skills and spells of the selected unit.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #11 on: February 11, 2012, 07:01:51 AM » |
|
What I did todayWorked more on the spellcasting system. It is now possible for spells to have a minimum range. The red area shows where you can't cast the spell. Also, I improved targeting controls a little. If you're at the edge of casting range and press one of the arrow keys, it will move towards that direction. For example, if you're at the right edge and press up, it will move up and to the left. What I'm going to do nextProbably more types of spells or spell descriptions. I'm thinking about adding a Flamethrower spell that is cast in a line originating from the caster. This will require some additional targeting code.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #12 on: February 11, 2012, 08:35:27 AM » |
|
Random Thoughts I'm doing a rough draft of the experience system. I want it to be easy to upgrade units a few times, but make it really difficult to create a "super powerful" unit. Exponential growth is key.
Stat upgrade costs: Based on the original value. Upgrade costs rise exponentially with each upgrade.
Base cost: 50 experience Cost doubles after every upgrade Formula: (Base cost) / (Base value, minimum 1) * 2^(number of upgrades), rounded down
Using the following base values: 3 attack, 2 defense and 0 magic Upgrade from 3 to 4 attack costs 16 experience. Upgrade from 4 to 5 attack costs 33 experience. Upgrade from 5 to 6 attack costs 66 experience. Upgrade from 2 to 3 defense costs 25 experience. Upgrade from 3 to 4 defense costs 50 experience. Upgrade from 0 to 1 magic costs 50 experience. Upgrade from 1 to 2 magic costs 100 experience.
Buying a new ability (trait, skill or spell): Cost rises exponentially with each bought ability. Original (non-bought) abilities of the unit are not counted.
Base cost: 30 experience Formula: 30 * 2^(number of purchased abilities)
Unit with 1 ability has to pay 30 exp to get 2 abilities. Unit with 1 ability and 1 bought ability has to pay 60 exp for 3 abilities. Unit with 1 ability and 2 bought abilities has to pay 120 exp for 4 abilities. Unit with no abilities has to pay 30 exp to get its first ability. Unit with 1 bought ability has to pay 60 exp to get 2 abilities. Unit with 2 bought abilities has to pay 120 exp to get 3 abilities. Unit with 3 bought abilities has to pay 240 exp to get 4 abilities.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #13 on: February 12, 2012, 05:27:06 AM » |
|
What I did todaySpellcasting AI. The AI currently knows how to cast the following spells: Fireball, Heal and Burning Hands. The AI does not consider secondary targets when casting Fireball, and it does not heal other allied units except for itself. What I'm going to do nextImprove the AI so it does not cast Fireball when an allied unit is in the blast radius. Also make it possible for the AI to heal other units, and implement AI for the Test of Faith spell.
|
|
|
Logged
|
|
|
|
saint11
|
|
« Reply #14 on: February 12, 2012, 06:20:58 AM » |
|
This is getting really interesting I think that if you improve the graphics this would be awesome. I mean, unless the idea whole is to have a sketchy look (which is cool too, depending on how it's made)
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #15 on: February 12, 2012, 06:30:13 AM » |
|
I'm no artist, so I will have to find someone else to do the graphics for me. Right now, though, I just want the game to work. I can worry about how nice-looking the sprites and the interface are later on after the underlying system is in place. For reference, you can look at the sprites I made in Griddy RPG. Those are pretty much the pinnacle of my sprite-making skill. I drew stickmen for the human characters, and played everything else by ear.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #16 on: February 12, 2012, 07:02:13 AM » |
|
Random Thoughts Here are some skills I'm thinking about adding in. Note that unlike spells, these are going to have unlimited uses per fight, so they have to be a little less powerful or only powerful in specific situations. Using a skill or spell costs the entire turn; skills or spells cannot be used if the unit has less than their maximum Moves.
Push: Pushes the target unit away from the user of the skill. The target is pushed two squares. If the target collides with an obstacle, they take damage equal to a normal attack. If they collide with another unit, both units take damage. If there is a unit in the square behind the target, no damage will be dealt, but it will still attempt to push the target and the unit behind the target one square each. If there are units in both squares behind the target, the skill will fail. Shoot: Deals normal damage to a target unit, but with added range. The skill will fail if there is a hostile unit adjacent to the user. Also, most units with the Shoot skill will have a "Melee penalty" trait, which makes them deal reduced damage with their melee attacks. Sunder: Applies the "Sunder" debuff to an adjacent unit, which reduces that unit's Defense for the rest of the fight. First Aid: Heals the user or a unit adjacent to the user equal to 25% of their max HP, rounded up. The skill can be used multiple times, but each unit can only be affected by First Aid once per fight.
|
|
« Last Edit: February 12, 2012, 07:07:17 AM by Nillo »
|
Logged
|
|
|
|
Nillo
|
|
« Reply #17 on: February 14, 2012, 08:24:52 AM » |
|
New playable build available! Get it here: http://solidfiles.com/d/358184f30e/What I did todayAdded a line of sight system for skills and spells. Some spells are now restricted so that you cannot cast them if the target is not within your line of sight. In other words, there must be no "Terrain" objects between you and your target. Note that units currently do not block the line of sight, but this may change later on. Added the "Regeneration" trait and gave it to the Blob unit. This allows the Blob to regenerate one hit point at the end of its turn. It actually regenerates 25% of its max HP per turn, rounded up, which is 1 HP for the Blob unit. What I'm going to do nextI may begin work on the creature data system, create ranged units, or do some AI improvements.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #18 on: February 17, 2012, 03:23:46 PM » |
|
A new unit has been added: The Rogue. He can shoot enemies from a distance of up to 5 squares with the Shoot skill and the Ranged trait. However, this trait also has the drawback of causing the unit to deal only half damage with melee attacks. The Rogue also has the "Stealth" trait, which I'll go into more detail about below. I have made major changes to the system which alerts enemies. Now, not only can enemies be alerted by seeing a hero, they can also be alerted if there is a suspicious sound. Moving a unit, attacking, using skills or casting spells will almost always generate some sort of sound with varying degrees of intensity. If a unit has the "Stealth" trait, the intensity of those sounds may be reduced or even eliminated, allowing that unit to move more freely without being detected. Units with an Intelligence value of 2 or higher will call for help if they notice a sound, assuming that they are alive at that point. If a Rogue is strong enough, he might be able to kill an enemy instantly and prevent them from alerting other enemies to his presence.
|
|
|
Logged
|
|
|
|
Nillo
|
|
« Reply #19 on: April 15, 2012, 01:34:37 PM » |
|
This project is surprisingly not dead; I have just been a bit lazy about posting updates in the thread recently. At the moment, I'm doing a unit editor thing that will be used for setting the stats of units. This is mainly a developer tool, but it will be distributed with the game in case players want to tinker with it. I'll post a screenshot of the tool here once it is closer to being completed.
|
|
|
Logged
|
|
|
|
|