Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

138 Neutral

About EmperiorRune

  • Rank
  1. Hey, I've written myself a very basic engine that I wrote using direct win32 calls. I used directx 9, as well audiere for sound. Anyway, I wanted to try writing a basic application that aggregates data from a Web Service using NuSOAP, and https. Now for testing I started out with gSOAP, which was by far the most complicated, confusing, hard to learn/use interface I've seen. Also... nearly all the examples for gSOAP are done in Linux. Meaning I have a very meager, and anti-windows friendly starting point. There are two options I've found for creating a SOAP Client: 1. Use C++, and CLR 2. Use C++, and ATL I've used both, I've extensively debugged ATL, and noticed that it intentionally does not support https. I'm not entirely overjoyed with the idea of learning sockets, http/1.x, and openssl api. So.. I moved to http. But a new problem arises, how do I make ATL play friendly with my engine? I don't really need a bunch of fancy things from ATL as I want to use directx.. so then the question comes.. is there a simpler SOAP Client api that works (the SOAP Toolkits don't!), is easy to use (more so than gSOAP), and supports https? I'd like any input regarding this. In case your wondering, SOAP (simple object access protocol) is a protocol designed for transfering XML between machines in a "unified" manner. (ie; linux <> windows <> macintosh <> etc.) Thanks again!
  2. It was always art, api that sorta intimidated me, and gameplay. Bad programmer art never motivates me to write anything complicated.
  3. EmperiorRune

    php cron question

    Windows does not have a cron system. It does have windows scheduler, which is not as efficient as it's cron counterpart. You can write similar code for running scripts in the command line, the argument generally follows the style of: php -f somepath An alternative method is to spawn seperate processes for time intensive operations like processing many hundreads of turn actions based on the next time a page is run. Alternatively, I do not suggest that you use the sleep function in php, because in windows it is not very well implemented. (Sleep works better on linux, ditto for crons..)
  4. I've found that creating a seperate object for each thing that happens in my system to be inefficient, and creates more overhead. So what I've been doing is using a linear linked list, a vector (stl library), or a array for anything specific. Most of my systems copy the way file handlers are processed, the object/structure/variables are stored inside of a global object that is called in the initilization of my engine. Then a id value is used to represent a instance of that class. (With the basic add/remove/edit types)
  5. I'm not really well skilled with loading webpages. My guess would be that you could use a TCP/IP socket (via winsock), and then use HTTP/1.0 or HTTP/1.1 spec to get the data. Another way is the newer winhttp api. Both are documented on microsoft. I can't really say which is better suited.
  6. EmperiorRune

    print variables with drawtext

    The library cstdlib has lots of functions for converting various types of variables to strings. :)
  7. EmperiorRune

    My app processes keyboard input TOO fast...

    I'm not sure what your using. I'm sorta new to DirectX9, but here is a few tips; -DirectX 9 uses DirectInput 8, takes a itty bit to get it to work. (There are two different ways that I'm aware of; defining directx8, or the coinitialize way.) -There is 2 modes for 3 different areas; foreground: You require focus to the directx app in order to get input. background: You can get input even when the application is not selected. exclusive: other handlers cannot take control of the device. (?) non-exclusive: other handlers can take control of the device. immeadiate: Events are not logged, creates screenshots of the pressed keys/mouse. Can lose states if not updated fast enough. buffered mode: Events are logged, ie; key is pressed, key is released, etc. Can overflow if too many keys are pressed between your key update. -Both versions seem to be updated 12 times a second.. which means you should run the update immeadiate/buffered every ~8.333 milliseconds. For foreground, non-exclusive -When you lose control of a device. (Which can happen when someone escapes - you can write reacquire code in the update event. - Additionally you'll want to clear the buffer/key program when you lose access.) For immeadiate/buffered -Logging events like a key being pressed can be instantaneous, but.. a release is somewhat more complicated. You can write a boolean that logs a release event, and when that a check is done against that release event, it resets the boolean to false. This is somewhat better than both modes. Another effect is when you want to act on a change... if you move an object to the right every frame, and your code runs at 100 frames/second.. it will move very very fast. In this case, you can try to query it slower, but most likely.. the idea of caching results, and then querying against it at a time-based "tick" is more effective. In my version of a DirectX/C++ engine I wrote a scheduler class that uses a global clock, and queues multiple events by id. Basically like at a theatre they have actors looking at a central clock to know when to get on stage. Similarly.. in my Scheduler class, I write a dynamic array that sets three variables with every event. The delay of a event.. say.. every 10 milliseconds I update the movement of game objects. Then a repeat variable, which for game updates would happen repeatedly. Then finally.. a decrement value.. that is used to safely reach the end of a clock. (it decrements to 0 to determine when a event is "expired") I hope this gives you some ideas.
  8. EmperiorRune

    Take the geek test

    42.60355% Major Geek
  9. EmperiorRune


    Quote:Original post by alex_and_his_towel Oh, I do have one question though. I'm currently a first year undergraduate on a maths degree. I'd imagine most people that actually get careers as game network programmers have computer science degrees. Is that true? How feasible is it that *I* could make it as a professional network programmer? Alex.The first thing when they look for a programmer is proficency with C++. If you have a degree in math, then that may pose a problem later when they ask you simple C++ questions like what a pointer is. Since those sorta complicated language constructs are important in sophiscated forms of development. The toughest job I'd say is being a lead programmer. Which basically means your good at probably 2-3 different programming roles. Physics (Racing/Crashing games), Networking (MMO-style), and Tools (anything complicated) tend to be the hardest to design. But the same goes for what someone else said about low level shader effects.
  10. EmperiorRune

    Win32 Wrapper - Evil?!

    Quote:Original post by Enigma True, the STL is technically not part of C++, but the SC++L (Standard C++ Library), which is what most people actually mean when they refer to the STL, is (at least for a hosted implementation). EnigmaI know exactly what Standard Template Library is. I know what it does. It makes things simplier like linked lists, queues, whatever else. I prefer to write my own data objects. I don't see the exact reason for not doing that. That's all I meant when I said I didn't prefer to use STL since it'd be like for 1-2 win32 calls, and I wouldn't touch it for anything else. It seems irrelavent to add it since I won't use it. I'm trying to figure a way to encapsulate the win32 code, but I don't quite understand it. I've read several tutorials; _the only gamedev one_ (doesn't show any *working code, uses the stl, and summarizes things it shouldn't :X ) _codeproject_ (code works! but it has two classes.. a "base", and a "derived", don't get why he used virtual functions - although he said it's "required") _"generic" win32_ (explains really well, don't know how to integrate with directx, seems like what I have written now.) Quote:Original post by yckx [...]There is a problem everyone encounters when doing this: WndProc() needs to be a static class function for Windows to call it. Here are three links to guide you (one, two, three). If you haven't created a window by hand before, you will likely get a little lost, but keep MSDN open and look up anything with which you're not familiar, and you should be able to grok what's going on.Excellent links, I didn't know about the first two! o.O I will definitely read your wrapper. (DMINATOR) I'm trying to write a engine, and I think that removing the win32 code is a really smart idea since I'm trying to get rid of anything complicated from the program's starting point. Ah yes, thanks for all the replies :)
  11. EmperiorRune

    Visual C++ 2005 [express] bug

    Quote:Original post by kooooo Does anybody know anything about VC++ '05 Express? I just got it so that I could use DirectX 9, because apparently VC++ 6.0 isn't supported anymore... now whenever I try and code in the new and 'improved' VC++ '05 it freezes up my entire computer and I have to restart. Anybody have similar problems? Is it working nicely for anyone?One time when I ran compile it gave me a blue screen, this happened once though.. I'm not really sure what you mean by it being terrible, in a year they plan on selling it for $50 or so. It must be good, right?
  12. I had a few functions that I called, this is from ika, but you get the idea, I think.. if you read it. (Python scripting) #Main game loop. while choice < 4: # Introduction / splash thingie if choice == 0: choice = Intro(title, images, True) #Do a fade from black to white. (cannot be skipped) for x in range(0, 256, 5): ika.SetCaption(title + str(ika.GetFrameRate())) ika.Video.DrawRect(0, 0, ika.Video.xres, ika.Video.yres, ika.RGB(0, 0, 0, 255), 1) ika.Video.DrawRect(0, 0, ika.Video.xres, ika.Video.yres, ika.RGB(255, 255, 255, x), 1) fps.doLimit() ika.Video.ShowPage() ika.Input.Update() # Main menu thing! elif choice == 1: choice = Menu(title, images) # Play game! elif choice == 2: choice = Play(title, images) # See sekret options and stuff.. elif choice == 3: choice = Options(title, images) #End program. ika.Exit()
  13. EmperiorRune

    Win32 Wrapper - Evil?!

    Hi, I'm somewhat of a idiot, so far I've had to ask twice for advice; one time on what to do "next", and another time on timed events. (QueryPerformanceCounter vs GetTick vs timeGetTime) Anyway, I need to figure a way how to wrap up all the win32 stuff into some sorta object, or into my engine implement. I'm new to this so I'm designing a "simple" pong engine. (That I will upgrade progressively.) I'm using Windows XP, Directx 9c, and Visual C++ 2005 Professional. I don't want to use stl/mfc. (so far don't need it.) I know windows messages look something like; I sorta want to know how to design this to be effective. My level of expertise goes all the way up to pointers, structures, classes. I still don't understand alot about some things like static functions, and virtual functions. (The win32 wrapper uses stl, and didn't show any working example of code.) Should I be hiding WinMain() and WindowProc() in my engine? I'm sorta new to this. Previously I used SDL where all the Win32 stuff was dealt with inside of SDL. Anyway, my idea was to have something like;//my engine include "engine_name.h" int main(int *argc, char **argv) { //Start my engine. engine_name *engine_instance = new engine_name; //Init stuff. engine_instance->setDebug(true, some_file_path); engine_instance->setWindow(fullscreen, yres, xres, bitdepth); engine_instance->start(); //Create a image we can draw. image titlescreen = new image(filename); //Main game loop. while { //Show the screen. titlescreen->Draw(x, y); //Render stuff. engine_instance->render(); //Update input? engine_instance->inputUpdate(); } //End stuff. delete engine_instance; }
  14. EmperiorRune

    Coding the color wheel

    http://www.lethalpenguin.net/design/index.php << google! :P
  15. EmperiorRune

    Ogg Theora media player in games.

    If I where you I'd look into Audiere. :)
  • Advertisement

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!