• Advertisement

PC My idea for a 2d game

Recommended Posts

So i'll start from the beginning and go to the story.

If anyone ever finds this thread, please let me know of your thoughts.

I'm sorry for any misspells. I'm Finnish so i'm not really great in English.

 

So. A few days ago i experimented on making 8-bit-like music (not actually 8-bit) and it really sounded great and i got these vibes about how it could be on a game like pokemon.

A few hours went by and i had made a full soundtrack consisting 20 different 8-bit songs. I got excited about making it into an actual game and started to make some sprites.

I already got an idea of the story in the game because i've been thinking about that story for a longer time.

 

I took a lot of inspiration from Undertale on the sprites i made and i used a 8-bit palette of colors designing them. The game is a 2d game.

But i made this thread to talk about the story, not the graphics or audio so let's get into it.

 

For a long time i have been thinking of making a game that talks about things such as death and afterlife but presents it in an unusual way. I know it's not a new idea just from me but you understand the concept. 

 

The game starts with you waking up in a church with no opening scene or anything. You're not supposed to know that you're actually dead yet and it is supposed to look like any other game. Actually you're not told about it anywhere. It just hints in slight ways that you are actually in the after life. 
You are supposed to help your friends in a project they won't agree on telling you about. You do some ordinary stuff with them like exploring an abandoned fortress (abandoned for obvious reasons), When you get to the fortress, you're the first to enter the gate. After going inside you see that your friends are not coming. Inside the fortress is a medieval village witch is not abandoned at all, it's populated with different creatures. The fortress acting as it was the afterlife and the scene with you and the friends acting as it was kind of between life and death.

I am not telling more of the story, BUT i want to inform that yes the idea is supposed to be a bit symbolic of death but no the story is not going to be complex. 

And a little bit more of the gameplay:

As i said; i'm not going to present the game in a creepy or scary way. I'm not going to tell the player that you are actually dead and in the surface the game is supposed to look like an ordinary kids game. BUT i was planning on making these collectibles witch are as if they were your memories from your life and every time you find them the game shows you an animation/photo from for example: You and your friends, You in school, You in work etc.

 

Also i was planning on scripting the game with C# since i got the most experience of it but i'm not really sure on what engine should i use. If you have any suggestions i would be really pleased if you helped

 

So i don't really have much more to tell you and i' a bit exhausted from explaining everything so i wont continue but  guess you got the concept if you read this post.

Sorry if i presented the story in a weird way. It's purely because i'm not the best at formatting sentences in english but i hope you get the point. That's the most important thing.

Please tell me your thoughts about my idea!

 

 

 

 

Share this post


Link to post
Share on other sites
Advertisement
14 hours ago, Cassi69 said:

i was planning on scripting the game with C# since i got the most experience of it but i'm not really sure on what engine should i use. If you have any suggestions i would be really pleased if you helped

Engine questions are off-topic in the Writing forum. This forum is for your story questions. For engine questions, use For Beginners (or just let your lead programmer choose the engine). For game design questions, use the Game Design forum (and so on).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By austin blaschke
      My Name is Austin Blaschke,
      Dear Everyone, I'm starting a big project and I need a team to help me with it. I'm mainly doing this for a full pitch purpose but also to make something valuable for the community. You will not be paid but if any of the projects makes a profit, it will be split equally among all members after we pitch the game. I'm looking for people who enjoy what they are doing and are willing to improve their skills and learn from their mistakes. I need anyone from music/sound production to game designers to code writers to visual designers and the whole yard. You do not need to be a professional and also no age limits are set but if possible i would like skilled investors to make this amazing. I'm not going to be doing this a 100% of the time because of educational purposes (College). I will be on every day, for around 2/3 hours but that doesn't mean that the whole operation is stopped. The development can still continue even without my presence.
      Im looking for a group of people that work well together and can work with anyone on this project looking for anyone. 
      Msg me at ablaschke99@gmail.com or join this discord server https://discord.gg/snhBvwF
    • By Ward Correll
      I include the source code from what I am playing with. It's an exercise from Frank Luna's DirectX 12 book about rendering a skull from a text file. I get a stack overflow error and the program quits. I don't know where I went wrong it's messy programming on the parts I added but maybe one of you masterminds can tell me where I went wrong.
      Chapter_7_Drawing_in_Direct3D_Part_II.zip
    • By Katie Byrne
      F.OB: Forward Operating Base is a military themed base building and resource management game.

      I am currently about 6 weeks into development. still implementing core game mechanics. The game is playable in a basic sense right now but there are no objectives or missions or anything motivating really lol. 

      I have been inspired by games such as prison architect and rimworld. both in visual style and general gameplay ideas. Here is a quick 2 minute video i put together that hopefully communicates the general feel of the game and what gameplay is like. Any feedback or criticism is welcome
       
       
      I have been keeping a development diary on my youtube channel and i hope to have more developments on this project very soon. 


       
    • By tgobbens
      Introduction 
      The architecture of software design is a much-debated subject. Every developer has his own opinion about what is good software design and what is not. Most developers agree on what is bad design, on what is good design there are a wide variety of opinions. Unfortunately, due to the nature of software development, there is no silver bullet; there is no one design strategy that always works.
      There are a couple of strategies that have proofed to be successful. These strategies have known strengths and weaknesses. The advantage of using such a strategy is allowing you to focus on building your game, instead of worrying if your codebase will implode after someone decided the game should function a bit different than how the code was originally written.
      Architecture
      In game development, the entity-component-system is an architectural pattern that is used successfully in small, medium and large games. The main strength of this strategy is the usage of the composition over inheritance pattern. This pattern prevents the build-up of complex object inheritance tree’s, that will make your code impossible to refactor without a lot of side-effects.
      So how does this pattern work, at its core, there are three elements; entity, components, and systems guess you didn’t see that coming. Let’s describe these one by one, I’m starting with the smallest and most simple one the “component”:
      Component
       The component represents a single attribute of an entity. Some examples of entities can be:
      Position Rotation Scale Physics body Texture Health Entity
       Entities are the “game-object” some examples:
      Ball Camera Player Enemy Bullet An entity can have multiple components, for example, a ball entity can have the following components: position, rotation, scale, texture and physics body. A camera entity might only have a position. Usually, all entities have a unique-id for fast access, but there can also be other ways of accessing entities.
      System
      The system is responsible for one aspect of the game, a simple game has can, for example, have the following systems:
      Rendering Physics GUI Sound AI What a system does is iterating over all entities that have components of the types defined by the system. For example, the physics system will act only on entities with a physics-component and a position-component. The rendering system will only act on entities that have a position and texture component. 
      For example, if a ball entity has a position and physics and texture component. The physics system will pick up the ball entity, as it has a physics and position component. The physics-system control a physics-engine, that will do its magic and calculate a new position for the ball. The physics system will set this new position on the position component.
      The rendering-system will also pick up the ball entity, as it acts on all entities that have a position and a texture component. The rendering system can render the ball using the texture and the position found with the ball entity (yes, the same component that was just updated by the physics-system).
      Now imagine you spend some time implementing the architecture described above, and you after, running it, realize the ball is not really moving very realistic. That might be because you forgot to take rotation into account.
      To fix it you now only have to create a rotation-component and add it to the ball entity. Now add in the physics system a check if the entity has a rotation component and if so just set the rotation on this component. In the rendering-system also add some code to check if there is a rotation component and if so render with this rotation.
      This is where the power of this architecture emerges, imagine you have not one ball entity but have a lot of entities like the ball, wall, player, ground, etc. and you forgot about the rotation. You only have to modify the rendering system and the physics system. Then by simple adding a rotation component to the entities you want to have rotation on, magically all those objects have a rotation. Now adding rotation seems like a trivial thing to do, but what does this architecture enforces is the separation of concerns (e.g. rendering and physics) while still allows adding new functionality. And important; It does this without the usage of inheritance but rather by composition.
      Possible features
      The architecture described above is in itself quite powerful. But there are some more interesting possibilities with this architecture. I will describe some of them below.
      Game-mechanic tweaking
      Creating a generic mechanic-tuning-utilities; as there are a limit number of component types, you can create a (developer) GUI-overlay that allows you to modify the values of a component. This will allow you to in real-time modify the values, e.g. the position, size, texture, acceleration, the weight of a certain entity his components. This will help you tremendously in fine-tuning game mechanics without the need to keep recompiling and reloading your game.
      Level-editor
      Taking this even a step further you could use the above system to load all entities and relevant components from a file, e.g. XML. This will also help you decrease compile and loading time, letting you focus more one tuning game mechanics. This could then be a very good start for creating a level-editor, letting a none technical team member (game-designers) tweak game mechanics.
      Dynamic loading
      Something else that can be managed using this system, is implementing an entity loading/unloading mechanism. You can define an interface with functions like initializing, loading, starting, stopping, unloading, destructing. Now you can implement a loading mechanism that guarantees the loading and initializing always happen asynchronously. This will allow you to load and unload entities in a uniform and controlled manner. You could also choose to run all the systems in a different thread you need to take some more care about modifying components, but this could allow you to do a lot of performance enhancements, as for example, the AI needs less frequent updates then a renderer.
      Real-world example
      Note this implementation is done in Java, as I’m using libGDX as the platform, but the architecture is certainly not limited to Java and can also be implemented in other languages like C++.
      Enough of the theory, now for a real implementation. As a hobby project, I have been creating a small iOS/Android game, my first implementation of this game was naïve, with one source file containing all logic. No need to explain this is a bad implementation, but this did allow me to check if my idea was fun and create a quick prototype and do some fast iterations from there.
      For reference, the “bad” implementation can still be found here:  https://github.com/tgobbens/fluffybalance/blob/master/core/src/com/balanceball/Balanceball.java  
      After I created this implementation I decided I wanted to implement the same game using a better manageable implementation.
      The “main” entry file can be found here: https://github.com/tgobbens/fluffybalance/blob/master/core/src/com/balanceball/BalanceBallSec.java.
      So, I’ve created my own entity-component-system. If you want to create your own game using an entity-component-system, and want the game to be ready as soon as possible then I wouldn’t recommend writing one yourself. However, if you want to learn about programming or just create something for fun, implementing such a system is easy, and you will learn a lot from doing this. Another reason to implement this yourself is you get a lot of freedom allowing you to add specific tricks and features that can help you improve your codebase.
      The entity component system can be found under https://github.com/tgobbens/fluffybalance/tree/master/core/src/com/sec and yes there are some optimisation and improvements opportunities in this code base. But it does show an easy to understand implementation. When trying to understand make sure you know what Java generic types are. It’s quite common you need to find a certain entity to update or get some info from. As there are a lot of components you know there will be only one instance from. I’ve added a method to get the first entity of a certain type. For example, give me the camera entity, or give me the first “game-world” entity. But there are also helper functions to get all entities of a certain type. The same trick is used for getting components of an entity.
      You will also find a basic type called “engine”, used for binding everything together. This will trigger the updates and holding references to all systems and entities. If you look for a “starting” point for the architecture this is where to start looking.
    • By mister345
      Hi guys, so I have about 200 files isolated in their own folder [physics code] in my Visual Studio project that I never touch. They might as well be a separate library, I just keep em as source files in case I need to look at them or step through them, but I will never actually edit them, so there's no need to ever build them.
      However, when I need to rebuild the entire solution because I changed the other files, all of these 200 files get rebuilt too and it takes a really long time.
      If I click on their properties -> exclude from build, then rebuild, it's no good because then all the previous built objects get deleted automatically, so the build will fail.
      So how do I make the built versions of the 200+ files in the physics directory stay where they are so I never have to rebuild them, but
      do a normal rebuild for everything else? Any easy answers to this? The simpler the better, as I am a noob at Visual Studio settings. Thanks.
  • Advertisement