0

Brainstorm! The After Years

So BrainStorm, you guys finished the game, how does it feel?

Andrew: "I'm glad it's done."
Chris: "I'll get back to you..."
Tim: "...done."
Bryan: "Feels good, but it's kinda scared."
Jon: "So glad I can finally finish."
Darren: "It's good to finish..."

Is there a way get in contact with specific people in the group?

Christopher Scribner - megamanlxxv@yahoo.com
Bryan Seabury - darklordvain@gmail.com
Jonathan Blackey - jblackey@fullail.edu
Timothy Trott - timshadee@gmail.com
Andrew Corren - andrewcorren@yahoo.com
Darren Palmer - dmarc107@gmail.com

Are there other games in your month?

Yes, in fact there were, two really creative and cool games. You can go to the individual teams websites by going to Decision Culling Studios.

Message from BrainStorm
Thanks alot to everyone who helped in the creation of the game, including teachers, testers, and any others.
0

No More Countdowns

Aww Yeah BrainStorm!
So, here we are. We are at the big one, Final. This is where we get to show you all the big things that we've been working on throughout these last 5 months. There have been both ups and downs during this process but in the end we do have something of worth to show everyone.

Is there anything to note about this build?
Nothing significant as far as we've tested, but we aren't as professional as we would like to be, so we only have so many resources to test on, but we have tried. Oh, right, also keep your eyes peeled for secret chests along your journey.


Click On The Logo To Download The Final Build
Logo,Ascension
0

Credit Where Credit Is Due

These last 5 months have been rough, and we couldn't have done it without the of help and motivation of certain people. For now lets list off those names...

The BrainStorm Team:
Jonathan Blackey
Andrew Corren
Darren Palmer
Christopher Scribner
Bryan Seabury
Timothy Trott

GP Games Staff @ Full Sail:
Don Smith
Derek 'Meganowski!' Marunowski
Phil Marunawski
Anna Di Masi
Kris Ducote
Mike “Chops” Washington
Chris Marks
Liam Hislop
Justin Gallo
Mike Lebo
Lee Wood
Joel Carroll
Jason Hinders
Marcus Barker
Brian Dammen
Carlos Lugo

Outside Help & Other Important People:
Jon Burnside
Matt Norris
Jeremiah Blanchard
Kent Ward
Milan Neeley
Cap Blackard
Daniel Garcia
Ramon Munoz
Brandon Gerson
Mike Pandel
Eleanor Edwards
Jonathan West

Thanks A Ton Everyone!

0

More Group Work Is Good

Ten Easy Steps To Become A Better Coding Team, Part 2:

6. Be honest, not cruel
Sometimes the pressure and tension gets really high, but you must keep your calm. Coding under pressure can be extremely dangerous, or it can be good in some cases. Know what your doing, do research, think carefully and try, doing that will usually serve you well. Though as with most things, take these liberally. Sometimes its good to relax and experiment, not during a project of course. You never know, one day somebody on your team might have a problem and because you tried out something new that one time, you know exactly what it is.

7. 3D's Of Development
Design, Develop, re-Do, well its not quite three, but thats not the point. The point is to think about what your doing before you do it, and when i say think I mean Document( the other D ). Though I may say re-Do jokingly, there are a significant amount of things that fall into the Iterative process. For example, in Ascension we are using many technologies, both simple and complex. Some of the systems that went through iterations were the cutscene camera, the audio system, and the animation system. Take note that iterations are not the end all, even things that went through iterations have bugs, even though thats one of the goals of working in iterations.

8. Bad Case Of The Maths
If it isn't entirely obvious, most things in the programming... anything really, is math heavy. Be it binary, 2D, 3D, etc, its stuff you just have to know to be an effective programmer. Dont get me wrong, math isn't everything, there are many other things that are important as well. The point of this point, is that its good to have somebody who knows they're Maths, but that always isn't possible, so you have to brush up sometimes. Math is just one of those things that if you're good at it, you're good at, and if your not, you have to try harder.

9. Full Time Chefs Wanted
As with everything, you have to know what your able to take on, know yourself. This is especially important to people in leadership positions. Once you know yourself you can get to know others. This specifically being assigning people to tasks, which should be considered on an individual level. Its good to know who and what your working with, just like a chef, a chef knows who he works with and what the tools and ingredients are. In this case, think of every programmer as a chef, if the chef knows what he needs to make, and knows the tools he has to go about doing it, he can get it done. This also goes along with the knowing yourself part, you don't tell a chef who only knows how to make Italian dishes to make Thai food. Just the same way you don't tell a programmer who's good at doing collision to do rendering, regardless of the fact that he might be good at math. Know your resources, and they will work well.

10. Crash (The motivation killer, not the movie)
Crashes are tough, theres no doubt about that. Theres not much to really say about this, but be careful. This can and depending on the team/person can cause motivation to drop. Theres a reason people like programmers with good debugging skills. As a matter of fact, we had a really bad one recently, and had a ton of trouble finding it( it was 'Memory Corruption' ). Those are the worst kind because they aren't an immediate thing, sometimes they just have to be experienced, so that you know better for later.

Coming up soon:
*FINAL*

Also a few posts that were never finished.
0

Group Work Takes Group Effort

Ten Easy Steps To Become A Better Coding Team, Part 1:

1. Code For Others
As with most people, styles of anything can differ greatly even if you learned the same thing the same way. Take comments for example, comments normally are used to let you remember what you did when you later come back to the code. It is also used to reference changes in code, dates the changes were made, and by who. This can be very helpful later on in the game creation process when you come to have thousands of lines of code, and tons of different files of code.

2. Integrate Early And Often
It takes time and effort to write code, sometimes it can get the best of you if you aren't keeping up. Thats where source control comes in. Source control is a way to manage files that individuals work on so that the chance that two people are working on the same thing is decreased significantly. This is where integration comes in, people move fast and you have to try to keep up, files can change drastically making it hard to integrate code into the main game build( once its tested and working of course ). Doing this helps with the debugging and crashes that may happen, because you certainly don't want them to happen just before a deadline.

3. Teams Shouldn't Only Work Together
Its very good to do team bonding, something that takes people away from code for a while and let's them relax for a while. Team bonding can be really fun, for example, go bowling. Bowling is a good team activity, regardless of how good you are, the goal is to try to have fun. Event something as simple as going to a restaurant is good, preferably a sit down against a fast food, mostly because of atmosphere and seating is usually more accommodating. Granted, team bonding is incredibly scalable, you can bond by having a field day in really large teams if necessary.

4. Clean Up Memory
This is very VERY vital, when programming, make sure that if ( in C++ at least ) your constructor, copy constructor, assignment operator, and destructor are written, this can be a downfall, and it is very common among those newer to programming or those used to managed languages like Java or C# where all the memory is handled for you. This is just a really good practice to have, and is something that you just have to train yourself to remember to do. This may not seem like it would make a difference to anyone else on the team, but you would be suprised, it is very possible that you could be causing issues with other things in the program.

5. Questions Are Your Best Friend
Always ask questions before changing code that you did not write or help write, even reading comments helps ( depending on the quality of comments ). Try not to go and change other's code as you please, do some investigation first and even ask questions if possible. Its good to be very detective like, and find hidden things like optimizations, but try to look around the code block, because your first thought should be, why was this done this way. There could be a reason that this block was written to be like this, or it could just be an oversight by someone else. Inform the person who wrote it as well, people usually learn by experience so in the future the person would be much less likely to do this again.

Coming Soon On BrainStorm Blog:

β
(beta)
0

The World Of Ascension

Oh, The World You Say?

Major Milestone! Ascension has reached it's first truly major milestone with a playable build of the game. First things first, this is still a really early version of the game as we have about a month and a half to work on it. So there are some bugs in this build, though there isn't (at least as far as we have tested) any fatal, or near fatal bugs. Again, this is an early version of the game so content and functionality is subject to change.


Should I worry about anything in this demo?

As a whole, we have not run into any drastic issues. As a team we only have so many resources, so we can't test every type of computer, with multiple configurations. There are a few known bugs, which have been identified in the readme, as well as a few that I will list that are very new. Though if you do encounter bugs we ask that you write them down and place them as a comment on this post.

What if I have questions about anything?

The easiest way to ask questions about the game or team is to leave a comment and you will receive a response as soon as possible. If you know someone on the team directly that would be good to contact as well.

So here we are.

Yes, we are here. Though I would like to address a few bugs that aren't addressed in the readme.
  • Save slots do not work properly under Windows 7(Release Candidate).
  • If there is ever a time you cannot move, pause, save the game, and go back to the main menu to reload your save data.
  • The game does not switch to full screen properly in Windows 7(Release Candidate).
  • If you do encounter any bugs, or have any suggestions, please notify us about them so that we can improve on future versions of the game.

Here We Go!


One Last Note...

If you don't mind, please let us know your operating system, amount of RAM, and Processor(i.e. Intel Core 2 Duo) when you give your feedback. This information will be used to classify bugs to be fixed for future builds of the game.
0

Big Happenings At BrainStorm

Aww Yeah, BrainStorm!

We here at BrainStorm strive to bring you the best product we possibly can, and with Ascension we are doing just that. Though Ascension is still in development we try our hardest to make the quality of Ascension the highest possible at all times.

What's going on at BrainStorm?

We have a few things coming up this week that we hope everyone will look forward to. As of now we are not able to say exactly what developments we have in the pipeline, but we can say that the we be very nice, and significantly enhance the experience of the game.

Got any sneak peeks, trailers, cool stuff like that?

Hmm, not really anything that we are at liberty to say. That would be cool if we could do a trailer or something, but we don't really have the resources to do video stuff like that... Though there is one thing to share, A NEW LOGO!

Logo,Ascension\
Special shout out to Derek Marunowski ( Meganowski!! )

0

Detai|s Are Paramount!

When creating content for anything you, anyone involved, must think of the big picture and the small picture. Try not to just see the forest for the trees, see the forest for both the trees and for what it is. Sometimes it may seem that its easy to just say something and say that you will do it, the hard part is giving a correct estimate and following through.

An example of what I'm referring to would be a milestone deliverable. The idea of a milestone deliverable is that you set a goal for yourself first, tell the people above you( the people who expect work from you), plan out a decent schedule, and follow through. For our POC( Proof Of Concept ) we promised the following....

"For POC, we’re shooting for our AI to attack the player when they come within a designated distance of the enemy. The player will be represented by a place holder mesh, and an enemy will be able to spawn at a basic spawn point in the area, represented by a position in space. Pressing the space bar will spawn an enemy. The enemy will be represented by the same mesh as the player with a different color. The world will be a simple piece of terrain, 30x30 ft for the player and enemies to stand on...
The collision in the POC will be basic ground clamping to the terrain, combat collision for attacking, and taking damage - you’ll be able to view these collisions by basic spheres or quads. The enemy will be able to die and attack, so the player may lose if their hp reaches 0. The player will win if they reach level three, by killing 10-11 enemies. The player will be able to move throughout the area, with the basic mouse and keyboard controls, and the camera will follow the player with the ability to rotate around the player. The player’s stats will be displayed on the HUD, including stats, gold, exp and level. The main menu layout will be present, although not everything will be complete. The options, scoreboard and credits wont be functional, but begin game will be. The player will be able to start the POC game from this menu. In game, the pause menu will be functional as far as leaving the game and resuming the game. The area will have some music in the background, to show we have audio and some combat and menu sound effects as well. ..."

Proof Of Concept basically shows that the team is making progress on the game and that they have the ability to create and implement the basic of the game promised. That large wall of text is exactly what we said we would have for our Proof Of Concept. What we did, and that benifited us in the long run was our wording. We specifically tried to word things to be vague, but still specific and not misleading. "The world will be a simple piece of terrain, 30x30 ft for the player and enemies to stand on." This statement was not completely tru, but was vague(relitively), but specific. That statement was primarily worded that way as a fallback, so just in case we had some issue that came up we could have something very simple to do last minute.

When we presented our Proof Of Concept, this was greatly exceeded. We had a full mesh of triangles loaded with the player walking correctly on it. For those unsure of that i mean by a mesh, think of the gound you walk on, in a game world it could potentially be made out of over 9000 triangles, sadly ours was only over 5000, but maybe one day. The whole point of this is to show that the attention to detail as a programmer is EXTREMELY important, and it has hurt us a few times, but it hasn't been anything we couldnt overcome as a team.
--
Next Time On BSI Blog
________________
The World Of

Ascension,Title,Logo

Brought To You By BrainStorm Interactive Under Decision Culling Studios
0

Technical Roles

Here is a quick post to explain the technical roles of the different lead positions of our group.

Project lead, Darren Palmer. His responsibilities include, leading group meetings, managing work schedules, and being the main point of contact between the rest of the team and the producers. Darren is also responsible for the sounds and music in the game, the collision system, and camera scripting.

Game-play lead, Bryan Seabury. His responsibilities are making sure the rules of the game are followed. For our project he is creating the combat system, managing the objects of the game, as well as developing the artificial intelligence the enemies will use.

Asset lead, Andrew Corren. He is responsible for being the point of contact between the development team and the team of artist, this is to insure that requests aren't made that conflict or repeat. On our team this person also works on the menu systems, HUD (heads up display), File I/O, and 2D art work.

Design lead, Chris Scribner, is responsible for the overall idea of the game and making sure everything works together as planned. This person on our team is responsible for creating the objects in the game, creating the exporters for the artist, Documentation, Animation systems, and loading the art assets into the game.

QA (Quality Assurance) Lead, Jonathan Blacky, This person's main responsibilities are game testing and bug reports. This member of our team is also responsible for the leveling system, the vendor system, the font system, stat tracking, buffs and abilities, and positions.

Technology Lead, Timothy Trott. He is responsible for creating the tech needed to build the game, and providing answers about the tech. In our team this person is responsible for creating the game engine, camera system, rendering, creating particle engine, building AABBs (Axis Aligned Bounding Box) .
0

What A Difference A Day Makes

When we started integration on 07/23/09 the game looked a lot like this:

At this point there are 3 pillars on screen! Yay right? Wrong! At this point you can't tell who's who with the player and enemies using the same mesh. Also would you want to start a game with enemies this close to you?



Now we run into another issue, Ground Clamping. Our pillar/player has decided to burrow through the earth. This is unfortunate because only gnomes have the technology and steady hand required for a task of that magnitude. Needless to say this is gonna get some work.

AT THE END OF THE DAY:

As of the end of the day on 07/23/09 we now have the player represented by a gray pillar (place holder) and our enemies represented by blobby creatures. Also you'll notice we have our HUD in the game and fully functional. The black boxes that surround the enemies and trees are AABBs (Axis Alligned Bounding Boxes) that are used for collision purposes. The enemies wander/patrol an area that is a certain radius big from an invisible spawn point.


Now it's time for the chase. The enemies can now (if you enter their aggro radius) chase you around until they hit a certain distance (leash range) from their spawn point. If they are in range of our player they will attack him with the hopes of ending his existance (ruthless).

User Interface Evolved:


Ascension now totes beautiful menus complete with a pause screen and winning screen. All thanks to the artwork on these masterpieces goes to our asset lead and resident 2D artist extrordinaire Andrew Corren!

Posted By Tim
0

A Hero, Without A Guitar

Name:
Yahrek ( Yaah*rehk )

Age:
Mid 30's

Height:
5'11"

Occupation:
Lumberjack

Background :
Yahrek is the main character(Hero) of Ascension. After returning from a hiatus, he finds that his home town has been burnt to the ground by the demonic Triclops. Yahrek also finds that the legendary weapon that was kept in his hometown was missing from where it should be. With the town’s treasured legendary weapon stolen and the other villagers dead, Yahrek is now the only remaining able body who is competent enough in skills of battle to set out and recover the legendary weapon. At first Yahrek is a novice at combat still, but through exploration, and constant training, he may, at some point, be able to stand up against the Triclops, and return the legendary weapon to its rightful place.

Visual Concept:
Yahrek,Ascension,Concept

Posted By Darren
0

Just For Fun

I don't actually know how much someone can actually get out of our Game Pitch PowerPoint without us actually speaking over it. I will put it up to see how much understanding people can get from this. Overall though I say it's a really good PowerPoint, but that's my opinion.



Posted By Darren
0

Communication Is The Key

In a video game things can happen literally at anytime, you can have tons of things in the game that could be at any given location at any time. How would you deal with that? It can be a tough question to ask. What situations call for something( Object A ) in your game to talk to something else( Object B ) in your game? Most people, depending on your technological background would say, I would send him a message or something. In some cases that wouldn't be a bad choice, but messages aren't perfect, neither is anything else for that matter, but they do have their weaknesses. This brings me to Communication Type 1, The Postal System. For the most part people agree that the postal system is very slow or is complicated to some level.

Something You Need To Say To Someone...
In the real world the postal system consists of 3 components at the minimum, these are a sender, a deliverer and a receiver. The sender is exactly as it seems, a person who has a MESSAGE that he/she wants to convey to another. In the game world this would parallel exactly as it seems. The Deliverer is effectively the postal service, where the messages are processed ad delivered. In itself the Postal service isn't a one man job, because it consists of multiple roles. The roles can be broken down as such, mail is received from the sender, taken to the Post Office to be processed, and after processing it must be delivered. As you can already see this model is starting to take up a lot of time. In the game world this is almost paralleled, mostly because of the steps. At a high level it is the same but doing it is different, first because the sender must know exactly who the message should be sent to so that the post office can send it to the proper destination, at the same time the post office must know who that is so they can sort it internally. Finally the receiver part comes after the message was sent, processed, and is now to be delivered. Hopefully the Post Office knows who the receiver is and is able to get it there as soon as possible. If every thing has gone according to plan, everything should be fine and dandy with a letter in the receiver's mailbox in as timely a manner as possible. In general the postal system is very useful, but time and other varying factors take it down.
Model,Message System


What If I Just Don't Care...
Communication Type 2 is more along the lines of TV, more precisely the news most times. This system is called the EVENT system, where there are a lot of traits from the message system, but a lot of the focus is shifted to be more time efficient. In general the TV world works like the postal system in terms of having three steps and a goal. In the TV/News model weight is shifted from the Sender/Middle Man step to the Middle Man/Receiver step. In the real world, an episode is created sent to some sort of communicator ( usually a antenna or something similar) and is sent out to anyone who cares enough to subscribe, not unlike the magazine system. For the most part this saves time because everyone that exists doesn't have to be searched through to find a specific person. At the same time there is the slight downside that anyone who cares has to make the effort to sign up to receive each and every event that they want to know when it happens. At the same time the helps the both sides, the sender only makes events happen when there is someone who wants it, the middle man only has to deliver to any people that have subscribed to this specific event when it happens, and the subscriber/receiver only gets stuff he/she cares about.
Model,Event System


Custom Models Are Cool Too...
I'm sure there are other models, but these are the to that are most commonly used. For this game, Ascension, I have designed a special model that has the best of both without being either. This model is based off of RADIO Communication, which if it had to be typed it would be Communication Type 2.5. The Radio model is very similar to the TV model, but with an extra layer, that I call the Cellular/Communicator layer. In general the radio communication layer splits up attributes to be efficient, in the model there are two base types, the transmitter and the receiver. All the transmitter can do is send, and all the receiver can do is receive. In a game world there are items that don't always need both, then there are some that need to do both. This is where the cellular layer comes in, essentially playing the role of a cell phone. A cell phone can do both of these functions, very well usually. The cellular layer takes( inherits ) everything from both the transmitter and the receiver and adds to it. Anyone using this model that has a cell phone can send events to people who subscribe to the events, but at the same time can communicate using a contact list.A contact list is essentially a phonebook in a real cell phone. You have the ability to have anyone that is part of the cellular layer or is a receiver can give you their unique ID and you can literally send events directly to them as if it was a message system.
Model,Event Sustem


In The End...
I'm sure there are many other ways to implement communication between game object, but Type 1 and 2 seem to be very popular, and type 2.5 seems like it's a good idea. In all there are so many creative communication models that can be used to create different ways to communicate in a video game, but it all depends on what you need in the end.

Posted By Darren
0

Ascension Over View

In Ascension, the player will have control of the main character Yahrek, a young man who upon returning to his village from a long journey has discovered that his town has been destroyed by an evil triclops. Yahrek must fight enemies and explore the world in order to gain levels, building stats to defeat the tricolps and return the legendary weapon, Heritage, which was stolen by the monster.

Upon starting the game the player is introduced to the only other survivor of the village, Edom. Edom is the towns vendor who was out gathering herbs in the marshlands, as he is one of the finest alchemist in the land, at the time of the attack. Edom will explain to Yahrek that the library to the north has burned down as well and suggest that he should investigate the site, as well as other points of interests in the world. Edom has also agreed to supply Yahrek with different potions, for a price.

As Yahrek explores the world he will face different opponents such as goblins, thieves, and the undead. Through hack and slash melee combat, Yahrek must over come these enemies in order to gain enough experience to gain levels. Once enough enemies are defeated to gain a level the player gains two skill points to spend in the different stat trees, these being Strength, Agility, and Defense. Putting skill points into the Strength stat will increase the damage done to enemies as well as give a special attack and critical hit bonus. The Agility stat will increase the critical hit chance, increase attack speed, and give a sprint ability. Defense will grant Yahrek with more total hit points, a passive parry ability, and thorn skin where an attacking enemy will take damage when the deal damage.

Once the player feels they possess enough skill they may seek out the tricolps for the final battle.
When the tirclops is defeated Yahrek regains Heritage for a safe return to the village. At this point the player will have an option to start a New Game+ where Yahrek yields Heritage, and can try timed runs of the game with the more powerful weapon and all their stats from previous games.

Ascension will be an amazing game with many possible permutations depending on play style and how skill points are spent. Please feel free to leave a comment if you have any questions.

Posted By Bryan
0

Sound And The Player Experience (Feel The Music XY/XX)

Learning From Examples:
How do I make the player feel engaged in the music? How do I design good enough sounds so the player doesn't want to mute the music? How do I make the user 'feel' how I want them to feel? In general those seem to be the questions that I'm currently thinking about. Most of the time these are very difficult questions to answer, especially when you're limited in both time and experience. At this point the best that I'm able to do is reference other games that are similar to 'Ascension' and develop a general strategy so that i can get a general feel for how atmosphere should be implemented.

Battle Sounds/Music:
Most action adventure games have some type of themed sounds/music to make the player feel involved. While the player is not dying or in danger of dying an average game would play music that is slightly upbeat, but not with a high tempo so the player feels like he/she actually is in danger. Why does that matter, music is music? Actually that's not always true. In general music cannot be interchanged in most situations, most music is designed to fit in a specific place in a game. Next time you play a game, preferably an adventure or an RPG, try either muting the volume or listening to music.

I'm sure you as the player will feel detached from the experience, you might even lose interest in the game at some points. Granted some genres don't have that problem nearly as much as the more story heavy or action heavy games, for example racing games. Racing games don't have this problem nearly as much as other genres, because there is no one sound or feeling attached to the driving experience. There also is personal preference, as some people might like to hear the sound of their engine or others who like to listen to their favorite music.

Read Below the video before watching it.

Fable 2 (Xbox 360):


Listen to this video first without the sound. After you finish it think about the depth, how you feel versus how you think you should feel. Then watch it again with sound, and see if you felt the same way as before. Granted, it's not the same if you have played the game before, because you would be expecting it or know what the general feel of the game is.

Example of a good player environment:
Genji: Days Of The Blade (PS3)



As you watch the video of Genji, take note of the music, the sounds the players character makes and the sounds of the enemies. For the most part, thorough the game and this video, you will notice that both the visuals and the audio are themed towards the theme of Feudal Japan.

Next Time:
Sound And The Player Experience Pt.2 (Ninety-Nine Themes)

Posted By Darren

0

BrainStorm 101

Aww Yeah, BrainStorm!
BrainStorm is starting a blog? Cool.

Time for some quick Q&A. ( Real questions That Were Asked )

Q: Why BrainStorm?
A: It's cool. Plus it sounds kinda smart.

Q: What's this for?
A: Final project. Its for a 5 month long class that has us essentially plan and create a game.

Q: Us?
A: Yeah. My group.
Jonathan Blackey, Andrew Corren, Chris Scribner, Bryan Seabury, Timothy Trott, and myself Darren Palmer.

Q: Cool, So what are you doing?
A: An Fantasy Action/Adventure Game w/ RPG Elements, more details coming soon.

Q: Is there a name?
A: Yeah, the name is 'Ascension', cool right. Thank Andrew for that.

Posted By Darren