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

wizardpc

Members
  • Content count

    193
  • Joined

  • Last visited

Community Reputation

282 Neutral

About wizardpc

  • Rank
    Member
  1. Well, I also used wings3D.  I actually have a seperate tool that allows you to load .OBJ files from Wings3D and then animate them in my custom format for my game engine.  that said, you could do something like export into .OBJ file and load them into your editor.  I too find Blender hard, but I'm not an artist, and can barely model anything.  Just some basic buildings and such......   I think you taking a look at OpenGL, GLFW (for getting the window and gameloop up and running), HightMaps, .Obj files, should be more than enough to get a world editor up.
  2. Sorry (couldn't figure out how to edit my previous post).   I thought I might help guide you with some terms you can google and research.  I don't know how much knowedlge you have in Game programming or even 3D graphics. (since that's the map editor you want to make).  To start small, you can make the terrain out of something called a Heightmap.  You could create this with an algorithim, generate it in code, or even load it from an image.  If you want more control, you can raise lower vertices in your world editor tool.     And for rendering you could use Direct3D or OpenGL.  Or you can look at Ogre3D if you want a Rendering Library.  Once you understand how to Render triangles in a 3D space, you could start working on your world editor.  Again it's hard to gauge how much of this stuff you already know, so Sorry if I'm repeating things that you are already aware of.
  3. I don't know of any specific tutorials.  I feel like a World Editor tool is best used with a game in mind.  You could use something like Unity which has an Editor to make any game, but thats the reason to try out Unity.  If you want to create your own, you need to think of your game or what you want to use it for, what features you want.  And program it like you would any game.   Every world edtior is really going to have a few common parts.    -You need a way to visually see the world.  Be it a 2D world or a 3D world. -You need UI (buttons, dropdowns, textboxes). -You need a way to import and export data.  (meshes, the scenegraph, etc).     I just finished a custom world edtior for my 3D RPG game I worked on.  RPG's need a ton of tools and features, so I decieded for one monolithic tool: my World Editor.  I had features such as   -Placing Objects (Trees, Rocks, bridges)....... -Placing NPCs -Placing Enemies -Editing Enemy Data (Hp, attack, loot, gold, exp) -Designing Quests (start text, end text, start NPC, end NPC, loot, gold, exp) -Assigning Quests to NPCs -Sculpting the Terrain (raising lowering terrain, smoothing, flattining) -Painting textures on Terrain (Paint rock texture on side of cliffs, or a dirt road, or sandy beaches near the water) -Desgning Items (Item stats like Str, Wis, Def, Attack, Agi, Int, equipment slot, icon etc.....)     Now, this was all very specific to my project.  But using this tool, I could design the world, nay the game, exactly how I envisoned it.  Down to controlling Stats for enemies and the quest lore etc...   Your game might be a platformer.  This tool is probably way overkill and maybe something more tile based would be better?  There are also some already made level editors you might try and look at.  I think GameMaker is one?  I could be wrong.  Have a look at Unity as well.  But if you are dead set on making one, think about your game, and what you might need.  Decide if you want this tool to be generic so you could reuse it in other games, or if it should be specfic to your game and therefore you can narrow it's vision and scope down greatly.   Good luck!
  4. I'm 29 and my wife had an Eptopic Pregnancy.  When her tube bursted and was in immense pain, you don't get to "shop around" you go to the ER.  She was hours away from dying, they needed to do surgery (laproscropy) to stop the bleeding and remove the fetus.  I believe the bill was hundreds of thousands of dollars.  We paid $1,500.   That was probably the only case where Insurance really pays off.  Otherwise your usual checkups, and medications and copays tend to not really save you much.  I have a doctor that will charge us less if we give him cash vs going through insurance for minor checkups and things like that.
  5. I think it's the explosion of Multiplayer online gaming.  With Game consoles having networks that "find the game for you", no one wants to play against scripted AI computers.  Games that have an MMO element certinaly is not going to have bots (though I understand your comment about training).  I think before when LAN games were popular along with Internet gaming, you found more bots because friends wanted to team up and maybe you didn't have enough players to make a 12 player match.   That said, At my work, we still use bots for simulations and testing (but the entire match is BOTS, no Humans are playing).
  6. It's a bit funny that you start your entire post with TLDR, which usuaslly serves as a quick summary to a long post before it.   However, if a player spends days creating their kingdom, only to have it get destroyed, I don't think much people will enjoy playing this game.  If it takes under an hour, then maybe, but then it gets into a "RTS vibe" which, if I understand your intentions, is not the design of the game.  You want more progression and a more sim city / RPG vibe?   This is the only concern I would have as a player.
  7. You will probably not want to tackle "a multiplayer game" as your first attempt into Graphics programming (from 0?).  Maybe a turn based easy board game where people can change at the keyboard?
  8. MuseScore is a free cross platform Notation software I use.   Thought I would mentioned that for anyone looking.
  9.   I don't know the most optimal way of doing movement/collision detection in a multiplayer game over the internet, so maybe someone can chime in.  Movement wasn't as big of a deal for me, because my game is LAN only, and 4 players maximum.   Players tell the server when they "start walking", "stop walking", "start Turning", "stop Turning".  That way the client updates themselves and there is a lot less packets being sent just for movement.  Most of the time, users will envoke auto-run, or be standing still in combat.  But I also send absolute coordnates (from the server) where peoples positions are.  I do this at a realitivly fast rate so if things get out of sync, there is a ruberbanding effect.  But this usually doesn't happen very much at all.   I'm sure there is a better way to do this.  Since my game has no "server" (one of the players hosts a session), My Collision detection was done on the client, and told the server about running into a building or a tree, etc.
  10. How are you constructing your View Matrix?
  11. @skywarden   That sounds like the buffs might work.  You might want to have 3 tables.   -Spell table -Effect Table -SpellEffectJunction Table.       So you can customize your spells with different effects.  I'm not sure if yoru effects are what the spell does (like damage, heal) or the graphic elements of the spell (what particle system to use).  But I guess this would work for either way.  If you have three tables, you can define your spells, define your effects, and then the junction table is a simple 2 column table with a spell_id and an effect_id (forgive me if this is what you had in mind).  Then you can add as many effects to a spell by inserting them in this table.  A query will return all effects related to the spell in the query.   Also, is this a client side database or on the server?  Because the client will need to load all of this from the server before they start the game (i'm guessing).  But you want the values to be controlled on the server so you can easily apply server side patches to balance the game.
  12.   I'll Show you my Buff table I used in my Database.  I actually grouped spells as buffs so they had a type.  (note statement is for a SQLITE3 database)     CREATE TABLE Spells (  spell_id INTEGER PRIMARY KEY AUTOINCREMENT,  school_id INTEGER,  school TEXT,  class_id INTEGER,  name TEXT,  desc TEXT,  attack_value NUMBER,  range  NUMBER,  cost  NUMBER,  cast_time  NUMBER,  recast_time  NUMBER,  spelltype INTEGER,  duration INTEGER,  stuns INTEGER DEFAULT  0,  mezs INTEGER DEFAULT  0,  tick INTEGER DEFAULT  0,  forever INTEGER DEFAULT  0,  passive INTEGER DEFAULT 0 );   Notice this is kinda denormalized because I only have 36 spells in my game so I lumped things into one table, for easy querying at the start of the game. I ended up have 3 types of spells.   1. Target is Hostile 2. Target is Ally (friendly) for heal spells 3. No Target.   So obviously any Damaging spell needs to be type 1 because those spells require the user to be targeting an enemy.  Can be damage, or a stun, etc..  If I want a spell that heals or a buff that you must click on people i set that type to 2 in the database.  I also made a rule about type 2 spells.  If targeting noone or an enemy, the spell will still cast but the allied target will be yourself.  So you can self heal without having to click on your avatar/player etc...  Type3 is where any group spells came in to play.  No target is required, and it uses the range value in the database.  Again, another rule in my game was all type3 spells casted work on yourself.  So If I wanted a self buff I would make it range = -1.     THen I had various flags for all the buffs I wanted:   Tick- calls the buff to do something every tick amount.  Lets say I have a power song that my Bard class can give to the group.  But i want it to chant every 5 sec so they have to stay near him.  This tick value is set to 5.  I set the type to 3, and the range to 20.  Now this is a group pulsing buff that will pulse every 5 sec, and i set the duration to 30, so if they leave the presence of the bard the buff will fall off in 30 sec.  Notice the bard spams the buff everytime because I will set the Forever flag to true (see below).   Amount - If type 1 spell this is used as a base number for damage.  If type2 I use this for healing amount.  If type3, depends on buff but could be stat increasing, torns amount, an HP/MP regen rate, etc....   Stun/Mez - Will this spell stun or mez the enemy.  Use Duration (in some formula of the game) to figure out how long.   Forever - This tells the buff to RECAST itself to the owner.  I used this for my bladeturn ability.  If bladeturn buff is on, then the next time you get hurt from an enemy, the attacks damage is reduced to 0. The buff comes off, but the Bard's bladeturn will reapply itself every (duration) secs.  That way you have to BE near a bard to get the benifits of the buff.  The buff will last until you logout, but it won't get reapplied unless you are near him.   Passive - This flag tells the game to ignore duration.  The buff will stay on forever.  I used this for buffs that increased stats.   cast_time - How long does it take to cast the spell.  Can be zero for instant cast spells   recast_time - How long till you can recast this spell. Can be Zero (but you shouldn't have cast time and recast time = zero or someone can cast a lot of spells in 1 sec!)   Things like amount and duration are actually base values that get thrown into a formula so the spell scales with INT and Level etc.....    Maybe this can help you out, but at least it shows one approach to spells.  Also, having all the datapoints in a database made it easy for me to give the game to my friends to play, and I can make quick database changes while attempting to balance, without having them redownload the game, or recompile it, etc.  So remember to try and avoid any hardcoded values in your source code. 
  13. I googled Cube World, and while that game does look fun, I think it would still be pretty tough to program an Action RPG Voxel destructable Terrain multiplayer game coming straight off of 2D Pong.   using cubes is a good start though.  You could try and make a Geometry wars type game.  Or if you want to look into 3D Modeling (check out Wings3D) Free cross-multiplatform modeler which I use (easier to use then Blender, but can't do animation which is an advanced subject anyways).   If you want to use models that don't animate you can think about things like spaceships, pirate ships, tanks, buildings.....
  14. I remember making a 2D Mario Platforming game in 2 weeks.  I'm just now finishing a 4-player Everquest (MORPG style) game in 1.5 years. Sadly, I doubt my 2D platformer will never get old. and the joy of knowing it only took a few weeks.  and a small amount of code.  You might want to aim lower if this is your first game.  If you start smaller, you can reuse your code and it might help before going into an RPG.  (And by lower, it doesn't have to be pong.) That's what I did, since I am the only one in my hobby projects (programmer, designer, artist, musician).  But I started with smaller projects and gradually finished my goal (RPG).  Though I wanted one that required no server, so 4 Player LAN setup to play with friends, or solo. I progressed in difficulty by making the following games in order 3D Arcade style game (Guide a rocket through a level) (C++ DirectX) 2D Platformer (c++ direct X) 2D Tower Defense (C++ DIrectX) 3D Fleet Battle (strategy, C++ DriectX) 3D RTS (XNA C#) 3D 4 Player Action Pirate ship Simulator/battle ( C++ DirectX/HLSL) 3D 4 Player MORPG ( C++ OpenGL/ GLSL) Notice that I started small, learned things, and general each new game added a new programming concept.  Be it tiling in 2D, or A* pathfinding in Tower Defense, or Networking in my pirate game..... Now to answer your questions. Choose a language everyone is comfortable with.  XNA and C# was really easy.  You might want to look into that as a choice, i've never used python. But now I'm going to share a lot information, sorta a post mortem on my 4 player RPG i just finished.  I understand yours will be easier as it's 2D, but a lot of this applies. Obviously the fun part is making classes, spells, enemies, designing the game.  But Soon when you want your game to have a good amount of gameplay and reatures.  There are a lot of subsystems you need to implement in an RPG.  I'm going to blast a ton of questions relating to these subsystems so you can start thinking now.   How are you going to render terrain (probably a tile map).  How are you going to make the tiles and design the world?  You will probably want a tool for that.  Some world editor that lets you paint maps and export them into the game.  That's work to do. How are you going to handle Quests, Loot, Dialog?  Well it sounds like you have a database in mind, which is similar to what I did.  But then I made a tool to generate and edit items.  One that can create Quests or edit them.  Assign loot as rewards, Assign dialog to the start and end of the quest.  Having a tool made it easy for whoever was DESIGNING the game to just use the tool.  It connected to the database, so everything was content driven on the game.  How do you map dialog to NPCs (maybe tool)? How are you going to handle combat?  Is it real time?  If so, how to you handle Groups.  How do you update only the players you care about as a server when someone makes an attack.  Can your server handle updating all the AI for every enemy?  and for ones that are fighting players?  If someone casts a spell, you need to alert every player where that spell might exist so they can render it.  How do you display the damage? do you show other players damage?  Do you animate sprites if someone is attacking?  what if they miss? can they miss?  What if they are in casting state? what if they just got hit? or finished casting a spell?  These are all events you need to handle for all connected players.  And handle any lag if this is all real time as well.  Combat was not a trivial system and I limited my game to just 4 players!  How do you handle Agro so that the monster will attack the correct person.  Do you impliment some sort of holy trinity (tank , DPS, Healer) paradign?  What about buffs? ist there a time limit on buffs? who can give who buffs? do they scale? do you have special buffs like HOTS? or Torns(attacker recieves damage)? Do you have stealth?  What about Bladeturn to absorb damage/ buffs that remove after use?  How to you handle the merchant.  Querying available items for sale.  Implementing some sort of economy system with buy/selling.  I didn't even touch crafting lol.  Is there trading?  How to you stop people from equipping powerful items and breaking the balance of a game.  Moving your character around can be a challenge in a network game as well.  How do you get the character to move fluently, with minimal ruberbanding for both the user, and other players.  Handling collision detection with the world (terrain tiles).  Maybe handling collision detection with players/enemies/spells (up to you)?  Is it a persestant world like WoW, or instanced like Guild Wars? (obvsiously 2D). What if a high level helps kill with a low character.  What if this happens when they are in or not in a group.  How do you stop griefing?  How is exp Awarded?  What defines "progress" in your game to keep someone from not playing.  Is there Raids or group only content? Guilds? What kind of Social Interaction are you expecting in your game   Then the subsystem that threw me for a loop.  I didn't realize 50% of my time would be programming the UI!:  What are you displaying on the vitals (hp, mp, xp)? Do you have a group window? a Cast bar?  A spell bar for spells?  How do you handle mouse clicks?  How do you handle targeting (Both UI and click on the model)?  What menu system do you have?  I had lots of tabs like: Personal infomration about their stats, Equipment menu, Inventory menu, group menu, spellbook menu, trading menu, a WOrld map, Game settings.  Do you allow them to change game settings (size of screen) sound ? (for me it was also optimizations like shadows, adv water reflections, render distance, but maybe not needed in 2d).  How do you program the act of someone moving things around in an inventory?  How do you program equiping items?  How do you handle Assignign skill points or spells?  Do you have a Quest menu? How to you show the statuses of quests? which items they need to collect or enemies they have to kill or what reward they will get, or how much exp they will recieve.  UI was the longest part, and I never realized how much of a chunk RPGs UI is. What happens if someone disconnects or dies.  do you have a bind system? are they penalized?  How do you handle respawning enemies if its a persistant world.  Are there zones? ......................... ......................... I'm not trying to put you down, I just want you to be aware of all these situations you need to program and take care off.  Of course you can always simplify your game, but I was just relating my own experience.  I thought it would be as easy as : Implement Chat system - > Network host/join code -> move character -> combat.   An RPG is really a lot of work.  And I spent a good 3 to 4 hours a day for a 1.5 years coding tools, making the game.  My game has content enough for 60 hours of game play, but it probably couldn't handle Massive players.  It was built and designed around 4. Hopefully you don't take this the wrong way.  But damn, was it a lot of work.  I'm not saying you can't do it, I'm saying I could not do it if I started even 4 years ago, not knowing much game programming experience. Sorry for long post.  
  15. I'd learn a language first, before even attempting any kind of graphic programming.  If you are serious about programming and college.  Maybe C# would be good choice?  Once you create a few applications, you can easily look into XNA for some easy "pong" like games. Just a suggestion.