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

Peppit

Members
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

123 Neutral

About Peppit

  • Rank
    Newbie
  1. I'm sort of curious if anyone here develops on linux, and if they do, what do you use? Does anyone use vim/emacs as their "IDE"? How much boilerplate did you have to write?
  2. I'm a somewhat experienced programmer (Junior CS major in college) and when I was younger I used to be EXTREMELY into game development. However, my engine of choice was GameMaker, and as we all know that's a bit limited. After becoming a better programmer, I decided I wanted to come back and make some simple 2D games using a real language. However, I haven't been able to find a good 2D engine that lets me develop in my own environment; almost all of them require me to use their own special scripting language or require me programming most of the engine myself. What I would like in a engine is: Programming is done in my own environment (emacs, vim) in an established language (like C++ or Python) I can quickly program objects (engine handles things like collision, creation and destruction of objects and scenes, etc) I can quickly place objects and design levels (I would really like to be able to use tiled to design my levels) It handles input and is easy to integrate in objects Built-in collision detection Bonus points for: Physics Android/iOS/HTML5 support The closest I have found to something I would like is melonjs, however I really don't like programming in javascript and it doesn't compile to native code (not that I would expect it to).   In an ideal world, I would like to make a simple pong game with something like this: import engine import sprites import scenes class PlayerPaddle(engine.GameObject): sprite = sprites.PaddleSprite game = 0; def __init__(self, game): self.game = game game.add_object(self, 'PlayerPaddle') # could be handled by parent self.x = 0 self.y = 0 super(PlayerPaddle, self) def update(self): if (self.game.input.keyboard.up): self.y -= 2 if (self.game.input.keyboard.down): self.y += 2 super(PlayerPaddle, self) def draw(self): engine.draw_sprite(self.x, self.y, self.sprite) super(PlayerPaddle, self) class ComputerPaddle(engine.GameObject): sprite = sprites.PaddleSprite game = 0 def __init__(self, game): self.game = game game.add_object(self, 'ComputerPaddle') # could be handled by parent self.x = game.current_scene.width-32 self.y = 0 super(ComputerPaddle, self) def update(self): if (self.game.objects['ball'][0].y > y) self.y -= 2 if (self.game.objects['ball'][0].y < y) self.y += 2 super(ComputerPaddle, self) def draw(self): engine.draw_sprite(self.x, self.y, self.sprite) super(ComputerPaddle, self) class Ball(engine.GameObject): sprite = sprites.BallSprite game = 0 def __init__(self, game): self.game = game self.hspeed = 5 self.vspeed = 5 self.x = game.scene.width/2 self.y = game.scene.height/2 game.add_object(self, 'ball') # could be handled by parent super(Ball, self) def update(self): if (engine.collides(self, game.objects['PlayerPaddle'] or engine.collides(self, game.objects['ComputerPaddle']): hspeed = -hspeed if (y < 0 or y > game.current_scene.height): vspeed = -vspeed super(Ball, self) def draw(self): engine.draw_sprite(self.x, self.y, self.sprite) super(Ball, self) game = engine.Game() game.set_scene( scenes.scenes['pong'] ) while (game.is_running): game.update() game.sleep_off_frame() I REALLY rushed through this so the python is definately wrong (and I'm not spectacular at it), but I think you get the general idea. 90% of the code is defining the behaviour of the objects, and the engine itself handles things like drawing the sprites, view locations, collisions, input, object movement, etc.   What I have tried so far: GameMaker Pros: Easy to get a basic game down, handles resources for me Cons: I have to program in their limited language, not open source, stores projects in a way that I can only really use gamemaker with it, can't develop on linux MelonJS Pros: Does about what I want Cons: I have to program in javascript which I really don't like, web only Roll my own with SFML (I am actually decently far into my own game engine, but I want to actually make games now) Pros: Does exacly what I want Cons: Extremely hard, buggy, takes forever, I have to write my own algorithms for everything and develop my own tools, unfeasible Unity Pros: Established community, good engine, compiles for everything I could want Cons: Can't develop on linux, basic 2D support, I have to learn how to use the entire program I know this is a really really common question, but I still haven't found a good engine for what I want, even after reading FAQs, etc. I would really appreciate some help.
  3. When I first messed around with making games, I had used GameMaker. The way that game maker is organized is you create objects, code their behavior, and put them in a room and run the game. Now I've moved on to C++/SFML. I am I just started on a way to organize sounds/images, but it involves running a python script to update a resources.h file that maps sprite IDs to resource paths. It seems to me that I'll need to do something similar for objects, scenes, etc. and it seems really hacky/a lot of work. Is this the normal way that people develop 2D games? Or do they generally just hardcode paths to sprites whenever they need to/something else? Any help would be appreciated.
  4. I'm starting to get the hang of C++/sfml, but I want to create a more complex game that doesn't just toss enemies at you randomly. For your games, how do you implement your levels? I would rather not have to do a bunch of create_object() calls since that would require calculating the x/y of EVERY object. All I can think of is either creating my own GUI or parse a text file that looks something like:   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X----------------------------X X-k-X----------------1-------X X---XXXXXXXXXX---1-----------X X---X-.----------------------X X---XXXXXXXXXXXXXXXXXXXXXXXXXX X---X------------------------X X---X-^------1------o--------X X---X------------------------X X---X----------1-------------X X----------------------------X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X=obj_block 1=obj_monster .=obj player k=obj_potion ^=obj_goal o=obj_bigmonster and writing a program to parse that into create_object() calls. The only problem is that this prevents me from adding extra info to any monsters (then again, I could probably add a new symbol and make a way to add extra code to it...).   Anyways, I'm curious what other people do.  
  5. I know this probably gets asked a ton, but I still haven't found a good answer from the tons of articles/posts on the topics that I have read. I'm really not sure which language to use to start developing games. To start off, I'm obviously going to make some 2D games. There are quite a few options for 2D engines, but I can't decide on which one to use. On top of that, I need a cross-platform option since I strongly prefer to develop/test on a linux machine.   Anyways, here are the languages/libraries I have looked at:   C++/SFML Pros: I use C++ for my classes so developing in C++ could help my academics too Getting better at C++ could help my career options Cons: C++ can really suck to debug You have to manage a lot of extra stuff in C++ Compile times Python/PyGame/Pyglet Pros: Python is a great language and easy to program in Cons: Distributing python programs to windows is tough It's difficult to "lock down" python programs and prevent people from having the source I really have no idea how to make sure that the distributed game has all the dependencies met Java Pros: Easy to distribute "Enterprise" language that could translate to career skills Cons: I've never programmed in java before I'm not sure how the performance is for games (minecraft horror stories) I would have to learn Eclipse, which from what I hear is almost mandatory for java I know that I should just pick whichever one I'm most comfortable with, but I'm not especially comfortable with any of them. And on top of that, I would be happy if I could translate any skills I learn to a career. I would really appreciate any advice.