What i want to make: Drag and drop system - that will let to make game from just collection of elements (In adobe flash proffesional 6 for example) (You will put elements - name it right (for example Button with name Skill1 - will set action for press button - that will use skill 1 and etc)).
A lot of elements will put its data to main data object.
I do not like classes - so all time a was trying to make drag and drop systems.
And now i try to make system based on classes - that will let to make the most part of the game by stupid drag and drop of standart elements and there combibations
It will collect data about the world - like player will see it. (Some part of this object will be changing depending on levels and locations - but some will be saved untill player turn of the flash (or may be even will be saved like XML on players PC and then loaded (or in shared object/or transfered to bmp image that will be possible to pars to data
(for now i do not know what option is possible to make connecting with net components
))))
Now working about classes that will suport engine.
How i see it:
There are 2 types of Objects:
1)Player (NPC/Cannon/Life player/Player that will be connected by network or second player/Any other types of player).
2)Not player object.
Player can have subclasses in its structure-> GEO / MoveDirection / KeyReader with KeyCheker.
And collection of classes that will set its abilitys - status effects and immunitys.
Not player objects - are walls / barriers / boxes / trees / caves / and etc (That can stop movment - but can not interact any other way).
To start engine you need to import basic class to project - it will create main data object. Then it will be possible to add components of the world.
For example you make the world - you create world class - write:
Import AYA.core.world.Create(World you want to create).
Then create stage the same way - world can by made by different stages (but you can not change its type untill you are in it).
Types of stage are: 2d game or 2.5 game.
I will try to make chose of different types of games that will let not to write some thing like this:
CreateStage(Gravity=1,JumpIsPossible=false,and etc.). The constants of the level or may be even of the world can be changed - so you can say gravity = -1 - and Use Function that will make all objects fly UP - but unique units with immunity to this will not get this action.
(Too much about the gravity ...)
The interaction will be based on skills.
What is skill - Fly/Swim and etc- is the skill thet change jump for example to fly or swim and blocks some other skills.
There will be standart skills and possiobility to make your own.
What parametrs skill will have:
1)What do it change - for example use root or stun or sleep or time shift (speed change) - will change some stages constant.
2)How will it be added - it will be ability to add skills for each key on keyboard - and then use them by the name of the button that will be put in get menu for it (For example make button Hi - on special menu) Then connect it to engine.
After this button will be set in menu - on press some button for example () ... to boring ?
I think i will not write about its structure.
I better try to say about its idea.
You drag and drop levels on Root level (do not use command gotoAndStop()/gotoAndPlay()/play() - on root level and levels where there are components that i will make) - you use commands like goToLevel(Number of frame or name) or goToAndStopLevel("Some level").
Shit - to much algoritmth logic again ... .
What do i try to say:
If all will go well there will be standart components (a lot of them) - that let to make game by just stupid drag and drop and correctly naming the elements like in examples.
It will be no need to code a lot of game algoritmth - all standart function core will make by itself - only one think that you will need to animate it and make quests.
To make it is really not simple - may be i will relook the concept. But for now i see it in this way - what do you think ?