| Author |
Message |
|
|
Grizzled_Imposter wrote:
Sweet!
Thank you.
|
 |
|
|
The first completely operational RPG for UT3. Implements levels, experience, Mana and FULL ability management with abilities like weapon speed, vampirism and quick foot. It also has a custom RPG scoreboard, a custom RPG HUD, etc.
Go to http://www.onsrpg.com/battlerpg.php for download (including full source code), a player manual, an administrator manual and a developer manual.
Custom BattleRPG HUD with level, experience and Mana:
BattleRPG menu where you can spend your hard earned RPG$ on abilities:
BattleRPG enhanced schoreboard showing PPH, Deaths and RPG Levels of all players:
|
 |
|
|
inperfectdarkness wrote:
any word on how long before we get an rpg mod for ut3?
This is already available: http://www.onsrpg.com/battlerpg.php
|
 |
|
|
I am currently working on what I think is the toughest part, ability management. Most of it is working now and I hope to release BattleRPG P3 in 1-2 weeks.
Most of the things we discussed in the disastrousconsequences.com forum have been implemented the way we discussed them.
I also made some documentation:
UT3 BattleRPG server administrator manual.
http://www.onsrpg.com/forum/viewtopic.php?f=24&t=725
UT3 BattleRPG player manual.
http://www.onsrpg.com/forum/viewtopic.php?f=24&t=726
UT3 BattleRPG developer manual.
http://www.onsrpg.com/forum/viewtopic.php?f=24&t=727
Screenshot (the UI needs a little more polishing, but everything is working):
|
 |
|
|
Found a workaround:
struct AbilityWrapper {
var class<BattleAbility> AbilityClass;
};
var config array<AbilityWrapper> Abilities;
|
 |
|
|
With UT2004 you could do things like:
var config array<class<BattleAbility> > Abilities;
Unfortunately UT3 says "Error, Not allowed to use 'config' with object variables" when I try this. Even something as basic as var config class test; results in this error.
Am I missing something here or is it no longer possible to have configurable references to classes?
Is there some way to work around this, e.g. is there a way to convert a string to a class?
|
 |
|
|
BattleMode wrote:
CaRnaGe wrote:
I got a problem.
I put the files in the right place (I believe), and then I put in the v1.1 patch for the game.
I don't see the text on the HUD for the Level (#/#) and Mana.
Maybe the scoreboard isn't the only thing affected by the v1.1 patch.
If you run it local you cannot use "instant action" you have to host a local server (not needed to be dedicated) to get the RPG HUD. I am looking in to changing this so it will also work in instant action in a future version.
The new BattleRPG P2 version now also works in instant action.
|
 |
|
|
The first completely operational RPG for UT3. Implements levels, experience, Mana, loaded weapons, weapon speed, quickfoot, health regen, ammo regen, a custom RPG scoreboard, a custom RPG HUD, etc. etc.
More info about BattleRPG: http://www.onsrpg.com/forum/viewtopic.php?f=24&t=688
Download (including full source code GPL V3): http://www.onsrpg.com/ut3mods.php
Changes P1 -> P2:
Changed BattleRPG to also work in instant action mode.
Got rid of the small freeze after a spawn.
Removed experience from the scoreboard, now only shows level, to make it cleaner.
Made it harder to collect Mana in Warfare.
Made XP needed for leveling more realistic over level 100.
Ammo regen speed is now dependant on the max ammo of the current weapon.
Scoreboard now also shows RPG levels if there are a lot of players.
|
 |
|
|
Szlat wrote:
I like the thought of keeping things simple. And if the stats were abilities, it would mean then that even these were under the control of the server admins.
My thoughts exactly.
Szlat wrote:
From an implementation point of view, it is easier. The only downside would be that abilities currently have a max of about 20 levels, with most having less than 10 levels. These stats ones could easily have 100-300 levels, each one point each.
Instead, I think it may be better to bundle points together - so for example the health bonus ability could have 20 levels, each of which costs 5 points and gives you +10 health.
Thats a good idea.
Szlat wrote:
And I know the code snippet is only an example, but for completeness you might want to also increase HealthMax.
Good point, thanks, especially since it it not just an example but an actual part of the source code I am currently working on .
New version:Code:
class BattleAbility_HealthBonus extends BattleAbility;
static function ServerModifyPlayer (UTPawn P, int Level)
{
P.Health = P.default.Health + Level;
P.HealthMax = P.default.HealthMax + Level;
}
defaultproperties
{
AbilityName = "Health bonus";
AbilityDescription = "Gives you extra 10 extra health per level every time you spawn.";
AbilityMaxLevel = 10;
AbilityLevel1Cost = 5;
AbilityCostIncreasePerLevel = 0;
}
|
 |
|
|
Szlat wrote:
One thing we haven't discussed is Stats. In a separate thread we discussed how Stats should be capped differently for different Classes, but we haven't discussed what should be Stats. I suppose if an ability is available to all classes, and it has a numeric incremental value, then it could be consider for a stat.
IMO this should be simplified. Not stats and abilities, but just abilities. This also makes it easier to create dynamic rules for class like setups where for example the max of an ability can be determined by the players class (for those who like classes). I also think all abilities (including health) should be derived from the same generic ability class. I am also hoping this aproach will make creating a dynamic user interface allowing the player to configure everything easier.
You would end up with the following class types:
* abilities
* weapon magic
* vehicle magic (not in UT2004 RPG)
* artifacts
I now have a working prototype (which now already has a persistent player database that is separate from the RPG settings, custom HUD and some other useful stuff) and the next step will be to add a generic system for adding those classes and allowing the server owner to determine the rules and the player to define his build. This is a tad complicated so I might need multiple attempts to get this right.
An example:
Code:
class BattleAbility_HealthBonus extends BattleAbilityClass;
static function ServerModifyPlayer (UTPawn P, int Level)
{
P.Health = P.default.Health + Level;
}
defaultproperties
{
AbilityName = "Health bonus";
AbilityDescription = "Gives you extra health every time you spawn.";
AbilityDefaultMaxLevel = 100;
}
|
 |
|
|
Szlat wrote:
On the implementation side, I would like to avoid all the extra code Mysterial had to put in due to weapons being converted to RPGWeapons. This affected WeaponLockers, WeaponPickups and any code that dealt with LinkGuns. As well as being a lot of work, it is bound to have incompatibility problems with other mutators.
Agreed. In the first BattleRPG prototype I have now approached this problem by creating a generic BattleGenInvItem for players which is attached to every player in the game. For now it handles regeneration, ammo regen, Mana bonus, HUD replacement and dodge jumping, but it seems to me a similar approach could be used for vehicles and weapons without actually replacing the classes behind those. Just like BattleGenInvItem changes Pawns without subclassing them. I am not sure what is the best approach here, but I am considering to make things like magic properties of an Inventory item either attached to the Pawn or to the Weapon. It will take some more experimenting to determine the best aproach here but not replacing classes has it's advantages here.
|
 |
|
|
CaRnaGe wrote:
I got a problem.
I put the files in the right place (I believe), and then I put in the v1.1 patch for the game.
I don't see the text on the HUD for the Level (#/#) and Mana.
Maybe the scoreboard isn't the only thing affected by the v1.1 patch.
If you run it local you cannot use "instant action" you have to host a local server (not needed to be dedicated) to get the RPG HUD. I am looking in to changing this so it will also work in instant action in a future version.
|
 |
|
|
Grizzled_Imposter wrote:
server not found on the onsrpg. Tried to connect to your server, but you don't like me.......
My current gameservers.com server is temporary and mostly used for experimenting. In a few days my second Q6600 server will arrive (running Windows which unfortunately seems to be needed for UT3 servers for now). There are several servers running BattleRPG already though, if you filter on non pure servers (especially WarFare) you will find several e.g. from NIR_Meteor and Slaughter.
|
 |
|
|
The first completely operational RPG for UT3 is finished!
MANUAL: With BattleRPG each player gets a persistent level and persistent experience. This means the server keeps a database and remembers your achievements permanently. For each point you score you get experience, if you have enough experience you go to the next level:
* The first 10 levels are very easy to get players to learn how RPG works
* Reaching level 80 requires some serious playing but is doable
* Level 100 is tougher to reach
* Over level 100 it becomes extremely hard
Besides experience and levels you also collect Mana. Mana is not persistent, if you leave the server you lose your Mana. If you collect 100 Mana points you get 999 health, you get all weapons and your Mana is reset to 0.
What powers do you get for your levels:
* For each level you get 1 bonus health
* For each level you get 0.5% faster weapons
* For each level you get 0.5% faster walking (quickfoot) and swimming
* For each level you can jump 0.5% higher
* For level 20 and higher you regain health at 1 health per 20 levels per second
* For level 25 and higher you get the ability to dodge jump
* For level 50 and higher you get 2 ammo per second for your current weapon
So for example someone at level 50 starts with 150 health, has 25% more weapon speed, 25% faster walking, can jump 25% higher etc.
STATUS: The BattleRPG P1 prototype is fully functional and operational. It has been fully tested to work standalone and with dedicated servers (tested with 1.0 and 1.01 beta 4 server and with 1.01 beta 4 client, due to a bug in the retail version the custom scoreboard will only work with 1.01 beta 4 clients). It is however a first step. Future prototypes will probably add things like magic weapons, magic vehicles, artifacts, abilities and ability management. Once most of those are implemented it will no longer be a prototype and will become BattleRPG V1.
Download: http://www.onsrpg.com/ut3mods.php (includes full documented source code GPL V3)
Thanks to (for inspiration and many many suggestions):
Communities: http://www.onsrpg.com, ut2004.titaninternet.co.uk, http://www.disastrousconsequences.com
People: Mysterial, Druid, Fluffy (Dezz), Strifer, Shambler, Piglet, Jrubzjeknf, BrockSamson
|
 |
|
|
Working on the first BattleRPG prototype now.
Working:
* Scoreboard capable of showing things like RPG levels (skeleton finished, content needs work), autodownloading tested to work properly with patch 1 beta 4
* HUD capable of showing things like level, xp and mana (skeleton finished, content needs work)
* Network efficient multiple inheritance emulation to add RPG specific data to PRI's (player replication info) for all gametypes, fully tested on dedicated server to work
To do:
* Persistant server side storage of level and xp
* Content of scoreboard and hud
* Mana, level and xp calculations
* Some simple form of rewards for having mana and levels (probably some BattleMOD stuff)
The BattleRPG P1 prototype will be fully functional and operational. It is however a first step. Future prototypes will add things like magic weapons, magic vehicles, artifacts, abilities and ability management. Once those are implemented it will no longer be a prototype and become BattleRPG V1. All versions will be GPL V3 and include full source code.
|
 |
|
|
|
|