• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

WiLD2

Members
  • Content count

    44
  • Joined

  • Last visited

Community Reputation

181 Neutral

About WiLD2

  • Rank
    Member

Personal Information

  1. Thanks for the replies, funk* I managed to find my problem yesterday, it required me to recognize when my destination point was less than that of my current point along the X axis. Here's what has seemed to have fixed it: double sinDiff = Math.sin(Math.toRadians(diffY/disp)); double theta = Math.asin(Math.toDegrees(sinDiff)); double degTravel = Math.toDegrees(theta); degTravel = degTravel*(-1); if (destination[0] < myX) degTravel = (180-degTravel); Thanks for the help.
  2. What I've done is calculate the angle between two points. Within computer science (at least within java and c), the quadrants of a 2 dimensional space are flipped. The angles are counter-intuitive in that when starting from 0 degrees where the 1st and 4th quadrants touch, a positive degree increases downward and vice-versa. I'm getting a little beside myself here. I've calculated the angle between my two points; for the values I've given the angle is approximately 27 degrees. What should happen is my 'newX' value should return some X and the same for my 'newY' value to return some point along the hypotenuse between my starting and end destination. It should be as simple as that, however my agent isn't even wandering along the straight path between the start and end points. He's wandering off up and to the right, rather than along the path which would take him up and to the left. He does end up at the end destination (as it's a torroidal space) but not how I'd have expected him to. I guess I'm not really expecting help, then. What I've done should be correct. I was maybe wondering if other people have had similar problems with trigonometry and what might be done to prevent such 'features'. I thought there might have been something wrong from within my 'sintable' so I changed that piece of code into one that uses the Math. library newX = xnorm(myX + (int)(distTravel * Math.cos(Math.toRadians(degTravel)))); newY = ynorm(myY + (int)(distTravel * Math.sin(Math.toRadians(degTravel)))); But still no luck, same thing as before.
  3. Alrighty, here's my problem. I have an agent on a 2-dimensional space. This agent has a current location (myX and myY) and he has a destination (destination[0] and destination[1] for X and Y respectively). I'm trying to calculate the angle between these two points for use with the agents velocity, distTravel. I've managed to do so, but with bugs. Particularly for the values: myX -> 250 myY -> 250 dest[0] -> 52 dest[1] -> 149 (These numbers were generated randomly and is a case I found that does not work properly). Here's my code: public void move() { int newX, newY, diffX, diffY; diffX = (destination[0]-myX); diffY = (destination[1]-myY); int xSq = diffX*diffX, ySq = diffY*diffY; double disp = Math.sqrt(xSq+ySq); if (disp > 0.0) { double sinDiff = Math.sin(Math.toRadians(diffY/disp)); double theta = Math.asin(Math.toDegrees(sinDiff)); double degTravel = Math.toDegrees(theta); while (degTravel < 0) degTravel += 360; while (degTravel > 360) degTravel -= 360; do { newX = xnorm(myX + (int)(distTravel * sinTable.getCosFromDeg(degTravel))); newY = ynorm(myY + (int)(distTravel * sinTable.getSinFromDeg(degTravel))); } while (myWorld.getObjectAtX$Y(newX,newY)!= null); // Remove this agent from the current location myWorld.putObject$atX$Y(null,myX,myY); // Update the new position and put the agent there myX = newX; myY = newY; myWorld.putObject$atX$Y(this, myX,myY); } } And what this should do for the values posted is send the agent moving toward a North-Western (top-left) direction. However, it decides to send the agent moving East-North-East until it wraps around the torroidal space and THEN it moves toward the destination in a North-East fashion. Can anyone see what might be going on with my math that is telling my agent to move East toward the destination? For destinations that are to the East of the agent it works properly. Thank you.
  4. To answer your question, most anyone here can help you, yes.
  5. Hiya. I'm not trying to nitpick, but I think you may be misunderstanding what is happening in the Pokemon games, and the classic Zelda games. You won't be needing a fullblown 3D engine, as they are simply using layers. Of course, should you want to add 'depth' to your game you may eventually want to get those matrices and such working for you. Just a thought, that's all.
  6. I definitely recommend setting up a home network for use with remote access. If the laptop or desktop I am on is lacking in processing power, it is always nice to be able to access a faster computer and compile/test on that one. But, as has already been discussed, the transfer of anything graphical over the remote connection is questionable. Myself, I haven't had a problem testing something turn-based over the remote connection, but anything real-time could become frustrating as the screen doesn't update fast enough. Of course, you're only using the remote connection for testing purposes anyway. When you want to run it in real time with up-to-date feedback, you'd be sitting in front of that computer anway!
  7. Quote:Original post by Sagar_Indurkhya Well I have a laptop right now. T43 Thinkpad, with 1Gb memory, 1.6 Ghz Pentium M processor (although it operates more around 1.2 Ghz), 80 Gb Harddrive (6 Gb left). The science fair project I did(which was actually on the AI Forum for sometime) requires a lot of processing power, and it is frustrating because: A) most supercomputer centers will give me barely anytime because I am not of high priority B) most of my friends have very high performance machines and I'm tired of begging to borrow their computers to run my simulations over night. Do you think it is reasonable to chase after a desktop? I've always wanted my own computer(although I have my own laptop), and this time I have enough money to build something that will satisfy that desire. I would go along with building your own (approx) $1000 machine. The supercomputer bit where you have limited access is going to change. You were in the national science fair, you've got the guns for a professor in University to hire you; maybe as soon as the end of your first year of post-secondary. Any University that hires students on a research basis is going to offer that student the resources to perform that research. That's my experience, anyway. I haven't yet had to run my simulations on my own computer. As for borrowing your friends' computers, that $1000 computer will most likely hold up to or outperform anything they have today (under the assumption their $2000 computer of last year has devalued over the course of that year). A desktop PC is great for highschool and even through University. The laptop you have at the moment could be all you need to remotely access your desktop PC throughout University. Now, if I had that $4000 I'd build myself a $1000 computer now. At the end of my first year of University I'd forget about upgrading that PC, I'd build myself another $1000 PC. Set up the first PC with Linux and use it as a file-server. Use the second PC (the newer one) with whatever OS your school is using and whatever your research requires. Now your problem is figuring out what to do with the $2000 left over. You have two PCs set up at home, and your old laptop for use in class. That laptop accesses the PCs remotely and you have instant access to your number crunchers. That, at least, is going to be my setup. I'm kind of in your situation, minus $4000 at my fingers. My (soon to be) file-server is this 750MHz AMD Duron which I access often with my 2.7GHz Pentium IV laptop. I'll be building my own (approx) $1200 Canadian PC by the end of summer for my graduating year. Any number cruncher I need access to is already granted to me by the University. I hope that was coherent, I know I can get into a bit of ramble.
  8. I've been using Ubuntu/Kubuntu the last couple years. Fair enough, KDE + Ubuntu does seem to put focus on the visual effects. I've had good experience running the XFCE windowing system, but at the same time why not just install Ubuntu and go straight to XFCE off the bat. I'm kind of a cautious user when it comes my distros. I'll be waiting another few months for Dapper Drake to be released, then another month or so after that until some fixes are released. Thanks for the warning, though.
  9. Heyall. Imagine a house with four rooms. There's a north-western room, north-eastern room, south-western room and a south-eastern room. It's a 2x2 matrix of rooms (or for the purposes of this forum, of tiles). The NW room is connected to the NE and SW rooms. the NE room is connected to the NW and SE rooms. The SW room is connected to the NW and SE rooms and finally the SE room is connected to the NE and SW rooms. Obviously this is easy to implement when using an array of rooms, but how can it be done with a linked-list of rooms? I picture it as such: 1) Create the first room, which we say is the north-western room. 2) Create another room east of the north-western room. The program doubly-links the two rooms together, allowing a two-way path back and forth between the rooms. Aside: If there were only one path, you'd consider the doorway between the two rooms as a one-way path. 3) Create another room south of the second room. Now we've got the NW room, NE room and the SE room created and linked to their adjacent rooms (adjacent only N, E, S and/or W. No diagonal linking). 4) Create the final room to our four-room house. Now NW is linked to NE, NE is linked to NW and SE, SE is linked to NE and our newly created SW. *How* can I tell my program to link the NW room with the SW room? If I were to do something like repeat all four steps over again, by next creating a room to the north of my SW room (which I in most cases wouldn't want to do) then I'd end up with a doubly-linked list that spirals, instead of staying in a straight line (due to the alternating direction of linking). I could very well do it with arrays as I'm just referencing a single object's position in relation to the cell it is occupying. Thanks for the help.
  10. Thanks again for the help, the later replies make for good discussion/reading as well. The snippet is from this site over here for those interested. I'm actually a java programmer myself and am in the process of learning C. In doing so, I thought I'd port source from the language I'm learning to the language I already know. Honestly, outside of SPARC assembly I haven't seen a label/goto and that's the centre of my interest in todays exercise. I do appreciate the help and am actually feeling pretty dumb for spending 3 hours on that and not seeing how I could come up with a solution on my own.
  11. doynax is correct. A goto is the simplest way to go about it. However, another programming language, such as java, doesn't have an easy way to do a goto statement. Those were quicker replies than I'd anticipated and my editing seems to have resulted in 2 or 3 different source quotes (whoops). And I can't believe how I had missed the use of a boolean. Thxa for the help.
  12. I just can't see how to do this. I should be able to complete this function without using a goto, shouldn't I? I can't see how it can be done, though. And the last three hours of my life have been dedicated to staring dumbly at this snippet for the sake of proving I can do it. I've given up and am resorting to help from others. Am I really missing the obvious, and how can I do this? Thanks. void myMethod(int arr[], int colno, int val) { int ctr1,ctr2; a1[colno]=val; if(colno==N-1) { printArray(a1); return; }; for(ctr1 = 0; ctr1 < globalN; ) { for(ctr2 = 0; ctr2 <= colno; ctr2++) { if(theseHoldTrue) goto miss1; } myMethod(arr,colno+1,ctr1); miss1: ctr1++; } } [edit] sorry for the confusion as I edited the source to try to avoid clutter and confusion.
  13. I'd never heard of "Java Grande" up until this point. Funny, though; The description of this forum at the root is "A Java grande with game development flavoring. Hold the whip cream."
  14. OptA: A bunch of people who like to make games. OptA: Hey! Everyone is doing it! OptA: Brain dump repository OptA: n00b friendly OptA: Because we were all newbies once OptB: Forums, Articles, Interviews OptB: For hobbyists and more. OptB: Humour me OptB: What have you got to lose? OptB: Nothing to lose ~ Everything to gain
  15. I think you mean using sprites (that generally face you no matter what direction you are looking at them from). I can't think of a reason why you couldn't apply physics to a 2-dimensional object in a 3-dimensional world. That 2-Dimensional object is actually 2.5-d which in turn means it appears 'flat' but still has all three of the x y and z parameters. You just need to get the 2-dimensional thing rendering the way you like in the 3-d world.