What's everyone working on? (tigsource inspired)
-
- Party member
- Posts: 106
- Joined: Sat Jun 21, 2014 3:45 pm
Re: What's everyone working on? (tigsource inspired)
Working on a 2d sidescroller with procedurally generated worlds. (gee I wonder where I've seen that before!)
Wrote a cave gen in about 10 minutes or so, using the cellular automata method, looks pretty good so far.
The holes in the background you see are places where the ore deposits will be.
Re: What's everyone working on? (tigsource inspired)
A terraria-like ? That's so cool Good luck with that !
I'm currently working on a hangman x) But a polished one, with animated pixel art ! I know this is not a big deal (And that I can't find a way to make a restart..) but I'm so proud x) Maybe because it's the first near-finished program that I did without an engine !
https://www.mediafire.com/?ekyyryjejc03e5m
I'm currently working on a hangman x) But a polished one, with animated pixel art ! I know this is not a big deal (And that I can't find a way to make a restart..) but I'm so proud x) Maybe because it's the first near-finished program that I did without an engine !
https://www.mediafire.com/?ekyyryjejc03e5m
- Jasoco
- Inner party member
- Posts: 3726
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: What's everyone working on? (tigsource inspired)
Just working on the inner workings of an RPG system. No UI stuff yet, just the underpants system. I'm modeling it after Dragon Quest VIII with an intention and hope of making a turn-based RPG in that style as it is my favorite RPG.
What you can see above:
Inventory listings at the top. Two kinds of inventories. One type for each character in your party and another type for the bag of holding. The player inventories are limited in how much can be carried. While the bag is infinite. The party inventories are simple numbered table lists numbered 1 through item count with each sub-table having an item ID name and an equipped flag. For example: "herb", "herb", "shield", "pill", "pill". In the case above, the shield is equipped and its flag is true. While the bag inventory is a table with item ID named sub-tables each with an integer value of how many you have of each item. A simple inventory.bag["herb"] = 2 basically.
I wrote functions for adding to and removing from each inventory and one for transferring from one to another. When all instances of a specific item are removed from the "bag" then its entry is deleted. When one is added in, if it's not created yet, an entry is created and it is set to 1.
On the bottom you see a sample party member stats system. Each member's stats are calculated from their base stats entry for their corresponding level in the "base stats" table, which includes what stats a party member should have at a specific level, how much XP they need for that level, what spells they learn and how many Skill Points (If I end up using a Skill system that is) they gain when they level up to that level.
The left table shows the base stats numbers. The right table shows the recalculated stats. The recalculation takes into account how much of each stat extra the character should have gained from things like weapons and armor and other accessories. It adds all that extra stuff up and adds it to the base stats for the appropriate values. In this instance you see I currently have a "Shiny Magical Shield" equipped. Which in this case gives you extra defense, offense and magic point limits.
Next to that you also see a list of the spells I currently know.
In this example, I copied all the stats from a DQ8 FAQ for demonstration and testing purposes.
I have also leveled up in this example. I wrote a function for safely leveling up that counts how many levels you gained and what spells you now learned and returns them for use in the scripting system later. I made sure it's fail-proof so even if I were to add 1000XP to level 1, which would in essence level me up to a pretty high level all in one moment, I wrote it to make sure it steps through the process instead of just adding the XP and potentially accidentally skipping over a level if you get enough XP all at once.
I also added colorful floating bouncing squares just for the heck of it in the background.
I think the hardest part is going to be writing the battle system.
What you can see above:
Inventory listings at the top. Two kinds of inventories. One type for each character in your party and another type for the bag of holding. The player inventories are limited in how much can be carried. While the bag is infinite. The party inventories are simple numbered table lists numbered 1 through item count with each sub-table having an item ID name and an equipped flag. For example: "herb", "herb", "shield", "pill", "pill". In the case above, the shield is equipped and its flag is true. While the bag inventory is a table with item ID named sub-tables each with an integer value of how many you have of each item. A simple inventory.bag["herb"] = 2 basically.
I wrote functions for adding to and removing from each inventory and one for transferring from one to another. When all instances of a specific item are removed from the "bag" then its entry is deleted. When one is added in, if it's not created yet, an entry is created and it is set to 1.
On the bottom you see a sample party member stats system. Each member's stats are calculated from their base stats entry for their corresponding level in the "base stats" table, which includes what stats a party member should have at a specific level, how much XP they need for that level, what spells they learn and how many Skill Points (If I end up using a Skill system that is) they gain when they level up to that level.
The left table shows the base stats numbers. The right table shows the recalculated stats. The recalculation takes into account how much of each stat extra the character should have gained from things like weapons and armor and other accessories. It adds all that extra stuff up and adds it to the base stats for the appropriate values. In this instance you see I currently have a "Shiny Magical Shield" equipped. Which in this case gives you extra defense, offense and magic point limits.
Next to that you also see a list of the spells I currently know.
In this example, I copied all the stats from a DQ8 FAQ for demonstration and testing purposes.
I have also leveled up in this example. I wrote a function for safely leveling up that counts how many levels you gained and what spells you now learned and returns them for use in the scripting system later. I made sure it's fail-proof so even if I were to add 1000XP to level 1, which would in essence level me up to a pretty high level all in one moment, I wrote it to make sure it steps through the process instead of just adding the XP and potentially accidentally skipping over a level if you get enough XP all at once.
I also added colorful floating bouncing squares just for the heck of it in the background.
I think the hardest part is going to be writing the battle system.
Re: What's everyone working on? (tigsource inspired)
Well I been making a engine for beginners in love2d can use to make a platformer here is the link:
-
- Party member
- Posts: 134
- Joined: Tue Mar 29, 2011 11:05 pm
Re: What's everyone working on? (tigsource inspired)
nil
Last edited by drunken_munki on Mon Feb 09, 2015 6:44 pm, edited 1 time in total.
- bartbes
- Sex machine
- Posts: 4946
- Joined: Fri Aug 29, 2008 10:35 am
- Location: The Netherlands
- Contact:
Re: What's everyone working on? (tigsource inspired)
That looks pretty cool!
- Jasoco
- Inner party member
- Posts: 3726
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: What's everyone working on? (tigsource inspired)
Making some progress working on the mechanics of a turn-based RPG. Currently figuring out the mechanics of a battle system:
When a battle is initialized, the player's party stats are copied into battle character objects and enemies are generated to fight. In the example above you have one player character and three enemies. One enemy is dead. The characters are sorted by a calculated order stat that currently is based on your agility -/+1. (Since all characters here have an agility of 6, it would just cause random ordering anyway. The random variation helps make sure similarly fast characters don't always go in the same order. Obviously characters who are much faster will always go first.)
The evade flag is the chance the character will dodge an attack. The player in this case has a 1 in 10 chance to quickly move out of the way. While the slimes have no chance to evade.
The slimes also have two sample attacks (Though only the normal attack actually exists right now. The two attacks I've implemented so far are "attack" which hits one enemy and "whirlwind" which hits all enemies.) in their attacks table. In a battle, the attack to use will be decided at random, unless the enemy has an agenda. (In one of the Dragon Quest games, some enemies could randomly select one player character and only attack them until they died if they felt obliged.)
You also see the amount of Gold and XP you will currently get. Of course you only get this if you win. But if an enemy escapes, you don't get its gold and XP. And if an enemy summons another enemy, you can get even more XP and gold than you would have.
Enemies also have a pname, or "plural name" that will be used if multiples of the same kind are attacked or attacking. This is for the message system of course. "The Player attacked the Slimes for 4 damage!"
I've been studying multiple RPG "system" FAQs on GameFAQs. Namely the Dragon Quest VIII, Dragon Warrior III and Mario RPG guides. Shame so many guides are unfinished. (The Mario RPG guide is at 1.02 from 2005 with numerous notes that the author plans on releasing 1.03 by the end of the year... which never happened. And the emails are all from services that no one in their right mind would still use today. Juno, Hotmail and AOL. Well, maybe Hotmail still exists. I'd been tempted to email him. lol)
When a battle is initialized, the player's party stats are copied into battle character objects and enemies are generated to fight. In the example above you have one player character and three enemies. One enemy is dead. The characters are sorted by a calculated order stat that currently is based on your agility -/+1. (Since all characters here have an agility of 6, it would just cause random ordering anyway. The random variation helps make sure similarly fast characters don't always go in the same order. Obviously characters who are much faster will always go first.)
The evade flag is the chance the character will dodge an attack. The player in this case has a 1 in 10 chance to quickly move out of the way. While the slimes have no chance to evade.
The slimes also have two sample attacks (Though only the normal attack actually exists right now. The two attacks I've implemented so far are "attack" which hits one enemy and "whirlwind" which hits all enemies.) in their attacks table. In a battle, the attack to use will be decided at random, unless the enemy has an agenda. (In one of the Dragon Quest games, some enemies could randomly select one player character and only attack them until they died if they felt obliged.)
You also see the amount of Gold and XP you will currently get. Of course you only get this if you win. But if an enemy escapes, you don't get its gold and XP. And if an enemy summons another enemy, you can get even more XP and gold than you would have.
Enemies also have a pname, or "plural name" that will be used if multiples of the same kind are attacked or attacking. This is for the message system of course. "The Player attacked the Slimes for 4 damage!"
I've been studying multiple RPG "system" FAQs on GameFAQs. Namely the Dragon Quest VIII, Dragon Warrior III and Mario RPG guides. Shame so many guides are unfinished. (The Mario RPG guide is at 1.02 from 2005 with numerous notes that the author plans on releasing 1.03 by the end of the year... which never happened. And the emails are all from services that no one in their right mind would still use today. Juno, Hotmail and AOL. Well, maybe Hotmail still exists. I'd been tempted to email him. lol)
- Ranguna259
- Party member
- Posts: 911
- Joined: Tue Jun 18, 2013 10:58 pm
- Location: I'm right next to you
Re: What's everyone working on? (tigsource inspired)
Nice going Jasoco, I remember programming an RPG a few months back, it was a pokemon clone so it was a pretty simple system, the only problem with pokemon games is the fact that you'll have to recreate every single pokemon and every single attack, it was so tedious that I ended up dropping the project
- Jasoco
- Inner party member
- Posts: 3726
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: What's everyone working on? (tigsource inspired)
Not really. All you need is a few tables with reference stats. Each enemy is just a shell that has stats imported in from a list.Ranguna259 wrote:Nice going Jasoco, I remember programming an RPG a few months back, it was a pokemon clone so it was a pretty simple system, the only problem with pokemon games is the fact that you'll have to recreate every single pokemon and every single attack, it was so tedious that I ended up dropping the project
Code: Select all
enemy = {
["slime"] = {
name = "Slime",
pname = "Slimes",
level = 1,
hp = 7,
mp = 0,
attack = 10,
defense = 8,
agility = 6,
evade = 0,--{1,16},
gold = 1,
xp = 1,
attacks = {"attack"}
}
}
- Ranguna259
- Party member
- Posts: 911
- Joined: Tue Jun 18, 2013 10:58 pm
- Location: I'm right next to you
Re: What's everyone working on? (tigsource inspired)
I was using the pokemon algorithems, a lot of talented people put a lot of effort into hacking the game and they posted lots or articles on pokemon algorithms, I think I *got them all* so I wasn't really building an RPG from scratch, well.. I had a basic idea of what I had to do along with the required maths
Sure they are tables but since there are over 600 pokemons and moves each with different data, I'd have to create every single entery on the move and pokemon table, 600+ entries, that's a lot, it's a huge list and it's incomplete.
Sure they are tables but since there are over 600 pokemons and moves each with different data, I'd have to create every single entery on the move and pokemon table, 600+ entries, that's a lot, it's a huge list and it's incomplete.
Who is online
Users browsing this forum: Google [Bot] and 3 guests