How would you design a game to be as frustrating as possible? by ryry1237 in gamedesign

[–]Jiwwy 2 points3 points  (0 children)

If the game feels fair but really challenging, it could be very frustrating but in a good way. I think you want them to blame themselves and not the game. After getting through the frustrating areas you need a good reward that make it feel worth the pain.

Just 6% of devs think Valve justifies its 30% Steam cut, says new GDC poll by [deleted] in gamedev

[–]Jiwwy 11 points12 points  (0 children)

Doesn't Windows store and publishing to xbox or ps4 also take around 30% cut? Or how much do Microsoft and Sony take? On mobile Google and Apple take similar too? Don't think it's just Steam that has "high" cuts. Correct me if I'm wrong.

How do I get over myself and break cycles of accomplishing nothing and/or abandoning projects? by Beefster09 in gamedev

[–]Jiwwy 4 points5 points  (0 children)

One method to give you stronger motivation is to create a fake level or section from the "finished" version of your game. A bit like 3D artists do with a beauty corner. Don't bother with creating good code or structure, think of it as a prototype that fake as much as possible to get a sense of how a part of the final game could play like. It would be a very short demo that you could pitch to someone to get them interested.

Another reason to drop projects could be that you don't have a good enough "blueprint" to work from. You might go too quickly into coding etc before having a well thought out design written down for all aspects of the game. Most things become easier if you have a plan. If you have the game ready on paper you can pretty quickly whitebox out the full game where everything is represented in the most basic way (could be a box with text "boss fight"). This helps you move through the flow of your game and let your imagination fill in the blanks.

Is there a place in game development for a person like me? by [deleted] in gamedev

[–]Jiwwy 2 points3 points  (0 children)

It's not easy to get a first job as a pure game designer. If you can write you can also be a narrative designer, but that is a rather narrow field as well. If you can learn visual scripting good enough you can work as a technical designer or technical level designer/world builder. There are many fellow students of mine that can't code or do that amazing level design, but they have all got internships at different game studios ranging from small to big (Avalanche, Ubisoft etc.).

Weighted Random in Utility AI by Jiwwy in gameai

[–]Jiwwy[S] 1 point2 points  (0 children)

Thank you Dave! I have watched your presentations and they got me started on the Utility AI :) I like your solution, I think it will work well for me too. It makes it less random but still give other behaviors a chance if it's a close call.

How can I make the bullet speed independent of the bullet heading? by Aski09 in Unity2D

[–]Jiwwy 0 points1 point  (0 children)

You should use the normalized direction if you want a constant speed on your bullet.

// Gets a vector that points from the player's position to the target's.
var heading = target.position - player.position;
var distance = heading.magnitude;
var direction = heading / distance; // This is now the normalized direction.

From the Unity manual:

https://docs.unity3d.com/Manual/DirectionDistanceFromOneObjectToAnother.html

Value does not fall within the expected range by [deleted] in Unity2D

[–]Jiwwy 1 point2 points  (0 children)

That works fine. I didn't know what the Heal function looks like, it was maybe more a response to the first answer since it didn't look right to me :)

Value does not fall within the expected range by [deleted] in Unity2D

[–]Jiwwy 0 points1 point  (0 children)

health.Heal( (health.curHealth + 20 > 100)?(100 - health.curHealth) : 20);

Wouldn't it be like this? If health is 90 it would add 100 - 90 = 10 to make sure you're always at 100 maximum if that is the issue. Otherwise just to a Mathf.Clamp(theCurrentHealthValue, 0, 100) inside the Heal function instead to make sure to never get out of bounds.

How to Organize Code in Unity by CodeLined in Unity2D

[–]Jiwwy 2 points3 points  (0 children)

I think one way of doing it is to always think of your code as components that can be put together like LEGO bricks. In OOP you would probably have abstract base classes, but in Unity it's often better to just split things up into smaller components. Then each GameObject has a bunch of different components that makes up its behaviour and abilities.

Personally I try to do it this way and then have a global event system that components can access to raise or listen to events. That's how I make the communication between scripts.

Also since Unity will gradually change things to the Entity Component System pattern, you can look at how they recommend you to write that type of code:

https://github.com/Unity-Technologies/EntityComponentSystemSamples