Crindigan Project [Archive] - Anfiniti Network

PDA

View Full Version : Crindigan Project


Indigo
01-05-2009, 12:57 AM
Making a new RPG, because the codebase for our existing one sucks to work with, and is hard to add on to. The new one will be written from scratch using better design practices, as I've had over 2 years of more experience since I started the previous RPG. This should allow faster development of features once the base framework is in place.

Some planned features:
* Actually having images for characters/items and maybe locations (I can hear Mit already)
* Grid-based battle engine, ala FFT, but with only a flat plane (!!!)
* Some existing aspects of the current system, like recruitment

I don't want to say too much, as not even one keystroke has been committed to the new codebase (or its specs) as of yet. As for "whoa crazy level 9999" stuff, I'm probably going to tame that down considerably, to 100 or 200. Balancing will be infinitely easier when you don't have to look at a stat chart 10000 rows long. Insane levels and damage really only make sense in single player games.

Also aiming for it to be open source, unlike the one we have now. Our current system uses some parts of vBulletin code to handle session integration and input, so it hasn't been distributed really. The svn repository is available for checkout by anyone, but nothing's in it at the moment, so I'll post the URL and instructions later on.

Chuck
01-05-2009, 01:02 AM
I JUST asked Sean to elaborate on the new battle system, and then you make this thread. :(

I'm all for it, and may even attempt to aid in the coding whenever it's simplified. We've just got to get people who're dedicated enough to actually contribute to the project, rather than just say "k ill help" and never log into the admin CP.

Are we keeping the item and technique lists?

Indigo
01-05-2009, 01:20 AM
Techniques, no, but there's only a handful anyway. I'll see about items, since most of them are just names/descriptions, so it wouldn't be very complicated.

Reku
01-05-2009, 09:58 AM
Sean told me about this last night.

But anyways, there's no super rush. And I'd be super happy if we could get the one feature I've been asking fo-- [I can imagine Sean stabbing my face already].

Virus
01-05-2009, 10:17 AM
Ah, this one should be interesting. Hopefully it doesn't take as long as this past one. lol XD.
But nah take your time, make it good.

Solitary Seraph
01-05-2009, 11:13 AM
Are you still shooting for a custom coding language that will make it easier for nubbits (me and the rest) to make mods and take the work off you and Jeremy?

Omega Arc
01-05-2009, 04:46 PM
That means current coefficients will have to be re-done?If so, I'll kill Sean =D.

Indigo
01-05-2009, 07:28 PM
Maybe not, though there might be some added/removed statistics. Besides, next time around will be easier, since you'll have like 100x less levels to look at when balancing.

Mit Man
01-13-2009, 02:04 AM
:D

Graphics.

I will help.

Indigo
01-13-2009, 02:49 AM
Right now I'm thinking of just having users upload their own character graphics, but having a choice to use a pre-existing one will be good. The battle system will require pictures/sprites that fit in a 32x32 square, and possibly tile graphics for the background. I might just restrict to 32x32, so we don't have to worry about multiple sized images per character, and the same graphic can be used throughout the system.

Reku
01-13-2009, 01:38 PM
That sounds really awesome.

Would this only be for battles, though? If so, that's still kool.

Sam
01-13-2009, 01:44 PM
Are you still shooting for a custom coding language that will make it easier for nubbits (me and the rest) to make mods and take the work off you and Jeremy?
That is a fantastic idea.

Indigo
01-13-2009, 03:15 PM
I'm not doing that anymore. I realized that no matter how easy I try to make it, everyone will still need a massive document explaining everything. Might as well save time and skip on creating a new scripting language.

Solitary Seraph
01-13-2009, 03:56 PM
Especially since people will still go "AH DONT KNOW HOW TO DO IT I CANT HELP YOU" =/

Reku
01-13-2009, 05:37 PM
Hey. Hey. Hey.

i TRIED.



and you said everything was wrong ._.

Burning Dread
01-20-2009, 01:27 PM
I'm not doing that anymore. I realized that no matter how easy I try to make it, everyone will still need a massive document explaining everything. Might as well save time and skip on creating a new scripting language.

I'm up for helping out more this time around. And if you send me some information and tutorials on the scripting language I can try and learn some to help out. This just gives me a good excuse to learn something new.

Indigo
02-07-2009, 12:36 PM
Update: Subversion URL is svn://anfinitinetwork.com/rpg-ng/trunk
Doesn't do a whole lot right now, but the base router/controller stuff is in there, along with some example code that runs it.

Windows users should be able to use TortoiseSVN for this: http://tortoisesvn.tigris.org/

Linux users can just use the standard subversion client and run "svn co URL". You can find Subversion in whatever package manager your distro uses.

Mac comes with Subversion 1.4 by default, which should be recent enough. It's a command line application, though, so if you're not comfortable with that look at SCPlugin (http://scplugin.tigris.org/).

Alternatively, this archive is a snapshot that updates every night at 1:30am EST: http://www.anfinitinetwork.com/rpg2/rpg-snapshot.tar.gz

Indigo
02-08-2009, 03:40 PM
Nerdy image of how exceptions print out when debugging: http://crindigo.com/images/rpg2/stacktrace.png

Indigo
05-13-2009, 03:14 PM
Updated to revision 7: svn://anfinitinetwork.com/rpg-ng/trunk

Wrote RPG_Database and RPG_Database_Result, along with new actions in HelloController for testing insert/update/delete/list.

Solitary Seraph
05-13-2009, 06:03 PM
Is there a percentage of how far along you are now? :p


5%?

Indigo
05-13-2009, 06:07 PM
Hard to say. I'm still doing the core framework. Haven't even started the actual RPG-related things. I don't want to use an existing framework, or else every page request will look like this (http://s3.amazonaws.com/ppt-download/zendframeworkdispatchworkflow-090508180623-phpapp02.pdf) and take 10 seconds to load + kill our CPU.

As for the framework, basic router/controller stuff is done, the "base" static class is mostly done, and the database is done. Still need to write classes for input/forms, users/sessions, models, and views. THEN I can actually start writing the application, on top of all that.

Indigo
05-29-2009, 01:24 AM
Updated to revision 9. Added RPG_Session class and parameter binding to RPG_Database.
Instead of:
$db->query("SELECT * FROM " . TABLE_PREFIX . "blah
WHERE x = '" . $db->escape($x) . "'");
It's:
$db->query("SELECT * FROM {blah} WHERE x = :0", $x);
I really didn't want to put RPG_PREFIX or some crap before every table name, so I did this.

Solitary Seraph
06-03-2009, 07:26 PM
Ideas:

Random Item Generator. What we'd do is set some guidelines, like if an item is level 1, and a certain type (sword, dagger, etc) it'd give a random number between two variables like 5-9.

This way we could have items that drop/are in chests that people can find and we 1) won't have to make thousands of items that are slightly close to but not quite the same as the one before, and 2) make it more of a challenge when fighting others, because nobody will have the same equipment.

2) Sprite transformations/swapping in battle. This way you could roll a character that is a dragon warrior, and he actually transforms into one, or you could have a chimera style class that randomly changes into something, be it a giant behemoth or a worm.

3) I know you said there'd be impassable squares, but have some that are things like water, so that certain classes would have reduced effectiveness, and some that are faster/can go further. (mermaids and flying creatures come to mind.)

4) Exp throughout the battle would be a problem, but maybe a failsafe (if a character gets hit too many times he goes berserk and starts automatically attacking the opponents or something) to prevent training.

5) a summoner/beast master that gives + stats/abilities to "monster" classes that are near it, or can summon monsters into battle.

6) A grappling hook style item or skill that lets you pull characters closer. This would not only let you pull classes like archers closer, making them ineffective, but also get across borders like in Disgaea where you had to pick characters up and sling them across.

Mit Man
06-03-2009, 07:55 PM
Does this need graphics yet?

I can help, I have the time :)

Indigo
06-03-2009, 09:40 PM
It's nowhere near done, but for the battle system, each tile will be 32x32 (like RMXP), and the sprites should be RMXP-size as well. I don't think I'm going to bother with walking animations, so it would only need the "at rest" images in four directions.

Indigo
06-05-2009, 12:44 AM
keeping anfiniti's rpg database synched is pretty easy, now. i don't have to log into phpmyadmin whenever i need to update a column or add a table. woohoo ezcomponents.

require 'ezc/Base/ezc_bootstrap.php';

$local = ezcDbFactory::create('mysql://USER:PASS@localhost/rpg2');
$remote = ezcDbFactory::create('mysql://USER:PASS@anfinitinetwork.com/anfiniti_rpg');

$localSchema = ezcDbSchema::createFromDb($local);
$remoteSchema = ezcDbSchema::createFromDb($remote);

$diff = ezcDbSchemaComparator::compareSchemas($remoteSchem a, $localSchema);
$diff->applyToDb($remote);

Atrophius
06-05-2009, 12:48 AM
keeping anfiniti's rpg database synched is pretty easy, now. i don't have to log into phpmyadmin whenever i need to update a column or add a table. woohoo ezcomponents.

Very nice. I think I'm going to have to use this for some of my projects at work, now.

Indigo
06-05-2009, 12:50 AM
Just make sure PDO is installed wherever you run it, as ezComponents' database stuff depends on it.

Indigo
12-21-2009, 10:04 PM
New blog entry - Crindigan: An Introduction
http://crindigo.com/blog/2009/12/crindigan-an-introduction/

Indigo
05-13-2010, 07:25 PM
btw, http://www.anfinitinetwork.com/crindigan/home

Developing it on Anfiniti's server now. I switched over to using the Solar Framework (http://solarphp.com) because it has a lot of features and still manages to be fast, but mostly because I really don't feel like spending the time to fully rework how my current framework was doing things. It's on the server because it uses command line stuff to auto-generate model classes from table schemas, and the Windows command line is intolerable, plus Solar doesn't like it either.

I'll probably work on reorganizing the svn repository on Google Code this weekend, unless I decide to join Jeremy on Github. :p

Sam
05-14-2010, 04:36 AM
I'm kind of confused about your framework. So you're not doing this from scratch? How is your specific choice of framework helping (considering I know nothing about "framework")?

Indigo
05-14-2010, 06:23 PM
The RPG stuff is all from scratch, still. The framework is the library that it's built on. Like, databases, user authentication (of which I still had to write a vBulletin login adapter so it'd work with our site), form generation, caching, etc. It helps me because I don't have to design and implement all that stuff myself, and can immediately move on to coding the parts everyone cares about.