Jump to content
  • Advertisement

Pointer2APointer

Member
  • Content count

    52
  • Joined

  • Last visited

Everything posted by Pointer2APointer

  1. Pointer2APointer

    High-level and Low-level languages.

    Low-level is my bread and butter. I've always loved knowing and wondering what was going on underneath all these symbolic English words on my text editors, IDE programs, etc, such as "include this", "load that", "call this", "return this". Higher-level programming means simply writing instructions in a language that is not directly, or close to being directly, executable instructions from a processor for a specific instruction set architecture(C is not really "low-level" as Assembly languages are). Lower-level programming is writing instructions that can more closely be executed directly by the processor(Assembly or machine code). Assembly on a specific architecture is almost the lowest you can go without almost completely sacrificing readability. Binary code or machine code is the lowest-level execution done in general, but even that can get one step lower: microcode(although useless in almost every case for developers, and always pre-coded by hardware engineers basically). It's almost impossible to do much of anything with machine code directly because it's extremely difficult to maintain, and you'd have to literally enable yourself to think along the lines of machine instructions for every miniscule instruction done by the processor. Assembly is much more readable, but still very, very difficult for a newcomer to really grasp(I am still in the midst of learning Assembly for x64 after first mastering 8-bit Assembly from 6502 Assembly, which was used in Nintendo Entertainment System's console in 1985). This is why higher-level languages get things done faster, because the abstraction from the processor is defeated using other tools and programs to "translate" the higher-level instructions into a directly executable format(on the machine code level, usually). If you really want to go to low-level, it's a definite suggestion to start with lower bit-depth processors first(through a virtual machine or such). Although low-level has lost its spark decades ago, it's still nothing more than amazing and useful information to know how it all works from the hardware itself.
  2. Pointer2APointer

    I need help getting start with directx in c++

    Agree. DX and the WinAPI are the LOWEST level APIs you can interface and develop with on Windows. As you might suspect they are the hardest. SDL, SFML, Allegro, etc. Plenty of APIs that will wrap the Windows API, and hide DirectX completely in the shadows from you. This will make the developing part faster and easier, but doing it with DX and WinAPI will make the setting up part longer and more difficult. A beginner would be better off with the wrapper APIs, because, believe me, DirectX can be one major pain.
  3. Pointer2APointer

    Is DirectX Necessary?

    Some developers may prefer that you know DirectX for Windows platform-specific development, because in that case they may choose DirectX over OpenGL(even though up to certain point all advanced Windows-based games use DirectX for rendering certain aspects of graphics under the hood, but you simply don't have to code it that way from your position). So I'd say that it isn't really necessary, seeing as most people go for cross-platform, and using DirectX itself would be harder to grant that through porting.
  4. Pointer2APointer

    Create an operating system

    It's much easier to make a program act as if it were a real operating system (to some sort) than an actual operating system(and a lot more bearable as well). And I don't think your terminology of "virtual" to "real" operating systems makes sense. An operating system running on a virtual machine is still a "real" operating system, as it would generally carry the same instructions that would be used otherwise on real hardware directly, rather than a program acting like a virtualized version of real hardware itself. And if you're really that eager to see how they made the video, contact them on their YouTube account. Someone else can propose an idea, guess, or maybe know, but it's hard to tell based on just a video as to what program was used to make it. If you want to make an operating system for real, however, you have a lot of learning to do. Even though an operating system is still software, it's not the same as compile-and-go "Hello world!" that can be accomplished and executed in less than a minute from scratch(with the right programs, input speed, files and knowledge ready).
  5. Pointer2APointer

    How much experience is enough experience?

    The thing about programming is that there will always be trouble spots for every programmer, best or worst, top or bottom of the list. If you haven't already made a "falling blocks" kind of game, which is like Tetris(without explicitly referring to it), you should proceed on there. Platformer games give MUCH more experience that would be applicable to the kind of game you want to make, because they incorporate the more advanced work of professional games(such as artificial intelligence, gravity, field and space dynamics, etc.). So my advice to you is ... not quite. Even though completing a Breakout clone is already good achievement, and pong as well, and the fact that you can do artwork makes it even better. But if I were in your spot I'd progress through a few more projects before tackling a game that'll probably be harder than you think ultimately. By the time you've completed games like Tetris and Super Mario Bros., you are ready to set the stage on any game you want(well, the first big stage of the stages). I say this because those are classics; a side-scroller featuring many important aspects of advanced game development subjects, and an arcade-style game with falling blocks. But you're definitely well on your way to accomplishing the "any game" feat. Though it wouldn't hurt to practice a bit either, but you would do better to really (and I mean really) study and learn the difficulty involved in a complicated RPG game (and even the simplest RPGs are still complicated to some extent) before tackling an entire project on it to leave it in the dust, and have to start over anew from a lesser position of development success hierarchy. I think I'll make a tutorial series on how to implement the mechanics of RPG games in code(although I'm not any programming expert, I have experience in programming and design).
  6. Pointer2APointer

    Making my first game

    Making my first game[/QUOTE] I have made pong, and now i want to make a simple game.[/QUOTE] a tactical stratergy shooter, similar to xcom[/QUOTE] It's a bit of an unreasonable stretch to attempt to make a game like XCOM, 2D or not, after making pong. If you made pong, didn't you realize the difficulty of it just for such simple instances(two paddles, one ball, reversing velocity)? There's no comparison from a simple pong game, even an advanced one, to a fully-fledged commercial-quality game series like XCOM. I'd suggest you start smaller and work your way into larger, more complex scaled games. Maybe you should migrate to a platformer-style game first: --> http://en.wikipedia.org/wiki/Platform_game I will tell you though ... if you think a commercial-quality game is feasible, just try completing a simple platformer with a few levels(many good programmers have programming-plateaus here), and if you can do that you're well beyond a beginner.
  7. Pointer2APointer

    how to make isometric game

    I suggest you start by overviewing the principles of isometric projection: http://en.wikipedia.org/wiki/Isometric_projection Like anything in making a game, a game's development relies heavily on an idea, a computer programmer experienced with game programming, and/or a graphics artist(altough a programmer can be an artist, and vice-versa, etc.). Regardless of the road you take, knowledge lends you the power to accomplish whatever task you wish anyway you want. But basically, isometric game design relies on isometric projection principles in graphics, and computer programming. You can check out some of the basics of computer programming here as well: --> http://python.about.com/od/throughacomputerseye/ss/begprogramming_all.htm
  8. Pointer2APointer

    Problems with SDL & OpenGL in Dev-C++

    You didn't link with OpenGL, maybe? --> -lopengl32, -lglu32, -lglut, etc. Try adding those above and see if it works. Also, is the build target for a GUI window (graphical one?) rather than a console window(text one?). Be sure. EXTRA: I have the "lobopengl.a" library file[/QUOTE] You mean "libopengl.a"? What does the linker error say?
  9. Pointer2APointer

    2D Platformer - Is that even an achievement?

    You could maybe elaborate a little more in-depth about the game - maybe even show us. I'll let you know instantly if I find the game good, average, or below average, in my opinion. However, any decent, somewhat playable game programmed entirely by one's self is always an achievement.
  10. Pointer2APointer

    SDL Download Help

    I put the link to Lazy Foo's site on the other thread we were on. That site has a whole once-over on configuring SDL to work with Code::Blocks for Windows(that's your current platform, right?). I'll put the exact link here to the tutorial: --> http://lazyfoo.net/SDL_tutorials/lesson01/windows/codeblocks/index.php I know you'll probably (I was the first time) be a bit confused with the settings and such, but just read thoroughly if it's somewhat difficult, and if you have any problems you can report back here!
  11. Pointer2APointer

    I'd like to make a C++ game

    When I code something in C++, it runs it in what looks like Command Prompt.[/QUOTE] Because your build target is set to a console/terminal command-line window(in Windows this is DOS-style command-prompt). It is text-based only - no images or graphics(unless they're made with character symbols or ASCII art). There are a few options you have here, and quite some understanding that would help you out here. Windows graphic-based applications on Windows OS run through software known as DirectX or DirectDraw for windowed graphics, and use the Windows API to manage the controls for the windows(GDI/GDI+ are used as well). This stuff is a complete different implementation on command-prompt windows. There are libraries that offer "wrapping" for this to avoid directly interfacing with this stuff for development if you find Windows API and DirectX to be hard(which many do find them to be). As mentioned, SDL will "wrap" around the lower-level abstractions necessary for window management and graphics(such as DirectX and WinAPI). What this does is gives you an interface that will get you things done faster and easier than with Windows API/DirectX directly. SFML will do the same, and so will many other libraries providing abstraction from the lower-levels of user-space software rendering of the operating system. Aside from what the C++ disliker above is saying, SDL or Allegro is probably what you should be working on and studying now: http://lazyfoo.net/S...rials/index.php http://wiki.allegro....egro_5_Tutorial All of the lower-level abstractions come with more programming experience. The Windows API is the lowest-level API that controls all window structuring and management on all Windows OSes so far, to note. It works alongside with DirectX for optimum software rendering. Learning them both can be ideal and useful, but at this point it would be a little farfetched. I believe it has something to do with .txt files[/QUOTE] Absolutely nothing to do with text files.
  12. Pointer2APointer

    __stdcall Class Constructor

    As far as I know, you can't forego any this-type reference or pointer to a class object in memory in programming languages(well, at least not in any practical way). C++ also implements the this pointer as an r-value: http://en.wikipedia....es_and_r-values
  13. Pointer2APointer

    __stdcall Class Constructor

    _stdcall pushes parameters backwards (right to left) on the stack. _thiscall gets pushed on the stack, but in normal order, and the this pointer is placed in the ECX register. They are simply calling conventions for the compiler when generating object code during compilation.
  14. Pointer2APointer

    c++ win32 some newb errors HELP!

    You can't invoke a function from a function if it isn't defined yet before scope enters that particular function call(in C++, for this predicament). MyRegisterClass() has to be defined above for it to work. Same with the other function. "Identifier not found" is the compiler's way of saying "This function call doesn't exist from this scope yet."
  15. It's like using in C++. After a while, when using the STD library in C++, beginners will probably learn this: cout << "Hello world!" instead of std::cout << "Hello world!" . It is less typing.
  16. To end my misfortunate and bad example code of a game engine, I'll go back and edit to better suit a problem. As for type defining an SDL_Surface *, I always do it because it's easier and faster to write out LOAD SDL_LoadBMP("image.bmp") than it is to write SDL_Surface* LOAD = SDL_LoadBMP("image.bmp"). I would hope others see the time-saving benefits of using a typedef at times, aside from other use. Now I'll go and fix what I poorly wrote out.
  17. Pointer2APointer

    Drawing a variable to the screen?

    [sub]pygame.font.init()?[/sub] [sub]You can create a class that converts variable values of any kind into font equivalents of letters, numbers, and symbols to write on the screen.[/sub]
  18. I see that I've already been attacked for my poorly written game engine code tag. What I actually intended on getting at was that a member function within a class that draws and renders an image, and can return the position in a 2D plane/world can already be a simple game engine practice for beginners. In fact, most games you'd write will have some form of an engine, or at least parts that can be transformed better to reusable code segments and sub-systems that handle game-specific data. It was my mistake - you don't need to pass an argument to an image loading function containing the file name everytime it's invoked/called. I was just aiming to simplify the idea, but I failed to elaborate more into the example, as I just wanted it to be simple. My bad. If you really want better game engine examples, or from people who have more experience in game engine design (more than me at least), you can try a lot of the examples listed above, or for the sake of your topic's title, keep working on one yourself. A game engine is a system that will act as a "wrapper" of some sort over a graphics library, like SDL, SFML, DirectX, OpenGL, and many others. It can dramatically change depending on the genre/target of the game. For example, a platform game would contain codes that handle 2D Cartesian plane mapping, raster image formats in a window and coordinates (for 2D), sounds, AI for non-playable characters, positioning, objects/instances such as coins or items, an animation engine (to accurately load and animate images in memory), gravity and/or friction (if necessary), advanced collision detection systems help a bunch, and playable/game states and tile systems too(tile-based games often save more memory if programmed effectively). As for 3D, well, it's a more difficult extension, as you have a third-dimensional axis awaiting you, along with several other aspects.
  19. Pointer2APointer

    How much math do I need to use directx?

    How much math do I need to use quantum entanglement theories? Basically, how much math you need depends on what exactly you do, and how you implement it. If you want the truth to be told, to go bare-bones and even make a crappy 3-D game yourself, you will have to understand some forms of math. These can include, but are not limited to: 1.Geometric math. 2.Physics. 3.Vector graphics(pretty much Geometry again). 4.Linear Algebra(stress to say it, but yes, it helps a lot). Honestly, you don't have to be a math genius, but application of it will be unavoidable at some point(usually the beginning). The good thing is Geometry, shapes, etc. All that stuff is what little kids/toddlers learn. Math is used everyday for some reason, even if it's just basic arithmetic. Math is shoved in all of our brains, so it's not some "foreign" language you need to newly understand. Sure, it gets complicated, but most of the time you're limited to mathematics that ONLY apply to game-specific logic and rendering, etc. One pretty easy way (well, easier, let's say) to use more advanced math in 3D games is in camera rendering through projection matrices, view pointers, eye points from field-of-view projections, and vertex model space positioned by "world space" or matrices(you can think of the 3D land as world space, and many programmers differentiate "object space" from the world, specifically for models and the like).
  20. First of all, you probably mean a VERY simple game engine, like maybe one that dictates coordinates on a cartesian plane of bounded raster images in memory in a window, and maybe input synchronization. You can implement a super-simple engine like this, pretty much: #include <SDL/SDL.h> void ShowBMP(char *file, SDL_Surface *screen, int x, int y) { SDL_Surface *image; SDL_Rect dest; /* Load the BMP file into a surface */ image = SDL_LoadBMP(file); if ( image == NULL ) { fprintf(stderr, "Couldn't load %s: %s\n", file, SDL_GetError()); return; } /* Blit onto the screen surface. The surfaces should not be locked at this point. */ dest.x = x; dest.y = y; dest.w = image->w; dest.h = image->h; SDL_BlitSurface(image, NULL, screen, &dest); /* Update the changed portion of the screen */ SDL_UpdateRects(screen, 1, &dest); } This is basically a skeleton source code that can be brushed up to draw images into memory. It is reusable, and fixed now for any future readers.
  21. Pointer2APointer

    Hardware/Software Limits?!?!?

    You can use one of the Wacom Graphics Tablet on Ubuntu(some versions are more buggy, or difficult than others to set up, but yeah). And you can install Ubuntu on pretty much any machine, even cheap ones(but is that really what you want?). And the above poster is quite incorrect. Linux machines may not be priority competitors in the market like Windows or Mac, but they can, for the most part, get you what needs to be done, done. You can run many printers, scanners, camera devices, etc. on Linux perfectly fine like on Windows and Mac(though the difficulty levels will be much higher in a variety of cases). Also, Linux is free. Any decent, lower-end purchased computer system, with or without a pre-installed operating system and with a Linux distro like Ubuntu, can get you to do what you're requesting. You also don't need a "modern machine" to run "modern software" exactly. As for the memory management, Windows, Mac, and Linux-based OSes all do it differently. There is plenty of room for debate.
  22. First and foremost, you can probably call me a computer philosopher. I don't have much hands on experience with game programming like a lot of people here do, but I do study and practice computer science, hardware, and operating systems design, low-level programming, and the bridging between software and hardware through different platforms, kernels, and device infrastructure. I will have to disagree with pretty much everyone here. Setting up a GUI/UI for a game is in no way harder than creating an entire functioning game itself. The time it takes to implement the ideas, structuring, and functions of these certain UI aspects of a game can take longer than the process of color-coding your way through a basic, tested, and experienced set of game code and logic that would otherwise take longer without the addition of pre-planning algorithms. However, the elements of a game and its entirety are, at least to me, way more difficult, strategical, logical, and definitely much more overwhelming than a glossy, attractive interface would do on its own. That is not to say that a UI is not important to a game at all, but I really doubt it's the hard part of the whole scenario when adding so many other elements to the process that are severely time-consuming. Then again, easily, it's very arguable that any of us (anyone reading this post, or the OP) can challenge or debate on what defines a game's "user-interface" or "graphical user-interface" in the first place.
  23. Pointer2APointer

    Should I give up?

    Do you think I should convert to a language thats pre-installed in computers, to not deal with this? (such as C)[/QUOTE] C is not pre-installed in any computer, per-se. In fact, what do you even mean by "pre-installed in computers"? C needs a compiler to work(and a linker, usually, and parsing, and a preprocessor, text-editor, etc., etc., etc.). C compilers are not pre-installed in most factory bought computers. The only things you can basically use in most computers in this department of "coding" is HTML/CSS and Javascript. Everything else must be manually/automatically installed for use. So I don't get your sentence there at all ... if you want an easily playable and downloadable game file, make the process of installing/playing it faster and easier. You said, I have to somehow include Strawberry Perl and SDL in the installation wizard, and I would be surprised if I could get that to work error-less. Even then, the Strawberry Perl package is quite big, and the file size will probably throw-off users.[/QUOTE] So don't use Strawberry Perl then, if you think it will turn-off possible users of your software. There is no direct integrated language in a "machine", (assuming you mean a processor) and you need to download the necessary programs and data to write, compile, and create software. This goes for every other language as well. The processor doesn't work with C, Perl, or anything like that. A processor works with machine language (and that's not really even a "language" at all), and all the higher-level tools/programs to convert to it are unavoidable and tweakable at best for the best possible situation.
  24. Pointer2APointer

    Game creation software

    If you're only experienced in Flash (e.g. no other programming languages, syntax, etc.) you shouldn't worry too much about APIs and libraries so fast. First, learn Java 100%(okay, maybe not 100%, but learn it well). Practice on an IDE program called Eclipse: http://www.eclipse.org/ After you get more familiar with Java, look into Java Swing - it provides a graphical window with utilities, buttons, elements, etc: http://docs.oracle.com/javase/tutorial/uiswing/start/index.html After you get the hang of that pretty well, and after you get more Java-specific experience(try in just the OSes console window, terminal, etc. and practice with text-based windows for a while), then it's time to move to the more serious stuff. Remember, you have to start smaller before you advance into more complicated tasks. Within months you can already be writing games easily. A beginner to science doesn't just jump straight into string theory.
  25. Pointer2APointer

    Beginner Programmer Need help!

    1.Learn a computer programming language. 2.Learn the mechanics of game-specific software development(graphics, game loop, I/O, AI, and other assets). 3.Pick a very easy game, visualize it, map the elements of it down to pieces, and code it together.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!