* Note * - within this article all the game engine work and game content shown are in a work in progress and Pre-Alpha state. Also please note the video linked in this article is a "In-Game Tech Demo video" and is not a completed or official "Gameplay Video" for Corpses 'N Souls. The official Corpses 'N Souls gameplay video will be a separate release and video at a later date.
An addition to the dynamic weather system is weather profiles. Weather profiles allow for different degrees of a certain weather cycle effects. So for instance a light rain cycle to a heavy rain cycle, all profiles will randomly and dynamically change or be specifically triggered by an event. The different profiles will also dynamically change the effects. This ranges from more or less particles and other visual effects and changes to the current environment.
Raining: profile - 1
Raining: profile - 2
Raining: profile - 3
Raining: profile - 4
Raining: profile - 5
During last years development I also did some research and work into exposing/adding different FPS targets within the game engine and Corpses 'N Souls. I am happy to report that I already have this feature partially working and have a solution that will allow the user to select between the following FPS targets: 30, 60, 100, and 120. There is still work to be done to convert all of the systems and code but the majority already works with the current solution. All what is left to do is just a matter of converting the rest of the code(like the other sections that have been converted, the pattern is the same) in terms of pure grunt work rather than finding and engineering a solution that works.
Here is a list of planned FPS targets:
* Note - 60 FPS was the very first FPS target that I Corpses 'N Souls was originally targeted to. *
Another cool feature added to the engine was the ability to dynamically change the Post FX profiles of the final render(the last image produced on screen after each draw cycle). The user now will be able to change the look of Corpses 'N Souls to various pre-defined Post FX profiles. So if a user likes a darker moodier look like Diablo 2 that will be included, like wise if vibrant colors is your jam there will be a profile for that style as well. The main goal is to provide options and appeal to as many different gamers tastes as possible.
Here are some samples of the different types of profiles that can be made(and have been made). Note, these are not the final profiles I simply tried out the new features and made a few profiles to demonstrate the feature.
Post FX: profile - 0 * directors cut *
Post FX: profile - 1
Post FX: profile - 2
Post FX: profile - 3
Post FX: profile - 4
Post FX: profile - 5
Post FX: profile - 6
Post FX: profile - 7
Post FX: profile - 8
During last years development a major task was to convert all of the games sub systems in multi-core compatible code. This was a massive and challenging task since all of the games sub systems are by nature intertwined and as you can imagine many issues came to light during the conversion. In many cases it seemed as if a parallel version of a certain system would be impossible if the controlled sequential aspect of the code was lost due to parallelism. Massive amounts of re-engineering was completed to accommodate the new parallelism patterns for all the various game systems and object processing.
Happily with a lot of patience and hard work I was successful to convert nearly all of my games systems and object processing and the results have been amazing! As you will see below I also focused on scalability of the different CPU configurations. Being able to scale from 4 logical cores up to 32 logical cores and beyond is quite the feat and also future proofs my 2DEvolved game engine and Corpses 'N Souls.
As the CPU market and console market has moved to large arrays of logical CPU cores it only makes sense to embrace this movement and future proof your code base now rather then later when you have a large customer base to support. Being a PC hardware enthusiast it only made sense that my love for massive amounts of logical cores was something that my game engine and game would fully utilize. Once you have worked with parallelism in depth you can never go back to the old school code patterns, the power and scalability is truly amazing!
The following pictures demonstrate the logical CPU core scaling on three different platforms that range from 4, 12 and 32 logical CPU cores and different aged CPU architecture. Also the code running is still in a pre-alpha state and has had only had a single main optimization pass done to it. Also note not all the sections / systems have been optimized or converted yet. What this means is I still will be able to get the CPU performance even better than what is displayed in this article. Having said that I am extremely happy with it's current state and the load distribution. The old isolated CPU core overloading issues that I had and lingered for years has all been solved and optimized.
4 Logical core: Intel Xeon X3360
12 Logical core: Intel i7 3930K
32 Logical core: AMD Threadripper 1950x
During last years development I also focused on the games menu framework in order to make sure they had smooth transitions, where fast and responsive, had conveyance features and could have the ability to change all of the games options in real-time while the game is running. Since I am not a fan of restarting a game when you change your game options I put a lot of work into making sure that all of my game options could change seamlessly during the game while it is running.
The results are seamless and satisfying. Looking back on the time I invested in this update I am really glad I took the time and effort to make it a standard and part of the game and engine.
Features like normal mapping [on] or [off] or Ultra particle physics [on] or [off] can all be switched [on] or [off] during your game play session. Being able to tweak and find the right graphical setting for your current hardware configuration is another reason for this update since I know everyone uses different hardware ranges and this is what the majority of gamers like to do.
While developing all of the optimizations, new features and scalability during last years work I decided it was time to add a command console. The command console hooks directly into the main game engine and can expose any feature, options, etc and allow commands to change(disable or enable) what ever features I add to the command console atlas. The benefit while developing the game and engine is really massive and helps isolate features and issues while optimizing and doing scalability work. Even just getting a new feature to work really benefited from the addition of the command console, I highly recommend them. At first I thought it just be really handy for when I make game engine show case videos or feature videos but it has become a crucial tool in my game engine and game development.
This concludes all 36 features that have been added, completed, optimized, allow scalability or have had all four of these action items applied to it. During the rest of my development I am sure more features may be added as needed or dictated by my gameplay development. As of now though these are all the core base features of the game engine and game and they are now feature sealed. Any other features will not be a priority moving forward in development.
Next up in the article is information on the development focus moving forward and what are the big announcements for this year!
Last year was a major do or die moment in time for the project and a chance to achieve a major milestone in completing the engine optimization, scalability, GPU acceleration updates, multi-core overhaul and the rest of the key engine features and updates needed. These major tasks where all crucial in being able to move forward with the project or decide to abandon it all together. Everything depending on the outcome of last years progress. A lot was ridding on the project and my self mentally to come through and not break under pressure, stress, extreme workloads and expectation in my self and the project that I have set.
Here is an insight to some of the major tasks I focused on during last years development:
- resolve all major bottle necks in the game engine
- decide what systems have to be removed and downgraded due to performance issues and high system requirements * unless a solution can be achieved in a timely fashion *
- optimize game engine = hundreds of tasks
- convert the main draw sections and high draw call systems of the engine to optimized GPU acceleration backed with multi core CPU data structure pre-processing
- convert the core engine and sub systems to multi core compatibility and work load scaling and distribution
- engine feature scaling from a wide range of systems including 4 logical core computers to 36+ logical core high end computers and beyond
- complete interactive physics particles system(add the missing piece of persistence on impact and allow interaction at a stop state and beyond to fully mimic Nvidia PhysX and beyond).
- add hybrid interactive physics decal system
- add advanced blood system
- add efficient practical real-time 2D destruction system
- convert all GPU acceleration to hybrid multi core CPU acceleration + GPU acceleration
- add object loot scanning meta system to the game’s objects that synergies with the Harvest Bot
- add advanced water impacts to all the interactive particles and hybrid decals
- Fix all rendering bugs
- Fix all other outstanding bugs = hundreds
- add scalability to all major features
- add none forcing game restarts on in-game graphics option changes
- add base multi platform compatibility framework
- add command c with debugging, scalability and feature development.
As one can imagine / assume all of these tasks where all intense, time consuming and challenging to complete in a fixed time span and especially for a solo developer. I am very proud, relieved and happy to announce that all of these major tasks / milestones have been successfully completed or are near completion! Most importantly the project is still a go and moving forward onto the next phase. Finally the game engine development is taking a back seat in favor of adding content, completing gameplay, adding enemies and all the other none engine type work!
Since I left my software development job close to four years ago my current finances have been dwindling overtime as I continue to use up all of my life's savings in order to continue working full-time on my game engine and game. I have even had to go as far as to cash out two years worth of pension from a company I had worked for in the past in order to receive the instant cash buy out option in order to be able to continue working full time on my projects.
Looking forward to my projects success I have decided the best way to stay independent and secure more funds is to create a Kickstarter! I have personally backed 125 Kickstarter video game projects: projects I backed and I 100% continue to believe in Kickstarters system that it allows indie developers and game shops to continue to do what they love un-altered and allow them to make their projects a reality.
Video games have always been a massive part of my life. Since the very begging of the Arcade era to my first computer the C64 to my first owned console the Sega Genesis. I have always been involved in the video game scene from the start and am still an active/current hard core gamer even today.
My own video game support spans way past Kickstarter and I have been doing my part to help out as many video games in general and have been doing so thus far. As a example I have supported over 700 games in Steam alone: my Steam games page. Other PC support also can be found in Uplay, Origin, GOG and other digital stores. Not only have I continued to support the PC scene I have also supported the console world equally and their hardware and software over the decades. In short you could say video games are my life I have always been fully invested in it from the begging and it has only intensified over the decades.
Kickstarter has always been in the back of my mind as an option as I have been working on my project over the years. The first priority has always been that I make sure I have been doing as much preemptive quality work as possible on my project before I even think of starting my Kickstarter campaign. It is important to me that potential backers don't have to put up with a concept only campaign, time consuming issues that delay the project, delays that could of been avoided with preemptive work, engine switches half way through development, and other known issues that come up from a premature Kick starter or not enough preemptive effort. Having said that I fully understand that some of these issues for certain projects are unavoidable and it is the nature of the beast of creating video games. But I still believe there is always preemptive work that can be done to help mitigate some of these issues/risk and that is what I have been doing over these following years.
Currently I already have a solid foundation in my custom game engine and I have completed pre-alpha base gameplay plus various game systems. I have done all of these task first before I have even started to invite potential gamers to be apart of the project. It is my strong belief that ever Kickstarter projects should require that the project creator put in their own time, risk, work, money, planning, commitment and effort way before they even seek out potential gamers to be a part of their project and be a potential backer.
This is why I am also very pleased to announce that I am working on a public demo for my Kickstarter campaign for Corpses 'N Souls! I will not be launching my Kickstarter campaign until I have a solid demo that I am satisfied with. Like I said I am a hard core gamer my self and also a Kickstarter backer/supporter and I 100% understand what it is to be on the other side of the fence. Having said that, I am making sure that the work is being completed up front and that it is substantial and already is stable, high quality, and semi polished state. This is why I have gone to great lengths to ensure my game engine is very solid, feature complete and works 100% in a real gaming environment/scenario.
Also I have decided that I am NOT going to campaign tier pay wall my Kickstarter demo it will be 100% public and free regardless if gamers choose to back the project. Anyone will be free to give it a go and experience a sample of what I have envisioned for the full game of Corpses 'N Souls. Like I said as a KS backer I know what it is like to run into a pay wall when you might be in a current financial situation that does not allow you to back at higher KS tier which usually happens to also be the pay wall for the KS demo. I think everyone knows that every gamer dislikes this approach while I understand the reasoning. It is safe to say that all backers regardless of the backing tier want to try out the demo who are interested and supportive of the KS project.
Right now I am in full development mode for the rest of the year and will be focusing on the public demo and once I am satisfied with it's quality I am going to work on and launch my Kickstarter campaign! I am very fortunate that my parents are caring and have been very supportive of my dream / project and they have agreed to help me out till my Kickstarter is launched. So I am happy to say I will not be living in a tent :). Currently I am living with my parents and I am very grateful and thankful for their support and understanding during my journey to my Kickstarter and demo launch.
As you can see it was quite an intense year in 2017 and 2018 is also jam packed with hard work and exciting new targets but most importantly I am moving forward with the project. There is a lot of work that still needs to be done before the demo is ready and my Kickstarter campaign is completed. Having said that, things are getting real exciting for I can't wait for those interested to try out the demo and be a part of my Kickstarter campaign. I truly believe that the project will be something special, memorable, unique and awesome!
This concludes this months updates for Corpses 'N Souls. I hope you enjoyed the article, video, GIFs, images, news, future plans and are also as excited as I am that the project is moving forward and that a public demo will be releasing this year as well as a Kickstarter campaign for Corpses 'N Souls! Please note if I am not happy with the demo's progress I will not rush it out the door and will move the Kickstarter and demo launch date to a Jan - Feb 2019 launch window if needed. Having said that I have all intentions to do my best to launch the demo and Kickstarter campaign this year(my estimate is 4th quarter 2018).
Remember to stay locked in to indieDB, @SideScrollSTUs , @valcan_s , www.corpsesnsouls.com for all of your latest info on Corpses 'N Souls development and the pending announcement of the public demo and Kickstarter campaign.
A massive thank you for reading the article, looking at the images + GIFs + video and taking your time to look at it all and your continued support and patience. Thanks again, I really appreciate it!