• 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.


  • Content count

  • Joined

  • Last visited

Community Reputation

181 Neutral

About BS-er

  • Rank
  1. I'm trying to conceive an approach for implementing a match server for a multiplayer game. I would use a MySQL table for user account information, likely for a minimal piracy protection. I'm wondering if it's sensible and efficient to use a MySQL table to manage active game sessions that players can join. It would likely need periodic timestamp updating to be done by the player PCs, and a cron job set up to occasionally go through the table and clean it up. This would be done on a fairly basic web hosting account (i.e. LunarPages for example). I don't have a dedicated server or VPS. Hence my motivation to use something like PHP. Since the game sessions are fairly dynamic, I wonder if there's a better way than using a MySQL table, or if that's even a big concern. Any ideas?
  2. I have the following function in the web page: function ShowHelp(tag) { if (tag == "") { tag = "empty"; } helpWindow = window.open(tag + ".htm", "GameHelp", "location=1, status=1, scrollbars=1, width=600, height=200"); helpWindow.moveTo(0,0); helpWindow.focus(); } Prior to Firefox 3.5 on XP, this function did all that was expected, ending with the popup having focus even if the "GameHelp" popup window was already opened. After upgrading to Firefox 3.5, the popup window "GameHelp" gains focus when it is first created, but will not gain focus if this function is called while the "GameHelp" window already exists. It does move to 0,0 and goes to the new URL, suggesting that this function is indeed being called. The prior behavior before 3.5 is what I require. If the popup already exists, set it to a possibly new URL and give it focus. However it no longer gains focus with Firefox 3.5. Is there something I can do differently that will give an existing "GameHelp" popup window focus? IE 8 seems to work "properly" in this regard.
  3. The thought is that you have a rendering pass over your terrain that is able to concisely render a detailed road at a desired width, twisting and weaving based on a set of coordinate data. Shader parameters would control the width and tiling of the road texture. A 1D texture might be used for the series UV coordinates, and the road texture would need to angle and turn with this array of points. I wonder if something like that has been conceived or tried before. It might be that it's a computational burdon. If anyone has heard of such a thing, I'd sure appreciate some details. I'm going to research it.
  4. I'll share with you what I'm thinking of doing for the same sort of thing. My plan is to add a taskLeader variable to indicate that in order to perform the current task, they need only follow that leader. To be considered for a leader, a neighboring unit would need to be performing the same task, and would need to be ahead relative to the target (dot product math etc.). My plan is to enact the leader-follower check upon proximity breach, but an initial check for nearby neighbors may help as well. You may not get all units to join the flock, but maybe quite a few. The AI would break out of its spell if the leader is too far away, or not ahead with respect to the goal, or the leader dies or changes its task etc.
  5. Thanks all for the helpful and constructive feedback. An image-of-the-day submission is a great suggestion. Quote:Original post by swiftcoder I like the sky, is that just a pre-rendered skybox? No the sky consists of a number of textured quads for the clouds. The editor I developed allows for placing, sizing, rotating, coloring and "alpha-ing" those quads fairly easily. The sky backdrop is simply a few quads for color transition that align with the view camera. This gives the effect of transitioning to a brighter horizon. Simple but effective I think. Quote:Original post by Servant of the Lord That game looks really impressive; how long have you been working on it? The video looks great. I've been working on the game's code for several years, most of it in my spare time back when I had a day job. A layoff in June '08 gave me more time, with the help of a severence package and a nice savings buffer. It's been a learning experience. Here are my major takeaway opinions (not that anyone asked): 1) On-line collaboration relationships are generally too fragile to sustain an ambitious game project. Real-world friendships and close physical proximity have great advantages. 2) Relevant professional/scholastic experience of all collaborators is critical if you're aiming for something polished. 3) Capable artist collaboration is in very short supply. An elaborate 3D game may prove too ambitious given the difficulties in finding artist collaboration. 4) A small team footprint (i.e 2D-Boy's 2-man programmer/artist) seems to be a better formula for success, in conjunction with realistic project goals. [Edited by - BS-er on January 3, 2009 4:19:47 PM]
  6. I was quite hoping for some feedback from the gamedev community, good bad or indifferent. I must admit that I don't provide much feedback myself, so I plan on addressing that in the future, in the spirit of doing unto others. I've also put together a gameplay video at: http://www.vimeo.com/2681161 Thanks.
  7. I developed my game to use scripting in this manner. The goal was to make it as simple as possible for non-programmer types, who seem to easily thrown when the needs become even a little intricate. The following would be a working script in my game: require "mission_interface" ----------------------------------------------------------- function mainRoutine() play("mission1/intro.ogg") wait(8) display("Welcome to this mission. Prepare for combat!") wait(20) local attacker1 = create("avheli01", "point_1", 2) attack(attacker1, _player()) awaitDeath(attacker1) display("Well done!") end thread.create(mainRoutine) ----------------------------------------------------------- function sideRoutine() while true do local patroller1 = create("avatv01", "point_2", 2) follow(patroller1, "path_1") awaitDeath(patroller1) end end thread.create(sideRoutine) I've tried to hide big words such as "coroutine" from my non-programming partners, instead creating a namespace/table called thread. I hide the fancier mechanisms, such as resuming, in a different module "mission_interface.lua". Using Pluto by Ben Sunshine-hill, I have it such that the state persists through a game save. If you want to have a look at my Lua code and approach, let me know.
  8. If raw speed is important to your application, and you're doing some tight loops and heavy math that need to run fast etc. then C++ has the general advantage. If easy extensibility is much more important, than Python seems like the winner. I've chosen Lua over Python so far because Lua has some no-brainer ease in embedding it in a C++ app, and it has coroutines built in. However Lua has its drawbacks as well. No point in trying to compare, I just wanted to bring up aspects of Python that have kept me from embracing it up to now. A variant of Python called stackess Python is supposed to be a reasonable choice for embedding, and has coroutines, but still seems like a bit more work than Lua to set up. Some Python zealots I know swear by Stackess Python though. Mixing C++ and embedded Stackless Python may give you a nice mix of what you need.
  9. An early beta of Machines, Anarchy and Destruction is now available at the following link: http://www.orderlymayhem.com/downloads/mad_beta0.2.exe It weighs in at about 131 megabytes. This is an early beta release that was submitted to the 2009 IGF competition. It is in a playable (and hopefully fun) state. There is much more development to be done, so feedback is appreciated. We are looking for a modeller/artist at this time. See our post in the Help Wanted section: http://www.gamedev.net/community/forums/topic.asp?topic_id=518501 Here's a few screenshots:
  10. Well I didn't get quite what I want, but I guess I got what I need. setting up a call to debug.traceback from within the C function does give me the line number and module, along with a lot of extra stuff. It'll do :).
  11. Thanks for your help and responsiveness. It looks like the lua_error approach is a dead end as well. It's not the thing to use for non-intrusive warnings. It ends the coroutine thread unfortunately. The debug.trace doesn't look promising either, as a way to get information from within the C function that Lua is calling. Sure you can make a call to it in C, but all the setup required looks like a grand advanture that may or may not be for naught. It looks INTENDED for handling a call to a Lua function that generated an error, and like most of my other attempts, I think it would yield little if used outside of its intentions. Dang no elegant solution available by a longshot :(. I was hoping for a neat little function call.
  12. The documentation for lua_error says that calls to it don't return, which doesn't sound too friendly. Am I missing something? I don't want to hose up the works, just display a warning message.
  13. In my C functions that are callable from a Lua script, I'd like to include provisions for warnings that can be output to my game's console. I'd like to include as much as possible in such warnings, including the script line # and Lua module name where the call was made. I can't seem to find a way to do this. For example: int fn(lua_State* L) { if (lua_isnumber(L, 1)) { foo(lua_tonumber(L, 1)); } else { /* Warn that something other than a number was passed. */ } } Anyone know how to get the line number and module name at the point where Lua made the call to this C function? Thanks in advance for any help.
  14. I'm using OpenAL to stream ogg files to play music, voice dialog etc. On my system the volume is the same for mono or stereo, but on SOME systems (not all the same sound card/chip), the mono ogg file is barely audible. Stereo ogg files play back fine. Turning the mono file into a stereo file with the same content in each channel resultes in normal volume. I'm doubtful that the ogg aspect has anything to do with it. I make the following call for the source: alSourcei(mSource, AL_SOURCE_RELATIVE, true); and also set position, velocity to 0. I'm pretty sure this sets up the source so that it will play at constant volume regardless of what the listener position is. I wonder if I'm missing something. The OpenAL spec says that stereo sources are played without "3D spatialization", and maybe that's why the volume is always good for them. I wish there was a call that guaranteed the same thing for a mono source. I'm not 100% sure that setting AL_SOURCE_RELATIVE to true guarantees that. If anyone has encountered the same sort of issue I'd sure like to hear about it.
  15. I seem to have proper distance attenuation on Vista. I do know that stereo sound files are not attenuated (or aren't supposed to be). Could it be something as simple as that?