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

PixelStation

Members
  • Content count

    29
  • Joined

  • Last visited

Community Reputation

125 Neutral

About PixelStation

  • Rank
    Member

Personal Information

  1. Following up on JTippetts' comment, the 'bucket' approach definitely sounds like what you want, implementation though is entirely up to you. Personally, I have a 'bucket' for every type of Component in my engine. There's a static bucket for each Component type which objects with the appropriate ID get added to when loaded into a scene (and removed when unloaded). A little management at load time greatly reduces the iteration time for draws, just keep the bucket sorted at all times (put the object at the appropriate position at insert instead of sorting later). Then all you have to do is iterate over the bucket when it comes time to render.
  2. If I remember correctly, it still requires a reboot to switch to Windows, right? It's not an emulation? I'm tempted to go that route again, but I know the constant rebooting is going to drive me up the wall. Maybe I'll just have to bite the bullet and switch IDEs. Is there anything out there like Visual Assist X for other IDEs? (VAX is about the only reason I'm using VS still) I mainly use it for the better auto-complete and syntax colouring. Searching by symbol/reference is nice too.
  3. [quote name='Cornstalks' timestamp='1331144524' post='4920142'] Bad idea for games, performance will suffer. I'm not sure exactly how Visual Studio will react, but it'll be slower too. [/quote] I figured performance would be a big problem. I guess VM is out of the question then as Windows is my main development target so debugging through VM doesn't seem like it will be a great idea. [quote name='Cornstalks' timestamp='1331144524' post='4920142'] That entirely depends on if you want to pay for another machine and don't mind getting up and moving from one to another. If you do use two different machines, and they're nearby (as in you can sit in a chair and see both their screens at the same time), you may want to look into [url="http://synergy-foss.org/"]Synergy[/url] (depending on your workflow), which allows you to seamlessly share a mouse and keyboard between the two. [/quote] Actually they would be at the same workstation, hooked up to the same monitors (I figure I'll have one switch between 2nd screen and the server). I've seen synergy before actually, I was looking at it for my laptop/HDTV (a laptop which I no longer have [img]http://public.gamedev.net//public/style_emoticons/default/sad.png[/img] ). [quote name='TheUnbeliever' timestamp='1331148853' post='4920163'] Inbetweenie option: [url="http://www.ubuntu.com/download/ubuntu/windows-installer"]Wubi[/url]. [/quote] I've tried this before too, it seemed pretty easy to install, which is a plus. Are there any performance issues with running Ubuntu this way? (actually, Ubuntu is the one I'm less concerned about performance-wise so this might be the way I go) I assume I can install it on an independent drive? Thanks for the answers so far [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
  4. Hello, I'm struggling to come to a decision. In the past I've had my system dual booting Windows 7 and Ubuntu, however I always come back to just a clean Windows installation because I get sick of rebooting my machine to switch to a Windows program or the partitions start becoming a pain. Now I want to switch back to Ubuntu, but I can't make the move 100% (because I really want to keep Visual Studio + Visual Assist and my Windows games although but I don't use the games much). So, I have a few options; 1) Dual boot with Windows 7 and Ubuntu again (although this time I'd like to do it on separate drives, not partitioned, how difficult is it to set this up?) 2) Install Ubuntu and use VirtualBox to run Windows (how will VS react to this? bad idea for games I assume?) 3) I'm looking at building a dedicated server for media sharing and some other experiments anyway, should I simply use 2 different machines? Do you guys have any suggestions that might help me choose? Another option? Had problems with one of the above I should know about? Thanks for any advice/warnings [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] P.S. I'm not set on Ubuntu either, so if you have any suggestions for another distro they're appreciated too!
  5. [quote name='Malc0lm' timestamp='1330447674' post='4917425'] I never coded a single bit of C# in my life, however I do have quite some experience with GUI coding (in C++) using wxWidgets, which I think totally rocks. But since I can't compare from own experience: what makes coding GUIs in C# a better choice over C++ with wxWidgets? [/quote] A bit off topic but I've coded quite a bit in both and I prefer C++ (I'm an engine programmer). I can say from experience that trying to bridge between an engine in C++ and an editor in C# is more work than I'm interested in doing. I was looking at QT for my editor, but after reading your comment about wxWidgets I am definitely going that route. Thanks for opening my eyes to more options
  6. Got it. Thanks for the responses guys/gals!
  7. A (hopefully) quick question; Does this type of initialization have a name? [code] class MyClass { public: MyClass(); // ... private: int m_count; }; MyClass::MyClass() : m_count(0) // <-- this guy right here { } [/code] Are there any benefits/fallbacks to doing it this way as opposed to this; [code] MyClass::MyClass() { m_count = 0; } [/code] Thanks! PS - sorry if this has been posted before, it's hard to find something when you don't know it's name!
  8. The project I'm working with is quite large (takes VAssistX anywhere between 2 and 10 minutes to parse when starting from scratch) and it also doesn't help that my machine is fairly slow. Seems like I'm just going to have to deal with it. Thanks for the replies
  9. Hi, I have a copy of VAssistX on my machine (with VC++ 2008). We have several projects with the same name (eg. MyGame1/Engine.sln and MyGame2/Engine.sln). It seems like whenever I switch from one of these projects to another with the same name, Visual Assist rebuilds it's database. Is there a way to stop this? Thanks, Jordan M. Edit: To clarify, I have opened all of these projects before and allowed VAssistX to build it's database.
  10. Ah, yea.. I guess I didn't mean to say blank spaces. Oops. Anyway, that cleared everything up! Thanks for your help [quote name='rip-off' timestamp='1313328868' post='4848949'] Remember, writing your own container is a fun learning exercise, but that is all it should be. You should use the standard containers in production code. [/quote] Yea, I may be proud of my little container but it seems like it'll be very limited (and quite possibly very buggy). It definitely was a good learning experience though.
  11. Ok, so if I understand correctly, the remove pass takes all the elements you want remove and puts them 1 past the end of the container, then the container takes care of filling the holes and re-sizing itself? eg. I have a list like so; a b C d C e C f I want to remove all the C's so remove does this a b [] d [] e [] f C (where [] are now blank spots) and erase then shuffles all that data back a b d e f [] [] [] and resizes a b d e f Is that right? [b]Edit: [/b]I implemented a swap function as well as an erase function so I can use either method as needed. The erase works the way I stated above ^ and works just great (also uses the swap to shove each value down while shoving the erased one up). Since it's all contiguous, like you said it really doesn't have much of an impact to bubble erased the values out of range. So I'm happy with my implementation and it's blazing fast (at least for my purposes it is)
  12. Hmm.. I like the "swap and pop", I think I'll leave that as a possibility for a fast erase. Could you explain the "remove/erase idiom". This is what I'm looking for, I'm just having a hard time getting google to give me anything but tutorials on how to use STL vectors [img]http://public.gamedev.net/public/style_emoticons/default/dry.gif[/img] Thanks for the reply
  13. Hey everyone. I'm writing a dynamic array in C++ just as practise (since I've never done it before). I have written a template class that creates an array of type X and fills it one at a time until it reaches capacity and then resizes (some code below). I have an iterator class that can iterate in either direction. Pushing and popping all works beautifully for my purposes. My issue is how to handle deleting elements at a random point in the array. I saw an article on a random website that suggested shuffling the data in the array back one (seems time consuming). Also thought that I could memcopy the data to a temp location, then memcopy it back to restore contiguity, but again I think that may be costly. Another idea I had was to keep track of the number of deletes (and store dummy data in the array) and once it had exceeded a certain threshold I would run a resize to restore the contiguity of the array... but the thought of that makes me feel dirty and that would make iterating messy. The goal here is to have a container that I can iterate in either direction, push and pop and delete at any index at any time and still maintain contiguity in memory. I don't expect to delete all that often (most of the time I'll be using push/pop) so I think I'll end up going with the 2xmemcopy method. Any ideas? Thanks for reading
  14. [quote name='Alpha_ProgDes' timestamp='1306100117' post='4814355'] Find a friend or girlfriend that speaks it. AND take classes, online, offline, free, or paid. At the same time. [/quote] Luckily my girlfriend is fluent (sort of) and I have a former co-worker on speed dial who also speaks french. [quote name='owl' timestamp='1306181576' post='4814728'] A MILF private teacher could do *wonders* for your french too [/quote] I'm sure my girlfriend would appreciate that. lol Thanks for all the replies, I wasn't expecting so many! Great advice, thank you.