Search This Blog

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.

Thursday, May 2, 2013

Female biotech concept art and small update on progress

o/

Let me start with small update on current development state. EE is able to render geometry, generate grids, and shperes, it's half way ready for run-time rendering mesh modifications (needs to include a bit more optimzied techniques). I will be posting video update once I complete main task around here, whcih is gerentating random terrain. Firstly it will be fairly simple, so more still to come.

While I am hitting some obstacles with programming or with time that I am able to spend on making game engine, I need sometimes to flow my mind in other directions. During this time I have concepted female version of the Biotech, pics bellow.




Cheers,
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

Friday, April 12, 2013

Improving 3D artwork

Hello Guys,

I would like to provide you short update on what I was working last week.

You could see on my youtube page link bellow, that I have created biotech character. Purpose of this creation was simple, to have model to work while building rendering engine and experimenting with DirectX. That guy is technological modificated human being. Some idea I have around cyborgs and how they would evolve in the future. There is story behind this which I will be reveling step by step while getting closer to final game release (dont expect that to happen this year ;) ). Biotechs are one of races that populate my virtual world, (so far in my mind).

(If you like it, go to my youtube page and subscribe to get latest uploads.)

Last week I got into creation of some cloths for the guy, more like armor. I had enough on looking onto naked male and would be good to add him some more detail. I started to experiment with some 3d technics. As I am rather begginer modeler I decided to get some help. I subscribed to www.digital-tutors.com , and I must say it was good choice. Tons of videos that I watch while working on EE (Evolution-Engine) and model. I strongly recommend it, even if you use freeware tools, you can learn a lot about some technics to create stuff. From basics to advance.

Switching from visual fun into design fun, I have designed high level EE components. I will be sharing it shortly as I am applying last changes. Still it I want to share it on high level, but will mark you what is the current component I am working.

Coding moving slowly forward, and it will not speed up until initial design is completed. Its more like experimenting with tools. Good news is I plan to release tiny games that utilized what has been done so far.

Have fun peeps,
JO.

What is EE:



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