• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

1531 Excellent

About BaneTrapper

  • Rank

Personal Information

  • Location
  1.  If you put your mind to it, figure out things you don't know, and grind it out. Yes you will succeed       There are many aspects to a story, therefore there isn't one liner that will answer that question. Short version: git gud. Longer version: From personal experience, its imagination, and iteration on written story, that really polishes it to be "Interesting" and "good".     I will quote Shia Labeouf "JUST DO IT!", and you will get better at it. At times you get stuck, figure it out, and continue. But most important thing of all is, think small for first few projects, finish the project you started! You might want to train your skills first, by making a simplistic levels, to get hang of it, before you do it in bigger project. Same goes for everything, you might want to make standalone puzzles first in Unity, before making a game with puzzles in it, because it might be overwhelming, and give you feeling of NEVER GETTING THINGS DONE.   Hope i helped a bit. Bane
  2. Wot i was just scrolling and downwoted cause i pressed "Page down" key :o.   I added mark for payment in "Edit 2:" section in first post.
  3. Hello, call me BaneTrapper.   Since start of year 2014 to mid 2016 i have programmed using c++ language making various projects. I have started learning c++ early 2012 using tutorials, and watching videos of other programmers tackle their projects, that's how i grew my knowledge.   What i want: I am looking to spend my time, and improve my coding knowledge, but most importantly i want to learn from other coders, studding their code, and communicating.   What i am willing to learn stretches from basic things like scripting languages, creating ports of applications, your tricks on data management, creation of custom engines for games (Dealing with hardware), basically anything worth knowing.   What em i good at? I am versatile coding in c++ language, i can to some extent optimize code for performance i understand a bit of how compilers generate code, i have watched plenty of talk's on code/performance optimization so i have good understanding of do's and don'ts. Like everyone i have created more bugs in code then i can recall, but i have to my best knowledge fixed every single one i have made or at least figured out how to fix, yes there where some that took months to figure out simply because they didn't occur so often, or i didn't posses knowledge to fix them. I know a math, its not algebra math, but i do vectors, and understand sin/cos. I have dabbled, and wrote few algorithms from need which i later figured out actually have names, so i'm inventor too :o .   Video of 2D, rpg game i have coded all by my self(Note: There was another programmer but he worked on adding lua to the project, so we would port from my created scripting language to lua, which i still don't agree would be a good choice, but for collaboration purpose i agreed) A bit on the image what you we can see: The screenshot is from the game Editor, we can see navigation mesh, and regions mesh which are for even triggers, there are objects which most of them have interactivity implemented(opening doors, lighting candles on fire, and extinguishing, picking berries from bushes, collecting flowers), then there's button's which act as switches for state machine so one switch from editing terrain, to editing attributes of objects etc. http://en.sfml-dev.org/forums/index.php?topic=14563.msg102482#msg102482 https://www.youtube.com/watch?v=mHM2ZOQt5fE   My time restrictment: I would offer my hard work, and my limited knowledge for MORE knowledge. Yes it's that simple! Which would evaluate to 2 hours when i work, and full day when i got free days.(Add there i got chores to take off ya know... i am a living organism, but no doubt i get 8 hours in)   Edit: I forgot to add contacts :P BaneTrapperDev@gmail.com or BaneTrapperDev@hotmail.com, or you can pm me.   Edit 2: About payment: I don't require payment, or desire one. I am financially set with my job, that is why i cannot offer more hours then written above. But if you share split, sure i'l take my cut.
  4. It might help to post anything of game(Screenshots, concept art, piece of story anything rly), so possible applicant can know what hes getting intro, whats the art style ETC. GoodLuck!  :cool: 
  5. First thing, i clicked on link www.tkodo.com . There are literally boobs in center of screen, could write NSFW :P.   Tho this sounds quite interesting, although a bit scary since i cannot find ANY gameplay of the game.     1: Skills, and spells are same thing differently worded, do you require mechanics to the skill (Code to orbit orbs around a character / point), GUI, or storage/cooldowns/mana usage? 2: Do you want to revamp / rework the combat system? 3: You want to rewrite the graphics code / engine, to newer version? 4: "finish the external overlay", do you need GUI? 5: "create a all In 1 camera system", Sounds like code spaghetti :D, or is it? . 6: Crafting system? sure. Is there inventory, and items to work with? 7: "add the demon grading system", you want skills again? differently named? 8: You want to re adapt audio to new format? What are you using that it doesn't support .mp3? but supports .wav? 9: add a gameplay map. You want environment artist / creator?   Sounds like you need half of a game here  :huh: But as you said "Never stop".   Hoping to get answers, and please is there any gameplay/sneak peak of the actual game what's there?   Till then, BT.
  6. Got rekt so hard, i blame that i am tired 
  7. But isn't #pragma once MSVC only? is it crossplatform?, if not. That's why i use #include/
  8. Oh god, i forgot to update, i fixed it. Header guard had name conflict...  And yes, thank you for help. I decided to find issue my self, and i forgot about this post. I Was stuck for some time, and i was getting nowhere so i felt supper down. I really appreciate your help!
  9. Hello, recently i separated one file intro multyple, now i am having compiler complain some of classes having unknown variables. //The function int Object::GetAttackDamage() { int damage = 0; if (inventory != NULL) { BaseItem * equWep = unit->GetEquipedWeapon(); if (equWep != NULL) { damage += equWep->wepDamage; } } if(unit) damage += unit->attackDamage; return damage; } //The error C:/Prog/Code/src/Objects.cpp:155:22: error: 'class BaseItem' has no member named 'wepDamage' damage += equWep->wepDamage;  I can confirm that Objects.cpp includes Inventory.h which includes BaseItem.h Which has class BaseItem which inherites BaseItemWeapon which has this member, its publicly inherited so its visible. I don't know whats happening, or what have i done wrong   Here are raw cut outs of data from project, its clearly visible it is correct AFAIK. http://pastebin.com/QcdcpXZM   What are common issues, and how would i go solving this issue? I have no clue what to do...
  10. I accidentally clicked away pressed backspace and lost about 30minutes of text(20 lines) :| so here we go again... For some reason the written text was not saved when i got back in  I will shorten it up. I have thoroughly read your opinions, and i have even added  a check for actions as you have, i stated i would be posting my code later on . At the time i was making first post i was going with templates, and variadic template for the list. It wasn't working at all. As a matter of fact, the way i am doing it is very similar to yours ApochPiQ, i would go as far to say the idea is exactly the same, i just implemented it in a different way, its implemented in a way to suit my code design that is already in place so i don't rework it all.   Yep. One way of implementing such a "nested order queue" (in principle only, because it were not really a queue) with break points and alternatives and prioritization of what to do and ... already build-in is the behavior tree (just to throw in this term ;) )       It is okay if this is your goal, and/or if the game is a, say, personal study on the way to evolve. But in the end I'm seconding ApochePiQ, in both roles as a developer as well as a player. An NPC that is not able to react on world state changes is what is looking really stupid. If a NPC follows a once planned action list stubbornly without the ability to break and restart elsewhere, then noticeable chances are that the NPC gets stuck somewhere and try forever, and a player observing the NPC simply shakes the head. You have to answer the question how probable that is and how much the game will suffer if it occurs. Worst case, of course, is that the game will be unplayable. With this in mind, having a game finished is not to be judged on the criterion of superficially seen code completeness, but also on its usability as a game.   I have added a check system for actions, it will handle those cases if unit got stuck intro a corner of house and surrounded by objects, by asshole player. It will get it self out. If it has to destroy the objects player placed, then it can. Its handling cases like those when unit is pathing, and there is no path to the end position. It can modify the world in order to get there. If it means start hacking away at a big mountain so be it! although to prevent stupid cases like that i got a road system, and units while traveling from location to location will stick to the road. If even the road got blocked by a troll played that put allot of boxes on the road to block it. Unit would try to find path using pathfinding from last path node to next one, and last node to the final one. If it still failed, well then its the mountain hacking scenario.   But for a person doing AI first time, its a hard task getting AI to even work, making it smart is very complex, but doable.
  11. Hello to you too Henry. What i am doing is AI for units, at time of postings units knew how to do tasks(move to location, attack, idle, check if enemy radius...) The engine handles units data, and reacts accordingly, if unit flag for movement is set to move on given path, it will read from units path list, and lead unit on the path until the path list is done. What i wanted for units to have is memory of their actions, here is a example why: Unit is assigned a path, and is walking on it. If unit spots a enemy in sight radius it will decide, should it run, or fight the spotted enemy, now i can set flags for movement to walk to enemy, or run away from the enemy, but in process i lost the path unit was walking before.   That was my problem i was trying to solve, i decided unit needs a action list. With action list, if unit was walking a path, and spotted a enemy. It would push a new action on top of the stack, thus remembering its previous actions, while allowing new ones to execute.   Now in the first post i really did try hard to simplify it, i am doing it right now, when unit spots a enemy unit allot of actions are set, but i was very simple(stating it would only push one action) for sake of understanding.   I started this project with little design, and on top of all i am actually self learned, and read no books on programming or design. I get stuff to work, and that is what i want to achieve. But i do watch lots of educational videos on programming in general, and reading lots of topics to keep up to date with the programming world.   The way you designed code, i attempted it when i was starting project, but it just didn't fit, the way i am doing it right now is easier for me, and also is less coding from what i notice, that is my opinion.   I suffer from lack of knowledge to explain, and additionally inexperience. How i handle the "go to the nearest quest giver and get a quest and then try to beat the quest" is: I first call a function getPathToUnit(position_start, unit_ID); From unit id i track position all time because the unit will reposition in most cases. The function handles the path generation. Lets start_pos unit is in tavern in town One, and unit_ID unit position is in its House in town Two. The action list ends up looking something like this: setMoveToEntranceOfBuilding() setMoveToEntranceOfTown() setMoveTravelToTown_name(Town_Name) setMoveToTarget(Unit_ID) initateDialogWith(Unit_ID) getQuestFrom(Unit_ID) But if unit was next to the target the list would look approximately to setMoveToTarget_Until_In_Radius(Unit_ID, Dialog_Radius) initateDialogWith(Unit_ID) getQuestFrom(Unit_ID) So that is not a one call, because that would be a real nightmare to make. Possible, but unnecessary work, because that big function can be cut up intro many small ones, and they can be reused.   I have made a prototype, and i am happy enough to go with it, i want to finish the game. Or at least make the AI be smarter then a empty box. I will be posting full code when i'm done with prototype, to show how iv'e done it.
  12. 4:Eventually join a team, having teachers or teammates is so beneficial! having somebody to work with.   I'm extremely hesitant to agree with that. I have severe confidence issues because the teachers, teammates, and other programmers I worked with treated me like my knowledge and mental capacity was one step above that of a rock. I would stress extreme caution when seeking to join them.   I have experienced the same thing, but be intelligent about it. I was also told i am dumb as rock, i could not remember a dam thing when they told me, they tell me something i forget it 5 seconds later. They where not wrong, they where just assholes when they told me. I figured out that i had an issue, i fixed it, i trained, and i still train. I now remember allot better then when i was young, and i can focus very well, but they are still assholes. So i got 1 point from those people, i was hurt, and i still am, but i respect what they did even if they are not aware of it, because i am. They helped me, and for that i am grateful.
  13. Hello. So i am up to this seemingly tough problem, i would like some opinions, and thoughts on how to solve it, or deal with it in a good(Efficient) way.   I have 2D Rpg, where AI can do specific tasks, but i cannot tell it to do a list of them. For example: I want to do this: Give unit a order: Go talk to quest_giver_person, receive quest, and finish it. That would be something like this code vise: //Unit* unit; //TheList-> 0: unit->moveToTargetUntilInRadius(quest_giver_person.position, glob::COMMUNICATION_RADIUS);//To be very simple, this gets you to target until you are in radius given 1: unit->getQuestFrom(quest_giver_person);//AI Logic handles this, and gets quest   Now we let this execute, we start from 0: this would make the unit generate a path to the given target so the list of commands would look like We also, regenerate the path every so often, so we actually get to the target if he repositioned. //Unit* unit; //TheList-> 0: unit->moveUntilPathFinished();//Follows generated path, handles exceptions like collision that shouldn't occur, but gets you to target location in the end 1: unit->moveToTargetUntilInRadius(quest_giver_person.position, glob::COMMUNICATION_RADIUS);//To be very simple, this gets you to target until you are in radius given 2: unit->getQuestFrom(quest_giver_person);//AI Logic handles this, and gets quest   Now 0 command finished, it gets erased and we continue //Unit* unit; //TheList-> 0: unit->moveToTargetUntilInRadius(quest_giver_person.position, glob::COMMUNICATION_RADIUS);//To be very simple, this gets you to target until you are in radius given 1: unit->getQuestFrom(quest_giver_person);//AI Logic handles this, and gets quest   Now we are in quest_giver_person radius so 0 also gets errased so we get left with //Unit* unit; //TheList-> 1: unit->getQuestFrom(quest_giver_person);//AI Logic handles this, and gets quest This would generate a new list of stuff for the AI to do.   I hope this explains the principle of what i am trying to achieve. I will be active if you have questions, or if i missed some crucial data, i will supply it asap!       How the unit is structured, and some functions that would be used in this example: int main() { } int a = 1; double d = 2;//REGISTER THIS AS C++ SNYTAX PLS! //Unit.h namespace uni { enum MovementType { MTNone = 0, MTPath = 2, MTKeysButton = 3, MTPatrol = 4 }; };   class UnitMovement { public: uni::MovementType moveType; glob::Direction movDirectionX; glob::Direction movDirectionY; bool isMoving; double moveSpeed; std::vector<sf::Vector2f> listPath; int moveTargetVecID;//Target vecID to follow glob::Direction facingDirection; int patrolVecID;//This is ID, that indicates to which note in listPath to move to int patrolIncrementValue;//This is to know if moving forward on path or backwards unsigned int patrolAmountOfTimes;   UnitMovement(double MoveSpeed); UnitMovement(double MoveSpeed, const std::vector<sf::Vector2f> & ListPath); void setMoveToLocation(Object & me, const sf::Vector2f & position); void setMoveToLocationSmart(Object & me, const sf::Vector2f & position);//Uses AStar void setAllMovementToHalt(); void setPatrolToLocation(Object & me, const sf::Vector2f & position, unsigned int TimesToPatrol = glob::MaxUI); void setPatrolPath(Object & me, std::vector<sf::Vector2f> & listPath, unsigned int TimesToPatrol = glob::MaxUI); void AssignFollowTarget(Object & obj); void SetFacingDirection(glob::Direction dir, Object & me); }; class Unit : public UnitMovement, public UnitBattle ... { public: LoopUnit();//Loops unit specific stuff like movement, following paths, and executes it on the unit effectively causing un //it to reposition, and calls LoopUnitAI() LoopUnitAI();//Loops unit AI specific stuff if unit controller is AI };   //Object.h class Object { public:     std::unique_ptr<Unit> unit; }; class ObjectHolder { public: std::vector<Object> listObject; LoopObjects();//Handles objects logic, and calls LoopUnit() }; I gave it a though with teammate, and the result is pretty poor, it will work but i don't like that: How it would work is: Have a function that would take action, and be able to tell unit what to do with the action. For example:   int a = 0;//C++ syntax PLS! enum Command {     none = 0,     moveToTargetUntilInRadius = 1,     getQuestFrom = 2     //...  };   class Action {     Command commandType;     //Whatever std::bind requires to be stored     Action(Command CommandType, whatever_std::bind_requires); }   //Will probably use std::list for the final product, but i haven't used list in ages so i'l use vector in this example std::vector<Action> listActions;//This would be the list that unit has   //This is how it would add stuff to the list listActions.push_back(Action(Command::moveToTargetUntilInRadius, std::bind(target_unit->objVectorID))); And this should work, i need to prototype it first, but its idea we came up with.
  14. I never meant it as an insult, i just couldn't force him to change it  . I expect references to be valid, if he cannot ensure it, return a pointer. After a laugh he did a quick fix  , thx on the opinions. EDIT:: The compiler gave a warning, he though its okay.
  15. Does anyone find this code being very bad? Can you rate this from 0 to 10. I am very interested what is your opinion on returning a reference that is nullptr. const std::string &SoundHandler::getPlayingFromPlaylist(const std::string& playlistName) { //Check to see if the playlist exists auto iter = playlists.find(playlistName); if(iter == playlists.end()) return nullptr; return playlists[playlistName].currentlyPlaying; }