Development dilemma

Discussion in 'Game Development (Technical)' started by siread, Oct 12, 2006.

  1. luggage

    Moderator Original Member Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    2,132
    Likes Received:
    0
    You can get a copy of Visual Studio and the DirectX SDK for free. You can't beat that price.
     
  2. HairyTroll

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    582
    Likes Received:
    0
    I think it is more immediate mode versus retained mode. Having to compose an object each frame and then draw it as opposed to just drawing the object each frame.

    But there is no reason why an RMGUI GUI can't be implemented to work like an IMGUI. The first call to drawButton(...) will initialize the button, set up the listeners and draw the button. Subsequent calls to drawButton will only draw the button as the initialization has already been performed.
     
  3. Deux

    Original Member

    Joined:
    Jul 13, 2005
    Messages:
    48
    Likes Received:
    0
    True, but you can beat the speed of development.
     
    #23 Deux, Oct 13, 2006
    Last edited: Oct 13, 2006
  4. jwc

    jwc New Member

    Joined:
    Jul 14, 2006
    Messages:
    58
    Likes Received:
    0
    Realmcrafter is a MMORPG made with Blitz3d (so even worse than Blitzmax). Surely you can create BIG project with it! and since there's even mac support now...
     
  5. zoombapup

    Moderator Original Member

    Joined:
    Nov 25, 2004
    Messages:
    2,890
    Likes Received:
    0
    I'd go with TGB, but then I've used the torque engine for many years.. Just be aware, it can EASILY deal with what you mention.
     
  6. simonh

    Indie Author

    Joined:
    Jul 26, 2004
    Messages:
    293
    Likes Received:
    0
    BlitzMax is fine for big projects - you can split them up so that it only compiles the source code files that have changed.

    I'd agree though that Blitz3D/Plus are not suited to big projects. Recompiling *everything* eventually becomes a pain.
     
  7. siread

    Original Member

    Joined:
    Jul 31, 2004
    Messages:
    128
    Likes Received:
    0
    Well PTK is getting a massive thumbs down from me, so far. The example demo doesn't work, the documentation is sparse (at least for getting things started) and the (3rd party) set-up instructions are out of date. Oh, and the forum has been dead for the last 3 days. If the developers can't be arsed to provide proper support then I don't see it as a viable option.
     
    #27 siread, Oct 17, 2006
    Last edited: Oct 17, 2006
  8. PaulModz

    Original Member

    Joined:
    Apr 7, 2006
    Messages:
    53
    Likes Received:
    0
    I'm all for novel approaches to old problems, and I'm sure there are times when using an IMGUI makes sense (like the 1980s). With all the IMGUI hype, I took a good look at it before deciding it throws 20 years of technology out the window by pushing ALL the GUI state data out of the library and into you app.

    Case in point, one of the hot discussion topics in the IMGUI world is finding a way to give each UI widget a unique ID, since the widget itself is stateless. This is probably the best IMGUI tutorial that actually shows working code, and (I'm not making this up) it uses a preprocessor macro to set the widget's ID to its LINE NUMBER in the source file, with a few "tips" to help make sure widgets called on the same line number in different files don't collide!

    Sorry if I'm stepping on any toes here, but the emperor is bare ass naked and not enough people are pointing it out to the noobs. One of the few game programmers I know by reputation alone, Brain Hook (he created the Glide API at 3Dfx before becoming one of the 3 coders who wrote Quake 2 and 3 at id), couldn't get an IMGUI implementation to work to his satisfaction and gave up on it, read it here.
     
  9. Emmanuel

    Moderator Original Member

    Joined:
    Nov 23, 2004
    Messages:
    859
    Likes Received:
    0
    Creating/deleting GUI widgets isn't incompatible with polling. Atlantis 1/Fairies/Mystic Inn/Atlantis 2 use the same code (the garden golf GUI ported to ptk), where each game stage creates its own sheet of widgets (buttons, sliders etc) as needed, the widgets process events sent by ptk to update their state (outside of any game code and untouched since A1), and then the game logic update polls for state (isClicked(), hasNewValue(), etc.) as needed. Widgets are hierarchical -- just simple linked lists in the parent. Cleaning up takes a single C++ "delete" of the parent. It's a really minimal part of the code, and I don't see how IMGUIs would simplify this further while creating less new issues than they solve.. In any case if your intent is to create a game you should use something straightforward, worry less about engines and GUI and more about gameplay :)

    PTK's examples are probably out of date, although the main point was to show you can make a fully working breakout game in 150 lines of code. Seeing as there is virtually no learning curve to use it, I'm sure you can get the examples to work in much less time that it would take you to make a dual D3D/GL renderer for pc and mac that has been tested and debugged on millions of downloads of our games, Jack Norton's games, or for instance, Fish Tycoon and Virtual Villagers on Mac.

    Best regards,
    Emmanuel
     
    #29 Emmanuel, Oct 18, 2006
    Last edited: Oct 18, 2006
  10. siread

    Original Member

    Joined:
    Jul 31, 2004
    Messages:
    128
    Likes Received:
    0
    I'd like to give it a proper shot but from Patrice's comments on the new forum, and the fact that it has been down for 4 days suggest that he's lost interest in the project.

    All i'm trying to do is display an image with this code:

    Code:
    KWindow *myWindow = NULL ;
    	myWindow = KPTK::createKWindow( K_OPENGL  ) ;
    	myWindow->createGameWindow( 640,480,16,true,"my game" ) ;
    
    	KGraphic *myPicture ;
    	myPicture = KPTK::createKGraphic( ) ;
    	myPicture->loadPicture( KMiscTools::makeFilePath("Title.png" ), 1, 1 ) ;
    	myPicture->blitRect( 0,0,100,100,0,0 ) ;
    
    	do 
    	{
    		myWindow->setDefaultWorldView( ) ; //resets the transformation matrix
    		myPicture->blitRect( 0,0,360,181,0,0 ) ;
    		myWindow->flipBackBuffer() ; //display the drawing
    	}while(myWindow->isQuit() == false);
    All i get is a black window with a white rectangle where the image should be. Now i'm sure it's something simple, but without any working examples or a forum where I can ask a question i'm stumped.
     
  11. Emmanuel

    Moderator Original Member

    Joined:
    Nov 23, 2004
    Messages:
    859
    Likes Received:
    0
    My first guess is that loadPicture() fails (you aren't testing the return code). A white rectangle (texture) would be a symptom that nothing got loaded in your KGraphic.

    I've eventually abstracted loading so that I could trust all the resources (and have a loading screen) :)

    Best regards,
    Emmanuel
     
  12. HairyTroll

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    582
    Likes Received:
    0
    It's funny that you bring up the subject of technology. I'm not advocating the use of IMGUI. I guess I'm saying that implementing IMGUI is way more difficult than it needs to be depending on the choice of language.
     
  13. Bernard François

    Bernard François New Member

    Joined:
    Aug 21, 2006
    Messages:
    38
    Likes Received:
    0
    I noticed exactly the same thing when I wanted to compile a ptk project which worked under windows on os x. Probably there was a problem with some header files or library files, since I tried to do everything manually (passing all include/library directories as parameters to gcc) and I think there's a big chance something went wrong on the way.

    I think you should verify that you have added all needed header files and libraries to your VC project, and that you have proper versions of it.

    But you could still try to post your questions first on the ptk forums. The more people do this, the more those forums will grow to a database of usefull troubleshooting information (I still don't understand why the old forums had been removed without migrating the posts...).
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer