I'm part of a big programming project. (question about windows programming)

Started by
13 comments, last by DayZero 19 years, 1 month ago
Nope, nothing big. All it's gonna be is a window with a green 2d circle and white ball rotating around it. I've written an algorithm on how the programming will be done and it's pretty simple overall, I just need to spend an hour or two learning how to make windows and like a 2d circle that can move.
-Kronikle
Advertisement
Quote:- does this need stuff like input boxes ?
- 2D or 3D ?

and more important: what does he need it for?

I'm guessing the "boss" is giving it to him as an exercise.

Anyway, Kronikle66, Win32 will most likely get you what you need, if drawing a circle traversing a square is all you need. Here is a good overview of Win32 API graphics, and (page 3, I believe) includes code to draw an ellipse and a rectangle. Here also is a tutorial on the structure of Win32 - the message loop and creating a window, among other things.

Cheers.

<edit :: Lesson10 (on the second link) seems to have all you need.
- stormrunner
Well for windows programming start with the MSDN Windows API docs. All you really need to do here is get a simple window working, which isn't too bad. But if you've never worked with a message based event driven architecture before it will take some getting used to coming from the console based programming world. Start with the sample window app there and try to really understand what it does. All you will really need is a window with default behavior and a non-blocking message pump for animation. Once you understand the message pump in the sample take a look at PeekMessage() to get a non-blocking version working. Another option is always MFC, but for getting into windows programming fast I'd just go with straight windows api.

Another option would be sdl or even glut as long as they meet the requirements of the app. They will take care of the windows stuff for you, but you'll need to learn them, and you'll need to make sure they are acceptable with your boss. Depending on what this is used for the lgpl liscense used by sdl may be an issue for your company.

A bigger problem may be this "ball", that sounds like 3d to me. If you've never done that before this could be quite a challenge for you to get up to speed fast. You'll need to pick an API, either d3d or opengl (or more likely your boss will pick one for you). Then find some good tutorials (nehe for opengl) and get cracking.

Now having said all that, I think you really have a larger problem here than the technical challenges you are facing. Assuming that you didn't actually lie about your skills to get hired you need to learn how to manage expectations. It's not unreasonable to assume that a new hire, an intern no less, would take some time to come up to speed on the tech used by a new company, especially on a first job in a field. This is usually factored into hiring and management decisions. Work with your boss to understand the scope of your project and make sure you set reasonable expectations about the work required to complete the task. This task will require more work for you to do then it would for a more experienced team member, because you need to learn the tech. That should be built into the time estimate. Don't set yourself up to fail by not giving him a good understanding of the work involved for you. Also if he understands your training needs he may be able to help by putting you in contact with a more experienced programmer, giving you reference materials, even just giving you advice.

Even if you did lie and you’re completely out of your depth I'd own up to it now. Try to be politic about it, but he needs to know your abilities and get you the help you need if you are to have any chance at success. If you are lost on what he considers an "easy" task you won't have a chance if he ever gives you something "hard" to do.

Finally remember that at the end of the day this is an internship. You are there to give value to the company, but you are also there to learn. There is an expectation that you won't know everything right away. Be sensitive to the fact that they may not want to invest too much in training you, but don't be afraid to ask questions.

[edit]
Looks like a lot happened while I was posting ;)
Since it's just 2d this is a lot better. I still stand by my suggestions about working with your boss to make sure he understands your skill level though. You need to make sure that you get tasks that you can actually complete and that you get the resources you need. Good luck, it sounds like a great opportunity :)
[/edit]
Thanks for the last two replies. You guys came through more than I would have ever thought possible.

As far as the whole situation with the intership goes, it was somewhat thrown upon us. I want to be a game developer when I graduate college so I thought this would be a very useful experience.

Let me explain the project for you guys. There is some equipment at the gym that consists of a platform placed on top of a ball, and people stand on this and try to balance themselves. Well, a client came to my boss and asked him to develop a system that will analyze the tilt the person is at and send the data to an attatched monitor which will then project how much the user is tilting, where his feet are placed, plus many other assorted features. Since my background is in game development, they want me to help out a bit by creating some simple games that can take advantage of this.

The one I'm working on now works as follows: You pick which track you want a white CIRCLE/DOT (ball was a poor word) to follow, circular, square-like, etc. and the dot will move automatically along the path and just loop itself. The user has control of a second red dot. When the user moves on the platform, the red dot moves with it. My boss is creating a DLL file which will make all that hassle very simple. Anyway, the goal is for the user to see how long his dot can stay on top of the rotating dot.

Later on, for another game, they want me to make a maze the red dot can follow. You have to navigate with your dot along a maze collecting objects. I can do this. I think I might have made myself sounds more programming illiterate than I really am. I've made some nice dos-based, 2d games, just never anything with windows. So that's what I really needed, something that will help me get used to a windows interface while programming.

Anyway, when my boss said it would be an easy project, he thought I would be using Visual C++, which WOULD make it easier. Due to restrictions, however, I can't install that program on this laptop. I told him just now that it would take me much longer that I had originally anticipated, as I would have to learn how to program this without a GUI. He understands and doesn't care how long it takes for me to learn this.


Now that that's out of the way, thank you, once again, for the great replies. I'm going to get right on the tutorials. Thanks again!

-Kronikle
-Kronikle
You can find a great tutorial covering all the basic aspects of win32 programming in C++ here (theForger's Win32 API Tutorial).

Sing along

Visit Dayzero Games for Classic Arcade Remakes.
Free Classic Arcade Games by Blitzway Games

This topic is closed to new replies.

Advertisement