Jump to content
  • Advertisement

ArmitageIII87

Member
  • Content Count

    78
  • Joined

  • Last visited

Community Reputation

228 Neutral

About ArmitageIII87

  • Rank
    Member
  1. For Windows try using this example Creating a Child Process with Redirected Input and Output We do something very similar for redirecting our TCL stdin/stdout into our tool for processing before displaying in our GUI.
  2. ArmitageIII87

    Build speed and SSDs

    At my previous place of employment we had over 142 visual studio projects in a given solution with about 500,000+ lines of code that gets executed. On that particular machine it took about 8 minutes to build from 30+. The machine was a Quad Core Xeon 2.66, 4GB RAM, 73GB 15k SAS drives. Short Version Buy a multi-core CPU and fast hard drives. I wouldn't bother with SSDs. Long Version If you are building for a Windows bassed environment using Visual Studio there are several things that will speed up the process. A multi-core CPU. Visual Studio will take advantage of a multi-cpu compture quite well. There are a few caveats that I can go into if you'd like. But just stay within the Visual Studio environment and you "should" be able to take advantage of this right away. RAM. Kind of obvious yeah? Fast hard drives. For your situation I think the SSDs will not be a good investment. I'm not quite sold that the technology is up to snuff for day to day development. I would suggest getting a one or more 10k RPM sata drives for aroudn 179 a pop. Newegg has some. Good project setup. You can really speed things up by using pre-compiled headers, not writing to the same .pdb file for every single project. Having a well organized project where your objects, binaries, libs, etc...all have a home vs. the default directory. For example a typical multi platform project looks like (hopefully my spacing won't get munched, I'm being lazy) ...this stuff got munched...I'll re-edit the post later sorry.... I think you get the point. But what I'm doing here is preventing collisions of objects, all my pdbs are seperate for each target, etc...thus enabling "faster" compilation as have seen. We applied about about half of those changes to my previous employers project and we dropped from 30 minute builds to 8 or so minutes. Here at my current employer I've done some of the similar things and we went from 40 minute builds to just over 20'ish. So far its working for me. Take it for what it is worth. Constructive comments welcome...good luck!
  3. ArmitageIII87

    QT vs GTK

    Not that I have any clout in these forums. But, I personally would strongly suggest Qt. My reasons are that it's really easy to learn. I feel that learning the API will present you with more opportunities when trying to find a job outside of hobby development. It's cross platform and now fully open source. Tools are fully integrated with the Windows tool chain (Microsoft Visual Studio) which was a pay for feature in the past. I use the open source version at home to keep the ol'Qt skills up. Well documented, good source examples, good WYSIWYG editor. It's a very slick library. GTK, I have my opinions but really don't know that much about it so I really don't want to speak to it as it might just cause a flame war. Good luck...
  4. ArmitageIII87

    Engine Demo

    You might want to think about adding crash dump code to your application to assist with debugging crash issues like this. You can just have your beta testers just send you the crash dump file. Then it is as simple as loading it up in Visual Studio. Here's an article to get you started: DirectX Article on crash dump Also do a search for Minidump on google for more examples. If you're multi-platoform you can do similar things on linux, mac, and unix but I'll let you figure that out for yourself! :)
  5. ArmitageIII87

    error C2075-wont go away

    Why don't you just implement your own stack that accepts strings as its elements. Then implement a push and pop function. Seems like data structures 101. Google "C++ stack class". I'm sure you'll find plenty of examples. Good luck!
  6. Why? A datatype that is aligned to 4, 8, 16, 32 etc...is far more x86 CPU friendly and has a higher chance of ending up in a cache line really close to the CPU...though not always...just speaking for the general case. The closer your data is to the CPU the faster your program runs also in the general case. I would consider 3 bytes unaligned data and not very x86 CPU friendly. My 2 cents...
  7. I'm just throwing out ideas at this point and opinions at this point. My feeling is that what you want to do, based on the information you've provided, is difficult and that you are going to have a hard time accomplishing this. Though if you manage to please present what you did here in the forums I'd be very keen to see how you did it. Anyway some food for thought. You can save out an individual context for each of the threads that you've started...I'm just doubtful you'll be able to just "resume" it. I could kind of see what I'd do with some old school assembly but in terms of a high level API there just isn't much out there to help you out. Most of it is information and debugging vs. modifying the execution state of a program. Maybe since you want to do it in an "interpreted" language you can plug into the VM's low level internals and do what you want. Again I'm not sure...its an interesting problem but not sure how practical it is. Maybe some more information is necessary to get the information you want out of the multitude of smart people in this forum.
  8. The ego and bad leadership skills aside. When coming into a project that is already established the worst thing you can do is to start "criticizing" the code, decisions, etc... that have already been done and made. It's the past! No sense in dwelling on it. If he's the lead and that is the process he's established then when in Rome do as the Romans do. Now you can slowly start to turn it around by becoming a advocate for a new process and involving in the whole team. If you can show value in your new process by being a "teacher" rather than a "criticizer" you'll strengthen your position and weaken his. Make sure to try not to devalue any of the work he's done or currently doing, it's default process. Use good neutral words as I feel, I think, We could try, etc... If you don't it'll just breed contempt, put him/her on the defensive, and propagate the negativity. Think "come to the light. Just go to the light man...it's safe, warm, and not bad". A good leader is a leader who will listen to all their teammates/subordinates and defer to the idea that best fits the given situation. There typically isn't just one smart person on the team. More than often leading is just managing personalities, ideas, schedules, and expectations rather than being the sole individual contributor (ie. best coder, best this, best that) on a project. My current management really suffer from this problem. They = Smart whereas, You = Stupid. It happens...but if you can get them to think they came up with the idea you'll eventually get what you want. Just don't forget to make sure to take some credit while giving your leadership credit. Anyway...my 2 cents from 4 years of working in a negative, destructive, and generally not very fun environment. I'd leave but the money is too damn good. Though...I have some new job prospects that are equal or greater in pay. Woohoo...
  9. ArmitageIII87

    GUI Programming - Visual Studio 2008 and C++

    Hey Mantear...what company do you work for if I might ask. I work on high level synthesis tool that takes in MATLAB and outputs VHDL/Verilog for FPGA's. Anyway...if you know C++ and that's what you want to stick to just go and read up on MFC and/or Qt. It'll get the job more than done. No sense in learning a new language if you are just trying to whip up a quick GUI. http://www.codeproject.com was a good place for myself and buddy that did a lot of MFC stuff. I personally prefer Trolltech's Qt...but that's just me. My 2 cents for what its worth.
  10. ArmitageIII87

    Speed up Compile Times

    What constitutes a long build time for you? 2 minutes? 260 files doesn't really seem like a whole lot to me. Where I'm currently working we have over a 142 visual studio projects with about 500,000+ lines of code that gets executed. On my work machine it takes 8 minutes to build. For those that are gonna ask machine specs. Quad Core Xeon 2.66, 4GB RAM, 73GB 15k SAS drives. Kinda beefy... Anyway, our nightly build process takes quite a bit longer due to building over the network but even then 30 min build times for 500k lines isn't bad. We aren't using any special build tools, products, or precompiled headers here. I've also got a 50k+ line hobby project I'm working on at home on my MBP that compiles it in a couple of minutes or so. I'm not using any special flags, pre-compiled headers, etc... Anyway...just curious if we have some pre-optimization going on here. Though the post was just asking about some helpful tips. Like I said...I'm just curious as to how long your builds are taking.
  11. Quote:If this is the case, you have a severe bug in using memset on a non-POD class. I understand what I wrote and yes using memset on non-POD is a problem. Thanks for saying something though...it could have led a newbie astray. Who knows what stringLoadBuffer is...it was left out. I was just making the point that the way he's using memset was not correct based on minimal information. Anyway...LOG_CONST is interesting as well.
  12. I think this maybe your issue, memset( stringLoadBuffer, 0, sizeof(stringLoadBuffer) ); Let's just say it's a char* for a second. sizeof(stringLoadBuffer) is going to return 4. Probably not what you intended. Now let's say you have this std::string stringLoadBuffer = "foo"; then did your sizeof( stringLoadBuffer ). It should return roughly 28. Anyway my point is, the third argument of your memset is wrong...at least appears that way to me. It should be something like the number of elements in stringLoadBuffer. That's my semi-educated guess at least or at least the fishiest thing in your code. Good luck... Edit: I'm thinking it's stack corruption but then again...there's no information to let us know otherwise.
  13. ArmitageIII87

    Game Console SDKs?

    Hey there, I think most of us here are indie game developers here but I thought I should maybe pass on a bit of experience that I'm going through at the moment. Anyone is free to correct misconceptions, misunderstandings, and misstatements. I'm doing this all while at work trying to code, talk to co-workers, etc... My main goal is to be informative about things that I've found out. I'm curious as to what others have found out...so on to my post. Firstly, I think you will need to be a legal entity of some sort in order to engage with the developer relations department of the respective console makers. All of the application forms I have received thus far have required a business ID or tax ID. I think the purpose for this is to make sure that you aren't going to waste their time as a hobby developer. They make money off of people that make games for their system and not casual programmers. It's not terribly hard to start a company as it mostly entails filing some paper work with your local government and in some cases the federal government. Some examples are, Sole Proprietorship, Partnership (Limited or otherwise), Limited Liability Corporation, or a Corporation. My partner and I are most likely going to move forward with forming a Limited Liability Corporation. We originally were going to make a Limited Partnership but we both wanted to have some sort of asset protection if things went south. I like owning my car! :) We have a meeting with a tax adviser to learn about how to do our taxes with this type of entity. Anyway...do your homework in respect to this. A sole proprietorship is a pretty easy business to start. Just be wary of the additional tax forms you need to fill out. Secondly, my impression from what I've found reading things here and there is that the developer kits are relatively expensive to purchase. I've seen examples anywhere from 5,000 to 50,000 US dollars. I can't give an accurate numbers as I am not at this level of communication with the console manufacturer I am planning on targeting. I'm not sure if they "loan" out dev kits. Also when you engage with the console manufacturer you sign a contract with them and as far as I know they are pretty involved in the process of getting your game out the door. They'll push hard for you to get your game done. Again, I have engaged at this level yet so as soon as I find out something I'll post it! Thirdly, if you don't want to form a legal entity and can't afford a developer kit or don't want to get that deep into the process I would suggest the following. Build a system that closely resembles a console platform. The easiest in my opinion is the XBOX 360. The specs are widely available and even Microsoft suggests this. The tool chain for the XBOX360 is probably identical to the tool chain we use for our current Windows based development platforms. Visual Studio, XBOX360 SDK, etc... When writing code or making architectural decisions for your game try to abstract away any platform specific code. Filesystem, memory management, graphics API, etc... Then when you are ready to engage with the publishers, console manufacturers, your time to market isn't that long as you'll only need to code up the low level stuff and not your game specific stuff. Anyway...take this for what it is worth. I'm no expert and I'm definitely in the same boat. Just take your time and don't get discouraged. You don't need to know how to develop on a console to make games. Just like Frob said... "Just knowing how to write games on the PC is more than enough!" Good luck to you [Edited by - ArmitageIII87 on January 11, 2007 6:57:00 PM]
  14. ArmitageIII87

    Natural logarithm

    Natural Logarithm Just look towards the bottom. ..................... Forum Moderators, Can we put www.mathworld.com in a page of useful links. Not that this is a bad question but I've seen math questions pop up enough that it'd be useful if people went here first. It's where I go and I haven't had any issues finding what I need yet. Thanks.
  15. ArmitageIII87

    SVN Server

    Well, I found everything you needed by googling "SVN server"...then it gave me the main home page for SVN. Anyway...it should answer most of your questions. Subversion Homepage And I've seen some places offer to host CVS/SVN repositories but didn't go look for them. I went looking for something like this myself as I didn't want to waste my time managing a server. I eventually went with the 15 user license of Source Forge Enterprise Edition. It has SVN/CVS all tied up into a nice neat little VMWare package.
  • 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!