What's everyone working on? (tigsource inspired)

General discussion about LÖVE, Lua, game development, puns, and unicorns.
Whatthefuck
Party member
Posts: 106
Joined: Sat Jun 21, 2014 3:45 pm

Re: What's everyone working on? (tigsource inspired)

Post by Whatthefuck »

Image

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.
User avatar
td1801
Prole
Posts: 7
Joined: Sat Jul 05, 2014 1:35 pm
Location: Haute Normandie, France

Re: What's everyone working on? (tigsource inspired)

Post by td1801 »

A terraria-like ? That's so cool :D 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 !
Image
https://www.mediafire.com/?ekyyryjejc03e5m
User avatar
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)

Post by Jasoco »

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.
Screen Shot 2014-07-08 at 7.04.56 PM.png
Screen Shot 2014-07-08 at 7.04.56 PM.png (72.39 KiB) Viewed 3747 times
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.
manofcode
Prole
Posts: 1
Joined: Thu Jul 10, 2014 6:07 pm

Re: What's everyone working on? (tigsource inspired)

Post by manofcode »

Well I been making a engine for beginners in love2d can use to make a platformer here is the link:
drunken_munki
Party member
Posts: 134
Joined: Tue Mar 29, 2011 11:05 pm

Re: What's everyone working on? (tigsource inspired)

Post by drunken_munki »

nil
Last edited by drunken_munki on Mon Feb 09, 2015 6:44 pm, edited 1 time in total.
User avatar
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)

Post by bartbes »

That looks pretty cool!
User avatar
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)

Post by Jasoco »

Making some progress working on the mechanics of a turn-based RPG. Currently figuring out the mechanics of a battle system:
Screen Shot 2014-07-16 at 4.54.26 PM.png
Screen Shot 2014-07-16 at 4.54.26 PM.png (11.61 KiB) Viewed 3506 times
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)
User avatar
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)

Post by Ranguna259 »

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 :P
LoveDebug- A library that will help you debug your game with an on-screen fully interactive lua console, you can even do code hotswapping :D

Check out my twitter.
User avatar
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)

Post by Jasoco »

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 :P
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.

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"}
	}
}
Attacks are another table that calculates a base damage and uses other stats to decide how much damage to deal based on the other stats. But since I'm basically using other RPG systems as a base, it's much easier than just building an RPG from scratch when you have no idea how to do the math.
User avatar
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)

Post by Ranguna259 »

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 :P

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.
LoveDebug- A library that will help you debug your game with an on-screen fully interactive lua console, you can even do code hotswapping :D

Check out my twitter.
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 3 guests