Advertisement Jump to content
  • Advertisement

danto

Member
  • Content Count

    46
  • Joined

  • Last visited

Community Reputation

154 Neutral

About danto

  • Rank
    GDNet+
  1. danto

    Tis the season to skive off work!

    Deciding what type of game to make is a serious process ...especially if it's something you want to complete and sell. I've put way too many good projects on the back burner due to the project being way too big to complete right now. The key is keeping it simple. At the same time though if you want someone to part with their money and buy your game imagine yourself doing the same. If you make a game...would you buy your own game? If you can't see yourself (objectively) parting with your own money to buy your game then you can't expect other people to either. Keeping a game simple is key, but find something unique about it the draws people in. Now these are all fairly straight forward and known ideas, but ideas that tend to get forgotten when in the middle of creation. Commonly art assets and actual game related code is the bulk of the project and is the part that the end user really cares about. They could care less that there are 20,000 lines of code dedicated to uber management of textures/models and anything else, but they do care about how they interact with the game as well as how the game looks. My vote is to create something simple, but something you could see yourself wanting to play and something you would personally pay for. I can't say it's something I've always ascribed to myself, but it's something I'm working towards. Good luck and if you need any help let me know. :)
  2. danto

    Origins and more

    Coming up with a good name is not easy, but the best names tend to come out of no where. Often times the best way to find something is to stop looking for it and it will appear.
  3. I was going answer this question directly under the comments of my last entry, but I thought I would add it as an entry. It's not an entirely interesting story..well maybe it is. Well...it would be if I tossed in some crazy story about dragons...especially those wingaling dragons. Anyway...the question: How and why did you come up with the name "Nitrous Butterfly"? Well, honestly, it has absolutely nothing to do with drangons. None! It all started shortly after I got fired from a job I was at for far too long and it turned out to be the best thing that ever happened to me. It was the crazy summer of 2003 and suddenly not having a job gave me the opportunity to attend the MAX U4 class down at the Renaissance Center in loverly Dickson, TN. It was a solid month of 3D mayhem where I got to eat over sized country hamburgers and, of course, meet up with my future business partner. I went down there with the thought of starting a small gaming company and was still trying to figure out how I was going to do it when I met Mark Miley. Mark and I, other than attending class, spent the entire time coming up with an awesome game concept and story (which to this day is still on the back burner) and realizing our mutual passion for the gaming medium. We were all cooped up in the lab working on a project and drinking far too much caffeine when the company name chose to announce itself. I'm still not entirely certain how it all started, but we were joking about butterflies and laughing gas. I have to re-iterate here that we all had way too much caffeine in our systems. One thing lead to another and someone said Nitrous Butterfly which someone retorted would be a good name for a band. Mark and I looked at each and said...that would be a good name for a game company. And that was when the dragons reigned fire down on the building and-. Wait...I said there were no dragons. So there you have it. Not an entirely interesting story, but there lies the origins none-the-less. For more information on the effects of laughing gas on a butterfly please check your local library. ---------------------------------- Ok...now on to same development related news. I have been expanding the engine and have a working 3ds loader and have been working on implimenting the cal3d library for our character animations. All of the definitions for the objects are stored in lua script files for easy modification. I'm still having some issues with cal3d, however. The mesh and animations are working fine, but I'm having issues binding the texture properly. I'm storing it in the cal3d user data of the corematerial of the coremodel, but for some reason it's not getting the texture id properly when I have an instance of the model. I have a post up on the forum about it, but if anyone has any ideas feel free to let me know. I'm trying to nail down exactly how are levels are going to setup , but I'm at a point now after rehashing the engine that I atleast have some visuals up on the screen. More testing will be required to get a proper map format. Alright...well that's about it. Until next time!
  4. I'm not at all familiar with java code, but I searched google and found someone that appears to have a similar problem. Maybe this will help you out: http://forum.java.sun.com/thread.jspa?threadID=552993&messageID=2748469
  5. Alright this is my first entry into my gdnet journal, but hopefully not the last. This is a .plan entry from our forum at http://www.nitrousbutterflygames.com yeah...that was a shameless plug, but hey...it's my journal right? Engine Reconstruction .plan Nitrous Butterfly November 10, 2005 ======================================================= The last .plan was quite a while ago and I have been meaning to write more on our over all direction and next project, but I we have been spending a great deal of time reflecting on this and wanted to get back on solid ground before saying anything. In the last .plan file I spoke all about the tile engine and the idea of the top down GTA2 kind of game. We have restructured our thinking and have decided to head down a different path. The more I started getting the tile system online and getting 3D object props to work I started thinking that we were getting dangerously close to a full 3D game which is something we wanted to do, but felt it was too far off given our in house technology. The closer we got the more we wanted it so finally we decided to just go for it. I was feeling fairly confident that, but realized that this would add time to our project and further altered the idea of our project entirely. We sat back and started wondering if we should continue with the current game idea or basically start over. We eventually reached the conclusion that we needed to just start over entirely. The new idea would mean many additions to the engine...one of which would be painfully extracting the tile engine I had spent many hours to create. After looking at what would have to be pulled out of the engine I realized a full restructure was in order. To avoid problems down the road and the possibility of feature bloat I decided to rip the engine apart and put back the pieces I knew I would need. This was not an easy undertaking as the engine was currently crawling up over 33,000 lines of code. Of course cutting things out was the easy part...re-integrating only what I needed would be the painful part. Since I decided to pull the whole thing apart anyway I decided that as everything fell back into place this was a good time to figure out a better way of managing several things. The first thing that I had wanted to add was a scripting system which I had already started with the previous version of the engine, but realized that far more could now be exposed to the scripting side. With that in mind I went about changing the engine to be entirely scripting dependent. Previously everything had been handled in the engine itself and as much as I tried to keep the engine code and game code separate they continued to become inevitably intertwined. So as the pieces came back together I decided to use the scripting system as the controller of how the engine did just about anything..well sorta. The engine now is basically just a set of definitions/managers and object classes that get exposed the script side. Upon engine load up a single script is set into motion which inits the video display..initialized required managers...and then loads in the main menu. All gui displays are now created on the script side with easy to use gui helper functions that were also written as scripts. The engine now is far tighter and quite a bit faster after optimizations. There are still elements that need to be re-integrated into the new engine and many more that have yet to be written, but it's a solid start into the new design and I'm rather excited with the new direction. We have an over-all story and game concept laid out and are still working on the finer details. Many of these details will be better realized once our development tools are in place. We hope to have more information about the new game soon. I want to start putting out information on this game as soon as possible so we can start getting feedback.
  6. danto

    cal3d texture issue

    Further Investigation: Alright I've narrowed down the problem, but again I don't know why the problem is occuring. This line is used to grab the stored texture id of the current submesh which is not working. pCalRenderer->getMapUserData(0) Looking under the hood it uses the following way of getting the coreMaterial: pCoreMaterial = m_pModel->getCoreModel()->getCoreMaterial(m_pSelectedSubmesh->getCoreMaterialId()); The problem seems to be in the m_pSelectedSubmesh->getCoreMaterialId() as I've used the following line to get a corematerial and it works fine: CalCoreMaterial* calCoreMat = curr->getModelInstance()->getCoreModel()->getCoreMaterial(0); Now this only gets the first material, but it does work if I replace the user data line with: calCoreMat->getMapUserData(0) It will then get the texture data and I can map it properly to my model. So it would seem that the calsubmesh is not storing the material id properly. I've been digging through the cal3d code trying to find where the material id is assigned to the submesh, but no luck yet. Everything else works fine...I can render the model and it's animation just fine...just can't get these damn textures assigned. Well...back to digging.
  7. I looked through the developers forum and did not find an answer to this. I have a problem retrieving the userdata from the calcorematerial for texture mapping. I'm using the code from the miniviewer for cal3d ...it's layed out very differently but the same code. I've error tested and I am getting the texture filename and loading in the texture and getting and setting a valid id in the userdata. It's when I try to retrieve it in the render loop from the model instance (calRenderer) that I have problems. The renderer returns 0 for getMapCount for the selected mesh. I'm not sure exactly what I'm doing wrong. Thanks for any assistance. edit: After further testing it seems that the pCalRenderer->getMapUserData(0) line is not getting the user data of the currently selected mesh correctly in the render loop. I manually just grabbed the coreMaterial of the first mesh and got it's user data and there was the correct texture id of the first mesh. I'm still in a bit of a jam as there are more meshes than materials so I can't just use the mesh id to get the material...and I rather feel like I'm trying to re-write on my side what cal3d should already be doing. So I'm still not sure what I'm doing wrong here. [Edited by - danto on November 26, 2005 7:04:36 PM]
  8. danto

    Alpha Blending Issue

    Absolutely. If I view the image in my resource editor or in the image viewer in the engine it shows it with the alpha transparent, but for some reason as an entity object it is not showing correctly.
  9. danto

    Alpha Blending Issue

    Yes I am drawing in the correct order. I'm not sure that is the problem though...for instance I have a tile grid that is using alphas and that works correctly. I draw the sprite on top of that and it is not coming up transparent. Example...
  10. The subject line makes it sound like a simple problem...well maybe it is, but I certainly can't figure it out. I have had alpha textures working in my engine...still do, but I have some that have just plain stopped working. It's not the texture as I've been able to get the same texture working elsewhere. Anyway the problem is this. I have a sprite being drawn and the alpha is appearing black. I have blending enabled with alpha, but it's like it's not picking up the alpha. The strange part is if I manually pull down the alpha by doing a glColor4f(1.0f, 1.0f, 1.0f, 0.5f); the visible pixel colors are faded by half but the black part remains solid...even behind the color part of the image. It's like there is a black sprite behind the sprite I'm drawing if that makes sense. Here is some sample code... edgl* dgl = edgl::getInstance(); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glTranslatef(GLfloat(pos.x),GLfloat(pos.y), GLfloat(pos.z)); glScalef(size.X,size.Y,1.0f); glRotatef(rot,0.0f,0.0f,1.0f); glBindTexture(GL_TEXTURE_2D, image); dgl->drawSprite(); //draws two trianges for a quad glPopMatrix(); Now if I add in... glAlphaFunc(GL_GREATER, 0.5); glEnable(GL_ALPHA_TEST); ...it pulls out the alpha of the texture and shows just the color data, but it tends to be a bit harsh on the edges and not as nicely faded as the blend mode. This code was working, but isn't anymore. I have been trying to track down the cause for days with now luck. I understand that there is probably something else in my engine that is causing this behavior, but I just though I would put this out there to see if anyone knew what it might be. I'm hoping it's something simple I'm just overlooking. Thanks in advance.
  11. PRESS CONTACT: Tim Pelham Creative Director/CEO tpelham@nitrousbutterfly.com Nitrous Butterfly Announces New Game Launch Alien Defense dubbed "Classic Arcade Shooter…with a twist!" WESTPORT, MA - (July 7, 2005) Nitrous Butterfly, LLC, an indie developer of innovative electronic games, announced the release of "Alien Defense", its new, highly affordable 2D top down action arcade space shooter. The game utilizes 3D rendered graphics for sprites, and is built on a 2D engine written entirely by Nitrous Butterfly for the purposes of this release. "It's survival at all cost as you conquer the enemy that has laid waste to your home world," says Nitrous Butterfly Creative Director and CEO Tim Pelham. "Your fingers will go numb in over 40 levels of non-stop action battling over a dozen different enemies." The game is available immediately for download, and is being distributed through Reflexive Entertainment, Inc. (Refexive Arcade,) which is a download and purchase all-in-one version. Also, as part of this release, Nitrous Butterfly is also introducing a new method for customers of "try before you buy": a free demo download direct from Nitrous Butterfly (Alien Defense Demo) that includes 10 levels, giving customers ample opportunity to sample the game before making a purchase directly from the Nitrous Butterfly website. In both cases, the full version of this multi-level, classic indie game is available for just $14.95. About Nitrous Butterfly Founded in 2003 by Timothy C. Pelham and Mark Miley, Nitrous Butterfly LLC is an independent Game Company focusing on fun yet simple titles. Alien Defense is the second release by the Company, which released Sole Survivor in March, 2004 (Sole Survivor). Nitrous Butterfly also serves the gaming community by creating art content packages for other developers to purchase for their own projects. Nitrous Butterfly looks to leverage its creative strengths to bring storytelling to the video gaming medium, and continue to develop content for gamers and developers through its newest website, Nitrous Butterfly Games. ###
  12. danto

    C++ Builder File IO

    OK I managed to resolve the problem myself. For some reason there was a minor bug related to how the compiler handles sizeof functions on structs. My header file was setup as a struct and had a character array a member of the struct. I fixed the the problem by moving the char array to the bottom of the struct definition. Aparrently sizeof causes weird issues with array information in structs and can generate the wrong size data.
  13. danto

    When to thread?

    Definitely agree with the KISS method. Threads are very helpful with tasks that demand contstant activity, but might slow down performance for other operations. Personally I always try to avoid threads if I can. I always try to find a different way to approach it than handling threads as it's yet another thing to think about and manage. As far as your loop is concerned. Do you have updates and rendering separate? It's usually a good idea to have an update function and draw function. That way, in a case like this, you can still draw, but stop everything from updating itself. Not sure if that helps.
  14. I figured this forum would be correct as this is more a general problem. I have a resource manager that I built for my game engine and I decided to create an external resource package editor in Borland C++ Builder. Everything appears to work fine except for one small problem. When I use my manager inside of builder it writes and saves the data fine, but I noticed upon loading it into the engine I can't read some of the header info correctly. The first part of file header, which is the name of the resource, is not reading back in correctly and chops off the first three characters. At first I thought it was some with the res manager istself, but on further investigation I noticed the problem was with the external editing tool and how it was saving the data out.The manager is not engine dependent so the code is exactly the same between the external tool and the engine code, but for some reason when it saves out the data in the external tool it adds additional information to the file. Upon opening the data file itself I noticed that there was the following: Untitled _ V E R S I O N _ I N F O ...rest of file data.... That top line is the name of the resource file, but the version info lines should not be there. When I save something out with the res manager in a small dos example app it works normally and those lines are not there. What is making Borland want to slap that into the file? It's causing a weird offset and my data is not being read correctly in my engine. The data in the file get's read right and even header is fine except for the header name get's the first three chars chopped. Any suggestion? Is there some sort of Borland setting somewhere? Thanks.
  15. Ok. Now what I'm doing though is in the game a make a call to glperspective when I first initialize opengl and anything rendered in that mode I just push/pop the matrix. When I want to draw in ortho however I'm pushing the projection matrix and creating an ortho display the size of my window res. Now when I do a select mode setup and a pickMatrix I then go to draw say a gui object that then pushes an ortho matrix directly to the projection. Now this does not interfer then with how the pickmatrix just set a matrix or atleast it shouldn't? so... selectmode push projection identity pickmatrix perspective or ortho... then draw which pushes another ortho mode pop from draw pop from select OK if that makes sense then it still seems like the the projection is getting pushed two sets of information and not picking the zoomed in matrix like it's suppose to. Well I know it's not...I'm just trying to figure out why. I turned off the call to set rendermode to select and when I'm drawing the scene objects in perspective it shows me the pickmatrix view which is nice and close up...however when I try the same thing with my ortho objects it shows the full ortho fullscreen with no zoom. Confused I am.
  • 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!