Search This Blog

Showing posts with label development. Show all posts
Showing posts with label development. Show all posts

Tuesday, July 30, 2013

ASCII prototype - codename Planet

As mentioned before, I use ASCII game programming as way to prototype concepts and check performance of underlaying system. Movie bellow presents project "Planet". I used here simple STL vector to create 1000 objects and check whats the performance of updating each of them per frame. Updates are simple.



As you could see the code is unstable in terms of CPU cycles per second. Unstability is seen that once Mr "Z" objects move from the corner, and more are to be written to different position in screen buffer, CPU cycles and time increases. Simple fix to clearing screen function that I have written stabilize this to around 70000 cycles per frame.

With that we also loose drops to mentioned 15000 cycles, which wasnt bad behavior. That was clear notification of cache reuse. Still I have filling that having this stabilization, I am now able to work on reusability of cache. Being sure that there is no more strange increase in cycles, gives me stability. To improve cache usage I shall look into update function and write to screen buffor function.

Sounds like interesting topic on side to play with.


What's that blog silence about?

o/,

Some time has passed since actual codding has happend. I used that time to reach for books, and recall some topics which I havent put in use for years. Currently I am going through couple of great books, including topics around, design patterns, C++ 11, gpu programming, directx11 and general engine concept/references.

If you are interested in some of those its great idea to peek into what has been done in past. On the net you can easily find quake codes, wolfenstein implementation etc. Interesting lecture.

Next topic in blog will be about ASCII game programming, which I used to project some concepts and prototype ideas.

Cheers,
JO

Saturday, May 25, 2013

ASCII application - Testing randomization

Hello there,
About two weeks ago my main computer encounter number of blue screens, and it had to go to reparis. Some ppl will understand how I got mad :), its preatty new unit. Working on pretty old notebook that is not able to render nice things. I have decided to postpone a bit terrain development and work on other related to engine parts.

I cant use nice DirectX so I have "gone wild" on ASCII. Just kidding. What I have done is just developed simple ASCII appilcation to test randomization and seeding that function.

Function that I have choosen to generate random numbers so far is Mother of All Random Generators, with some tweaks.

First application that uses it is simple guess the number:



Here number is generated basing on processor time.

Second one application is simple shooter (which was developed long time ago, and is now my Area51 for functions):



Here number is generated for positioning of enemy ship (those on top of screen). I didnt notice visible pattern so it works nicely. Randomnes is used to decide where to go in Y axis. X axis has its own 'AI', basicly going on level with player.

Guessing number is the best choice to observe how Mother behaves (ofc we can just list numbers, but hey its game allready), and I did experiment with it a bit. If I choose approch from shooter, to seed it initialy with given number, and base next seeds on last number generated, we will notice that numbers are going with given pattern. Approach that takes time from our computers as Seed works well and doesnt give obvious pattern of number generation.

Jo.

Saturday, April 13, 2013

Evolution Engine components diagram

Good saturday folks,

As promised I am posting high level components design for EE. Green background indicates elements I am working currently on. 


This is high level diagram to show you EE from hardware level up to game components. Currently I am codding rendering system. For each of the systems I have set of the features that I will include first and move on to next system. This will allow me to get working version of EE faster. It means that after I create v 0.01 for all components I should be able to produce simple game. Whole development is planned in cycles so after version 0.01 is produced I will start working on next set of features -> v 0.02. and reapeat process until final product is done.

Cheers,
JO

What is Evolution Engine? 
http://evolution-engine.blogspot.com/2013/04/evolution-engine-introduction.html

Wednesday, April 10, 2013

Evolution-Engine - introduction

Hello guys,


I have decided to start blog to share with you thoughts and report progress I am doing on developing Evolution Engine. I have allready posted some of my related work on youtube channel which I encourage you to subscribe to get latest visuals:


What is Evolution?


Evolution is some idea that firstly I defined around artwork I did in my spare time. It became my motto and target. Evolution as futurustic view of human being, started to be my project to improve my artwork and be able to make dreams true. Evolution became life project which goes around game development and creativity. My main goal is to create virtual world. The world is in my mind for years. Hopefully it will get implemented in form of game(s) that will bind in one story. Game is one of medium that I adore and see as one that brings togheter other forms of expresions.
Enjoy seeing my struggle with dreams building Evolution Engine.



What is the status of engine?

Currently its in design/testing tools possibilies. I have created some visauls to be used for testing purposes.

What I am using so far:

Visual Studio 2012 express, Blender

Language:

C++

API:

DirectX, PhysX