Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by awesomefox5

  1. awesomefox5

    Inhabitation | Development Thread

    Over the last few days I've been working on the terrain generation, focusing on biomes, cave systems, and all that, and generally trying to make the world interesting to play in. I'm fairly happy with the first biome now, which I've imaginatively dubbed 'slightly mountainous'. The game basically generates from left to right, choosing it's biomes randomly in chunks until it reaches to end of the map. The maps themselves are generated based on parameters entered by the player when creating a new world. Here's a zoomed out example of one chunk in the landscape (dark brown is caves): As the whole world is made up of loads of different blocks each with unique parameters, I’ve built a system that makes it easy to both add new blocks, and to make the amount of time spent defining block behaviour as minimal as possible. Basically, I have an array of a ‘Block’ structure which is defined by a unique ID for each block. Then the world is built up as a 2d array of numbers, which each correspond to a block ID. When drawing the world or updating a block, a check is called back to the block’s ID from it’s Global structure. That way a load of lag is reduced as the world is just an array of numbers and not an array of structures. Everyone’s happy. For a load more info on this, and some more screenshots, check the blog: Inhabitation Development Blog
  2. Development Blog ^Clicking this and following makes me happy^ Little bit about me and the Project This is a one man project, being coded from scratch in C# XNA. Everything is done by me, so production can get a little slow at times. What's this all about then? Inhabitation is a sandbox mine/crafting game (ahem) with RPG elements, and town management features. The game focuses not just on your own survival, but on helping a village grow from being a tiny settlement to a bustling town. The game is a 2D sidescroller which brings in elements of crafting, building, mining and generally exploring a world and doing what you want. My aim here is to take what I love out of sandbox games, and roll it all up with RPG questing and the sort of exploration where you really don’t know what’s under the next block. Early Game Breakdown Firstly, the player generates their world. This world is created using a series of defined parameters, depending on how the player wants to play. World size, biomes, rarity of certain resources, starting NPCs. All under the control of the player. Of course, entirely random is in there too. Now the player will spawn in this world, at the heart of a tiny settlement. This settlement offers a few NPCs, each with a job or quest for the player. Your choice, help the villagers out and they will reward you. Or wander off and build a castle on a cliff. Villagers will offer you rewards for your actions depending on what they need you to do. Collecting resources, crafting something important, or hunting a certain mob will all get you something in return for your ‘gracious nature’. Of course, in a terrain that’s as varied and dangerous as this, you’ll need tools and weapons. Pickaxes and swords are on offer, as you will be venturing deep underground into sprawling caverns filled with the kind of things that have a tendency to go bump in the night. Oh, and treasure. Which the NPC’s probably want as much as you. So as well as developing your own little house, you have a kingdom at your disposal. The more you do for your village, the more it grows, and the more it can offer you in return. We’re talking factories that craft things way above the level you can achieve with a couple of sticks and some coal (a cookie goes to who can guess what that makes). And this world you’re in will evolve around you, day and night, season to season, with different events occurring all the time. Different NPCs, different mobs, different ‘rewards’. The world outside is a very interesting place… don’t get lost out there. And for God’s sake, pack torches. Some Features Randomly generated side scrolling terrain with multiple different biomes and cave systems. A Real time lighting engine which takes into account your own light source and other light sources around the world. A retro look and feel both through custom pixel art and sound effects Crafting and item collection – easy to manage drag and drop crafting combinations from right inside your inventory. Weapon and tool system – your character has two hands, which means he can hold more than one item at once. Left and right click correspond to your two equipped items, but careful of your choices. You don’t want to be trying to mine your way out of flooded tunnel trying to beat mobs with a torch any more than you want to be left able to fight but to drown in the dark. NPC questing and trading – NPCs offer jobs for the player which reward them with new materials, items, and XP. Levelling system – the more you do, the more you level. You’ll receive XP for mining new materials, killing mobs, and questing. The higher your level, the deeper you can venture and the better stuff you can use. Don’t dig too greedily or too deeply. Building – this is self-explanatory. All blocks you collect can be placed back down wherever you want them. Just don’t expect your village to be pleased if you build their houses out of grass. Multiplayer? – this is a big ‘what if’. I’d love to do multiplayer, but this would be a way into development. I’d have to look more into this, but it’s something I’d love to do. Early Screenshots And I leave you with duel wielding pickaxes
  3. awesomefox5

    Inhabitation | Development Thread

    The game you're thinking of is Terraria. It's a game that I loved but the developers stopped updating, so I decided to put all of the stuff I'd have loved to see in Terraria into my own game, and build my ow project around that. So as a rough concept it may appear to be a clone, but I'll hopefully expand features above that. Nonetheless, thanks.
  4. Hey there. I'm currently working on something in c# XNA, and I have a problem I've been stuck on for ages. I have an object which can rotate 360 degrees and can move all over the screen (any x,y coordinates), in relation to an origin on the texture (the center of the texture) . The problem I have is that I need another few points which are 'stuck' to the texture, and will move only in relation to my main object. So if the texture rotates 90 degrees to the left, the other points will all rotate around the texture's origin to stay in the same relative place. I can explain better with a picture (attached). Any help here would be appreciated. Thanks for reading, and thanks in advance.
  5. awesomefox5

    Point relative to moving Origin

    Right so now I've got: point1 = Vector2.Transform(point1, Matrix.CreateRotationZ(angle)); point1 += origin; Where point1 is the fixed point, and the origin is the well, origin. But this doesn't appear to do anything.
  6. awesomefox5

    Point relative to moving Origin

    I can't seem to get my head round this. If I have a vector with the coordinates of the origin of triangle, a vector with the coordinates for the fixed point which are, say, (triangleOrigin.X + 20, triangleOrigin.Y + 20), and the angle of the triangle, what am I applying the matrix rotation to?
  7. awesomefox5

    Positioning along a line

    Ah, thank you so much, that makes sense. I was puzzling over this for quite a while. Thanks again.
  8. awesomefox5

    Positioning along a line

    Hello. I'm currently working on a small project in XNA, and I've come to an issue I'd like to question. I'm guessing I'm just overlooking something or I'm being too complicated or something, but here's my issue. I have a line, AC, where A, C, and the gradient, can all change (A is fixed at the centre of a character and C is at the coordinates of the mouse). I can obviously calculate the gradient of the line with dy/dx. Heres my problem. I need another point, B, on the line to always stay the same distance along the line from A, while still moving with the rest of the line. For example, if AC's was horizontal, moving C to the right or left would not change B's position. However, if C where to be moved up or down, B would move accordingly, staying on the gradient of the line. There's an image attached,which gives an example where the distance AB needs to stay constant. Any help with this would be appreciated, and any other suggestions on how to get round this would likewise be appreciated. Thanks
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!