ENRIBEAVER
By: recolorme and TheShyGuy
last update of first post: 11/23/2012
STORY
Enrique and Zadaben are having a nice chit-chat at a Maid Cafe. When suddenly, an owl raids the T.V.! Announcing "If anyone is man enough to go to my tower, then I shall free my dinner!".
He grabs a familiar kid upside down. A kid with brown hair, blue jacket, and brown gloves. "VIRT!!" Zadaben cries out. This caused a commotion in the cafe, leaving the Maid Cafe loud enough for Enrique and Zadaben to sneak away outside.
They went behind the cafe and started thinking. "We can't leave Virt like that! We must do something." Enrique blurted. Zadaben looked at Enrique as if he were a beaver. Which lead him to having ideas. "Of course!" Zadaben snapped. "You COULD save them, Enrique! You can be an alter-ego. Something like a beaver!"
Enrique seem to like the plan. He told Zadaben to make them both costumes and that he woud be a superhero beaver, while Zadaben would be a raccoon. After all the prepares, they finally turned into their alter-egos: Enribeaver and Zadacoon. They quickly find the quickest way to get to the tower without revealing themselves so much.
GAMEPLAY
The game is a 2D platformer. You control Enribeaver, a fake, nerdy, superhero. He resembles a beaver and can chomp through wood and can wall climb with his tail. He could also beat enemies with his tail and wood hard fists! You can also get upgrades! Such as Super Fangs and a Hyper Tail!
He also has a sidekick: Zadacoon! (Basically, a two player mode. It's going to be on the same screen.)
STAGE LAYOUT
It starts with a world map, (Think Super Mario World) where you pick one of the 4 worlds. After you enter through one of the worlds, you are then in a 2D Hub World. You pick to any of the three stages you want to go to first in the Hub World.
There isn't any screenshots atm. There will be some soon!
CREDITS:
SirZadaben - Ideas and designs
TSR- Designs of other characters
TheShyGuy - Programmer
I want to see me being kidnapped by an owl
that'll be interesting
For a moment there, I thought his hat was his ear haha. I like the style you got going, though perhaps you need stronger angles on his arms and legs since they look a little smooth, especially his left arm. Unless that is what you were going for, since, if it is, I think you'll need to find a way to communicate that better (which you can clearly do since the Beta robot cat looking thing pulls it off well).
Also for your consideration, maybe slick EnriBeaver's hairdo backwards instead of forwards? You'll also need another contrasting shade on his paws as it is a bit hard to distinguish shape and lighting.
Good luck with it all!
His right elbow looks too smooth - unless that's the look your going for as many cartoons seem to reject the idea of elbows now days.
Although it's more realistic to have the tail dark I'd keep it brown as otherwise it clashes with his trousers too much, and cartoon beavers tend to have brown tails.
My main issue with is that his hands look like stumps and his eyes appear to be square.
There's some sort of weird bulge in zadatrashcan's left arm and the arms don't really look like they're connected to his body. They're kinda just floating there.
Oh, whoops, I forgot about this thread when I posted yesterday, heh.
Okay well thank you to whoever merged it.
---------------------
Also thanks for the C+C, no, his arm is not supposed be elbow-less, I will get to work on that.
EDIT: Or not seeing as recolorme has decided he wants to work on this project by himself.
Im not sure if he put it in the controls or readme, but before you add any enemies, add Enribeaver to the game (press E). Or else the game will break.
edit: press Y to hide enemy ai stuff (U)
The mixing of sprite styles is hard on the eyes.
I haven't tried the actual engine yet.
(01-19-2013, 11:11 AM)Phaze Wrote: [ -> ]The mixing of sprite styles is hard on the eyes.
They're just placeholders, so they won't be there forever.
This is just a notice:
Recolor and I decided to start doing small but frequent updates. Some upcoming updates include:
- Updated Dialog System:
- Choices
- Graphical changes
- Menu System:
- Pause Menu
- Settings
- Configure buttons
- sound options
- music
- small physics update
- small bug fixes
After i finish these, i'll update the topic and try to give out more info on near future updates. Also, i have just downloaded hypercam, the free version =/, so i'll be including some short vids on the progress.
Oh yea, i'm going to continue using xna for this game since it would've been a bit of a hassle to port everything. I'll make the game crossplatform when its done and there are requests for it.
edit: i coded for the menus and fixed some physics. I just gotta finish the dialog system and i'll be done. There should be an update by the weekend.
edit: expect an update sometime today.
just out of curiosity how are you handling your objects (logic wise) component / entity? inheritance? individual?
its one of the things I don't get to talk about often but for the core of the game I find it pretty interesting.
*I did not proofread this yet.
For the levels, im using a component/entity system. I used to use mad inheritance when i started out learning xna (and was really new to c# and programming). It was a few years ago when i was trying to make a mario fangame. There was the classic GameObject -> Character -> NPC -> Enemy -> Goomba or GameObject -> Character -> NPC -> Enemy -> Koopa.... And those leaf classes really only changed a very few things like sprites. Something seemed veery wrong with what i was doing. I had that deep hierarchy problem that most will have as beginners and so i stopped making the game to research better ways to design a game.
My entity system work like this:
Entity:
-Data (all data derives from IData...simple interface with just a name)
-Components (all components derive from IComponent... another simple interface with just a name)
-ID (number, not string. Using strings as an identifier was a huuuge mistake. You don't even think its a big deal until you start manipulating it and performance dies)
Basic Entity components:
-IInputComponent -> handles anything that would affect the entity. Includes player input or AI.
-IPhysicsComponent -> handles the physics simulation
-ICollisionComponent -> simply handles creating and updating the collision masks of entites. doesn't do collision itself
-IRenderComponent -> draws the entity
Components have a reference to the containing entity. Datas do not. Components also don't have an data themselves, they just take it from the entity. I could have let the collisionComponent have all the collision data but that would mean components would need to rely on the actual type of class for data. So i separated them and it turned out great. I've made 2 entity systems so far and separating the data is easiest and best.
SubSystem:
-InputManager
-PhyiscsManager
-CollisionManager
-CollisionHandlingManager
-Rendering Manager
-Manager<T>
The subsystem managers simply call update or render. The generic manager simply handles all the entity component/data caches. It's how i would add/remove components/datas and ensure it happened the way it was supposed to. All the managers derived from the generic one. (Theres more to how i did mine but thats basically it). It might seem that the subsystem is redundant but it was meant so that i can easily change the update order. Right now its Input -> physics -> collision -> collisionHandler -> render. If i were to have it as Input -> collision -> ->collisionHandler -> physics -> render, then objects would be overlapping on collision.
System:
-Update
-Input.Update
-Physics.Update
-Collisions.Update
-CollisionHandlingManager.Update
-Render
-RenderManager.Render
ummm what else...I think thats all there is to what my entity system is. To some it might be confusing and unnecessary to make a system like this. But it allows much better organization and i can use this engine for the future...and am. Its easier to code and debug with too. I simply make an entity and build it with components and data. The molero enemy is simply:
*oh yeah, i use factories. Its just a place where i build objects. Hopefully, i can make it so that i can simply load the build process as content.
Entity (molero):
Components:
->input: MoleroAIBehaviorTree. -> you should seriously look into behavior trees. They're very useful. I still use a finite state machine for the player though.
->phyiscs : generic
->collision : generic
->renderer: generic (in the context of my engine)
Data:
->phyiscs : generic
->collision : generic
->renderer: generic (in the context of my engine)
->Input : Ai behavior tree's simply take in the entity as the context data.
Molero isn't much different other than his AI. The brad talkable npc:
Entity (Brad):
->input: TalkableComponent
->phyiscs : generic
->collision : generic
->renderer: generic (in the context of my engine)
Data:
->phyiscs : generic
->collision : generic
->renderer: generic (in the context of my engine)
->Input : Ai behavior tree's simply take in the entity as the context data.
->DialogData
-Dialog
Brad also isn't much different. If i were to add the talkablecomponent and dialogData to Molero, i could talk to him too . The dialogSystem actually uses the behavior tree system, its not just for AI. I use BTs mainly to handle how dialog develops. I should mention that components are best used together as long as they are compatible with eachother. You shouldn't add components that don't mix well together. That itself is a bit confusing at first, and that's where i use a FSM with the player as input. Soon i'm going to try to make my FSM sorta like how SSBB had it (from what i know about it). I used to mod on kc-mm and it seems like ssbb used FSMs. I really like the way the design was using project smash attacks (just a program) and it seems like it would work out real well.
I dunno what else to say. Thats all there is to it i think. If you have any more questions, just ask.
tl;dr.......don't worry about it.