Well on my way to work today I actually got an intriguing idea but since it is probably over my league to finish it in time I decided to go and share it here so somebody else with more experience in game development might want to tackle it.
The name of idea: Devolution of RPG
Concept: Basically is is a simple RPG but with a little twist
When you start the first level of the game you are presented with latest look that you can see in most modern RPG games. With this I mean full 3D graphics, nice and beautiful environments, fully rotatable camera, advanced SFX effects, awesome sound, music. There is smooth movement of your character with lots of special moves and combos, etc.
But then when you proceed to second level graphics become more basic, still in 3D but with no free rotation of the camera, very little and only basic SFX effects, sounds and music lose some of their quality. Character movement becomes a little more basic without so much of special moves and combos.
When you proceed to third level the graphics change from 3D to 2D isometric. Sounds and music begin to sound more retro. Character movement is now forced to tile movement.
When you proceed to fourth level graphics switch from 2D isometric to tiled top down view. Controls now become limited to keyboard only. Sounds and music should sound like they are being played from old PC speaker
When you proceed to fifth level graphics switch from 2D to text based graphics where you can still see surrounding area represented with text characters (similar to Dwarf Fortress). Sounds become very basic. You are limited to controlling your character by choosing few predefined commands like in old RPG's.
When you reach final level you end up with a pure text based RPG where you control you character by typing in commands. You no longer have a map of surrounding area but must learn about it by reading the descriptive text as you would have to do it in first RPG's that came to computers.
Any way the number of levels and the progress of devolution doesn't needs to be exactly as I have written it. I just wanted for you to get the general idea.
Well if my idea intrigues you go ahead and use it. You have my permission. And if you take me along for the help I will be glad but it is not necessary.
Also if you take me along I can provide an unfinished concept for RPG battle system which includes classes for in-game characters with multiple slots for armor and weapon items. Classes for weapons, armor items, and general items.
Character and entity (for wild beast etc.) classes are designed in a way that avoid the need of complex nested if or case statements because the attack is actually being processed in two steps. First you call the attacker Attack procedure which calculates how much damage could your character or entity deal based on its current equipped weapon and range to target in case of ranged weapons. The from within this procedure a CalculatePhyscialDefense method of target unit is called (I plan to pass potential attacking damage as parameter to this method - still not implemented). This gives the ability to calculate defense of target based defense capabilities of attacked unit. I even have ability to calculate armor protection based on the direction of the attack.
My plan is to have both physical and magic damage. (later still not implemented) so you might have entities that can only be killed by magical weapons or magical spells.
I was also planning to implement some sort of attack report to return that "You swing your battle-axe for 15 physical damage but only deal 10 physical damage due to targets armor" or "You swing your battle-axe for 15 physical damage but no deal no damage as your target has no physical form" in case of let us say attacking ghost.
Another thing that is implemented into my RPG battle system is data re-usability. The idea is to have two classes for each unit/entity/item type. First class stores all te variables that are constantly changing through out the game-play (position, health, etc.). Second class stores all the data that stays pretty much constant during the game (unit max health, description, etc.). First class also stores a reference to second class. This is used by specially designed properties to automatically retrieve necessary data from second class in a way that from usage stand point of view it seems like that data is actually stored in the first class. I have named this concept as property forwarding
The code of my RPG battle system is mostly commented and I tried to make good use of regions in order to add additional code folding places so you can fold parts of the code to make it more easily readable (at least on my opinion). There is almost 1400 lines of code (with comments) already.
So any body interested in collaboration? I can't promise lots of my time but I will try my best.
Bookmarks