Is it possible to recognize enemies with screenshotbased machine-learning? [closed] - c#

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm trying to start coding on a holiday-project that recognizes enemies by analyzing screenshots in lifetime. In my research I read about computer-vision and machine learning. Up until now I only wrote a program that finds a green dot on the screen and moves the pointer towards it. However I'm struggling to figure out how to calculate in distance-based body sizes, shadowing, different player models, only small parts (arms, legs, heads etc.) showing up, finding the difference of dead and alive enemies and wayyy more. For the understanding of my problem I'll add some screenshots.
Thanks for answering!
http://prntscr.com/fwudav
http://prntscr.com/fwudxm

I'll first give a heads up: This is not a "holiday project". People make 6-7 digit USD salaries researching this.
Instead, I'll answer this with more of an education on how to break up and think about a complex problem like this.
Think about it as a human. If you, as a human, can't look at an image and determine what it is you are looking at, then neither can a computer you are trying to teach. Determine what it is that makes the "enemy" an enemy on sight, and then determine what needs to be visible in the image to be able to determine it. Looking for a "person" is difficult, and it won't necessarily make them an "enemy". Find something simpler about them, a logo, a type of hat, etc.
Once you know what to look for in the image, the first step is looking at 3d space and perspective. If you know how the image you are looking for can change, you can check for the changes.
Apply the same to other changes in a 3d space. Lighting, depth of field, etc.
The way to make this faster and easier for a computer is having a lot of just-different-enough sample data to check against.
The technology itself is comparatively new, and finding freely available algorithms and code to work with is not reasonable, but some information about its concepts and the problem can be found.
Some links to learn about what the technology is. Browse and go through the terms on these pages:
https://en.wikipedia.org/wiki/Reverse_image_search
https://en.wikipedia.org/wiki/Perspective_distortion_(photography)

Related

How would I keep track of the Player and AI's positions for a racing game? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
Summary:
So, as the question suggests I'm trying to develop a racing game. Although, I need to create a system to keep track of what positions the Player and AI are in. Positions as in first place, second place, third place, etc.
What I've tried:
At first I was going to use a system that was made by Jimmy Vegas in one of his tutorials for developing a racing game, but this system only works with two cars and an enclosed track/circuit. My game is an off road racing game, this means the track is open and the player will be able to make there own shortcuts and no walls will restrict the player's ability to roam the map. This renders Jimmy Vegas's system useless for my type of racing game. I tried to mess around with the code to find a way to still use his system, but I'm afraid it won't work. Any help would be greatly appreciated!
Possible Solution
I won't be writing the code for this as it's too implementation-specific, but here's some checklist pseudo-code.
Use the following to compute relative positions between two players:
Compare first by laps.
If same laps, compare by checkpoints.
If same checkpoints, compare using a distance function to next checkpoint. This function may be as simple as Euclidean distance, but I'd recommend whatever you're using for your AI pathfinding.
If you want absolute positions of all players, make an array, and sort it using laps, then breaking ties with checkpoints, and finally breaking ties with distance.
Even a hundred-entity race running this every frame shouldn't have any problems.

Unity: AI suggestions for "Tiny Wings" like game [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I'm working on game similar to the mobile game "Tiny Wings".
Image of Tiny Wings
Like shown in the image you are supposed to land on the downhill part of a mountain. If you are fast and high enough you can fly past mountains without having to land and slide down. How can I create an AI that knows when to land and when to fly past the hill? (I'm using "AddForce" to push the "bird" down when the player decides he wants to land) Thanks!
This is not a simple problem that can be solved in a single answer.(At least I don't feel this to be the case.) But i can give a couple pointers as to how i would attack this problem. So it could get more complicated than this but this seems like a good place to start.
First I would have a range of optimal angles for landing the bird in the "butter zone"
Second you will have to keep track of the birds rotation/angle in relation to the ground
Third you will have to build a system based on the birds velocity to seek out a "target" landing spot
Fourth you will have to adjust the angle of the bird to be as close to parallel with the landing spot as possible.
Hopefully this will get you started, but this seems like it's going to be a somewhat hefty task. Good luck.

Organizing sound files [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
This question is actually a theoretical one, not about specific coding, but of the approach.
In my video game, there are a lot of phrases that protagonist is supposed to say. Now, I want to add a voiceover, so that someone will read those phrases aloud, so I can add them as sounds, not just plain text.
There are many different phrases.
So, the main question is, what's better, to have each phrase as separate sound file, or to have those phrases divided by sections (like game areas, or game actions or whatever), where each large file will contain a number of phrases. Then, in code, I'll order to play the large file not completely, but from specific time, to specific time (is it possible in WPF?).
What is important:
Time - which approach is easier to do?
Resources - which approach is easier for computer and\or visual studio compiler?
Copyright - I want to limit the possibility of end users stealing sound files.
I personally think that having a thousand of files is crazy, so it's better to use larger files that contain smaller ones. However, my friend highly recommended against it, claiming that playing large files from the middle is harder for computer and will cause problems, maybe slow down the game.
What option will you recommend? Or maybe there is another approach I didn't think of?
Thank you in advance,
Evgenie
I would imagine that using seperate sound files would be easier. Then within c#, add them all to a list.
From that I think it should just be possible to call the index of each sound file, which would be easy if you keep them organised, and labeled well.

how to build Programmerly control 3D Avatar or Character S [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm a student, I'm doing my final year project. It's for deaf students.
How can I create 3D human character?
How can I control that human characters movements via a vb or c# program
such as when I'm type in a text box "Right hand" The 3D model shod raise his/her right hand.
Are there any suitable libs for my need?
To my knowledge there are no libraries working on an abstraction level so high as you are describing.
I think you should look into some 3D game engines/libraries. I know that XNA is quite popular for C#. It is not as simple as importing a 3D model and telling it to raise its right hand though.
i would look into XNA
start off with 2d then move onto 3D
there are some excellent videos here
http://www.XNATutorial.com
you should be able to skip most of the theory lessons
you may also want to check out the first tutorial here as well
http://create.msdn.com/en-us/education/gamedevelopment
whilst its not technically a game you are developing the theory is the same
WPF is definetly the wrong approach for that because it has only a low performance if you use too complex models. It is also complicated to build 3D models in WPF.
As Yakyb and andvin said XNA would be a good choice.

Ideas for a windows desktop application [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I am starting to make my own apps and publishing them. The problem I face is that my apps are mainly for my purposes. What are some problems that you face while in windows? I need some desktop application ideas that are simple but helpful.
Rather than giving you a fish, I will humbly try and teach you how to fish:
Take a blank sheet of paper and write out as clearly as you can the problem that you want to tackle. Clarity is key because clarity of purpose gets your mind focused on what you are really trying to accomplish.
Think of at least 20 ideas and write them down on that once blank paper. Let your mind really flow and give up worrying about whether your ideas are practical or what other people will think about them.
Read over your list and determine which ones actually are good ideas. You might want to put the list away for a while and then take it out the next day to see if you still think those ideas pass whatever test you have for your ideas.
Lather, rinse, repeat.
Note that I don't necessarily know that I have a problem until you show me that I have a problem, and then show me how to fix it. Personally I think computers are still too hard to use, and I'm a programmer. Because my work life is so complex I like software and gadgets that are simple and elegant. MP3 players existed long before the iPod came out, but the iPod was able to get the mix right.
http://hubpages.com/hub/How-to-Come-Up-with-Good-Ideas

Categories

Resources