- Viewing Profile: Reputation: Strewya
Community Stats
- Group Members
- Active Posts 57
- Profile Views 1,589
- Member Title Member
- Age 25 years old
- Birthday January 7, 1988
-
Gender
Male
-
Location
Croatia
User Tools
Contacts
Strewya hasn't added any contacts yet.
#5055967 VS2012 & Git Problem
Posted by Strewya
on 23 April 2013 - 02:58 AM
also, why not use Git from console? more control that way.
#5029448 ID3DXLine to world space (instead of screen)
Posted by Strewya
on 06 February 2013 - 10:57 AM
Ah ok, my bad, i honestly thought that would work, and had no way to check until now. ![]()
Theoretically you could use an std::vector<D3DXVECTOR2> and just push back values as needed, and then draw them by passing the address of the first element (&vec[0]), and it would work the same, and would be exception safe too, as right now if you get an exception in between the new and delete calls by any chance, you leak the memory.
#5029325 Rule of Three, and const-correctness questions
Posted by Strewya
on 06 February 2013 - 02:07 AM
I have to agree that the rule should be the Rule of Two. If you need a unique assignment or copy ctor, then you really need both of them. If you have smart pointers (and you should, instead of raw pointers) or const members, the autogenerated destructor does the job right, but the assignment and copy ctor need to be custom.
#5028291 Sprite won't change position
Posted by Strewya
on 03 February 2013 - 04:06 AM
It's because you're updating the position of one copy of your paddle, and drawing another.
Doing a push_back() in your ObjectManager makes a copy of your LeftPaddle object.
You should either change the list to be a list of (smart) pointers, or somehow retrieve a reference/pointer to the paddle object from the ObjectManager and update it when input occurs.
#5025048 Project: Alter Ego - Leveling/Stat Gain Mechanic
Posted by Strewya
on 24 January 2013 - 03:46 AM
There was one last thing I thought out but its on the more technical side and most players wouldn't see it. Its a "anti-macro" code built into the game. Essentially it works on the principle of algorithm detection. The code will constantly and passively monitor command inputs and will catch patterns when they repeat. This code posed a programming hazard because after a long period of recording the information has to be dumped or else the load is too much for the engine to process. I figured I could set a timer (its set for about 24 minutes or an ingame day) to dump the recorded commands and start monitoring all over again. This means a player (if they found out about the 24 min aspect of the code) would have to record a full 24 minutes worth of actions into a macro. If the code detects anything fishy, all stat gain (both passive and active) halt until the end of the 24 minute cycle. That means if people even try to grind in a cheesy exploitive way they get the boot lol
This will actually punish legit players as well. When they find something that works for them, and they start manually repeating those actions because they dont have access to/dont know how to make macros, but find those actions are easy to repeat often for moderate gains, your script will see that as a repeating action, mistake it for a macro and deny the player any gains for their efforts, which to them will seem for no apparent reason (as it's hidden from them). And those repeating actions even might be a perfectly legit playstyle. I doubt you can ever predict all the actions every player will ever perform in your game, and build code to prevent exploits, but not actual player performed repeating actions, in a consistent and smart way. If you're trying to frustrate players, go right ahead ![]()
As for your health/healing systems, you're basically punishing players with long wait times between combat actions because they 'might' use exploits. I'm assuming here that a sizeable part of your game is combat itself (assumption based on your introduction post), and having to wait a long time to continue playing that part of game because you're too beaten from the last fight is the wrong approach, and will turn players away from the game. Even legit players who are just not that good at fighting are forced to wait over 2.5 hours before their next combat encounter. And you said it yourself:
The other choice would be afking but who really wants to keep doing that because theyre failing at not taking damage?
People will rather play a fun game, than a game that punishes them for a seemingly normal (albeit unskillfull) play style. And judging by your proposal for combat in the introduction post, combat controls seem really complex (emphasis on 'seem'), which would only make the problem bigger, and because of that people will most likely either avoid combat altogether, or quit your game out of frustration/boredom.
I do believe that without a prototype, your systems are too undefined and open for interpretation, which is why i'm giving you both legit players and an exploiting players perspective.
#5024630 Project: Alter Ego - Leveling/Stat Gain Mechanic
Posted by Strewya
on 23 January 2013 - 02:03 AM
just a thought here, gaining stats just by wearing stuff opens you up for exploits such as "i'll just equip this sword and shield and go afk for 2 days, and when i come back i'll have a large amount of stats gained", or something my friend did in Skyrim, "i'll go to a low level dungeon, find some weak monster that has lower damage than my regeneration, go afk and gain huge amounts of permanent health".
You need to be really carefull with passive stat gains because players *will* find a way to exploit that system. If the stats are gained on use, then you need to clearly define what that use is so players can't do the 'use' while afk.
For instance, walking isn't a valid 'use' as it can also be easily exploited (think walking into a wall or walking in circles, which can be done using some smart keyboard/mouse macros). Casting a spell alone also isn't a valid 'use' because players will cast spells into empty space/walls in some safe environment and gain stats easily without any risk.
#5019841 Modified Breadth-First-Search Assistance
Posted by Strewya
on 10 January 2013 - 06:23 AM
TMove::TMove(int Index, int Moves, int Parent)
{
index = index;
moves = Moves;
parent = Parent;
}
is this an error in copy/pasting, or does your actual code has the 'index = index;' line? (note the missing capitalization of the rhs value, you're essentially assigning index to itself here)
#5002653 Alternative to JSON and XML?
Posted by Strewya
on 20 November 2012 - 07:01 AM
http://www.hyperrealm.com/libconfig/
(check out the documentation link on their site)
#4966286 toupper() function?
Posted by Strewya
on 05 August 2012 - 01:23 AM
toupper only works on a single char.
do something like this:
std::string uppercase(const std::string& s)
{
std::string ret;
ret.resize(s.length());
std::transform(s.begin(), s.end(), ret.begin(), toupper);
return ret;
}
- Home
- » Viewing Profile: Reputation: Strewya

Find content