My First Full Video Game: Introduction

in #programming6 years ago

Version 0.1.06 Alpha
So recently, in my spare time, I have started developing/working on a small game with a friend. Over the past few months we have been working on writing storyline and stuff like that but now we have started working on the actual game. To the left we have version 0.1.06A which was a significant point in development because that is the point where we had tracking AI working and combat was more or less working (kind of) and below you will see version 0.1.07A which is unique because it has trigger blocks added and custom defined level integration. As for graphics, the main ones are provided in a free to use CC-0 tileset (located here) and others we have added ourselves (the heart, blue vial, and book thing from us)

Version 0.1.07 Alpha
Ultimately this tileset is placeholder but I personally kind of like it (especially some of the creatures contained in it) so it might be that we create a derivative tile set using this one. As for coding we are using C++ with SFML but previous to version 0.1.01A (before alpha) we did a lot of prototyping with python and pygame (which is C++ using SDL) however I have a few issues with python (especially for game development) for instance you cannot have n empty variable as instead of variables, python had object pointers with identifiers and each identifier must be defined. This has a lot of problems (for me personally) such as its extremely difficult to stay initialize an image container to be filled later and with yeah... However one benefit to the prototyped version in python was that it was very easily modable as you could effectively (and easily) make a JSON file for a weapon or spell or whatever and it would load it in and make it allowing custom weapons/items/etc to be very easily made. I don't think we will implement JSON weapons in the C++ version simply because weapons (and damage types etc) have become a lot more complex and do not follow the same simple structure as before.

The tileset being used
Anyways so now that this has been covered I figure I should go through some simple things about the game. First you will notice 3 bars, a red one, a blue one, and a green one. The red one is health, the blue one is mana (used to cast spells), and the green one is XP until you level up. In version 0.1.07A there is a gray bar with items in it. This is your inventory, which is 10 slots, that is it. There is a cursor surrounding the item that is selected which will be used when the assigned key is pressed (action key, currently the spacebar) and using a simple getter and setter obj.get_action() which we can use to either return a pointer or more likely it will just do the action itself. We currently are not utilizing all of the tileset since we are not currently worried about level design. The level for V0.1.06A was designed to test out combat, dying, things like that. The other map shown is used for testing out event triggers, complex combat (throwing bombs), dropping and picking up items, and having a map change. Also testing out the hotbar to make sure things are being selected and stuff.
To Do List
  • Make unique AI for different enemies
  • Add friendly NPC's (i.e. shopkeeper, allies, etc)
  • Have the hotbar show the number of that item you are holding for items that can be stacked (such as bombs)
  • Animations (eventually)
  • Add more spells, currently there is fireball and heal
  • Audio, we have background music and boss fight music but we need sound effects
  • Finish the level up system. Right now when you level up all of your stats increase by 1 but since we want to make it RPG you should be allowed to decide.
  • Add armor
  • Gamepad support (looking into it but you should be able to add gamepad support)
  • More character sprites!!!
and more.

So what is Endoria?

Endoria is a D&D like universe (Damage does use a dice style system, so like 15d4+15 means that the output damage is between 30-75) but more importantly to the D&D like universe is that it is a world of its own with unique conflicts. The best part, the game has no set storyline. Yes there are quests (such as rescue this person etc) but each quest that you do (or don't do) will affect your reputation amongst multiple groups. For instance, you can max your reputation with a group of necromancers but doing so will cause your reputation with more respected establishments to decrease (the crown for example will make you out to be a criminal if you have a high rep with certain groups and will cause soldiers to go out and attack you) and characters are determined as friendly or not depending on reputations so if you have 0 rep with everyone then everyone will attack you, however killing people of specific orientations will increase rep with others. Something else we plan on implementing is, if we can, unique questing experience. What I mean by this is if you were to kill a character then someone whom cared about them might put up help wanted posters and create a quest that you can accept to find out what happened to the person. Or if you were to steal stuff then they might have had a family heirloom and then they will start a quest asking someone to find it. That is just a few examples. I have no idea if all of these things would be implemented but worst case scenario is it becomes a very long WIP. No code is currently being released on github until we have a fully functioning version, however we may not ever make it public and it may just stay a private project.

Anyways, yeah.

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.033
BTC 63373.75
ETH 3170.63
USDT 1.00
SBD 3.88