Development Schedule: Building a game in less than three weeks!

Yes! A full game! Okay… It will only be a playable prototype. But hey, you nearly cannot have a sensational headline without bending the truth today. Nonetheless I intend to do a lot of things in short time without knowing my tools well. But I have got a plan:

Time Plan Result
Week 1
Day 1 - Set up the camera
- Import a space craft from the asset store
- Make the player vehicle controllable
- Cameras for 3 levels set
- Free space craft imported
- Player can control vehicle view dependent with keys
- Mouse/touch input is not finished
Day 2 - Import enemies
- Create hostile movements by using mathematical functions
- Project floating-point movement to level resolution grid
- Mouse input finished
- Two free space vehicle imported as enemies
- Enemy spawning functionality implemented
- Hostile movements created using predefined way points, but not finished
- Resolution grid missing
Day 3 - Render entities to textures and display results
- Apply shaders to the sprites for "quality downgrade" to match retro style
- Scene is being drawn to a render texture
- Vehicles are placed on a grid
- "Retro" shader is absent
Week 2 – Research for modding options
Day 4 - Implement shooting and destruction system - Post-process shader program added
- Grid and render texture functions have been improved
- No projectile/destruction system introduced
Day 5 - Add environment (from asset store?) - Post-processing has been refined
- Weapon/Projectile system and simple destructions are included now
- Environmental visualization has not been addressed
Day 6 - Write "AI" scripts for enemy behaviour
- Integrate scoring system
- An environment was added
- Simple scoring system has been implemented
- Projection to 2D grid was refined
- First attempt to integrate spline movement
- Research for asset loading capabilities
Day 7 - Include sounds and music
- Refine shading system
- Spline movement between way points fully integrated
- Background music inserted
- Shoot and hit sound effects added
Day 8 - Build framework including menus - Movement of the environment added on
- Level abstraction and loading functionality assembled
Week 3 – Investigate releasing options
- Test, fix and improve
Day 9 - Level loading refined
- Colors mapped to Commodore 64 palette
Day 10 - Environmental shader for harder edges added
- Started to replace color palette constants by grading texture map
Day 11 - Finished to replace color palette constants by grading texture map
- Trying various combinations of environmental and post-process shader properties
Day 12 - Environment rendering for stage two simplified
- Directional alignment adapted to grid
- Indirect movement by mouse positioning introduced
Day 13 - Publish prototype - Vital energy for objects introduced
- Sounds can be played using an identifier
- Player is destructible and will respawn after some time
- NO DEMO HAS BEEN PUBLISHED!

I will amend and adjust items, when the right time has come.

The passion


If you read my last post, you may recognize that I went from a full time game developer to a software architect, who has professionally little to do with computer games. And I regret that very much. So I decided to take a break and defer my current projects for nearly three weeks. In that time I want to create and publish a new game prototype, which means that I am planning to develop a fully playable demo version as polished as possible in thirteen workdays. The result will be the foundation for improvements, advancements and experiments whenever I find time for it. But for now I am focusing the prototype and the time span is very short for a game, which should generate more fun than frustration. I am not practiced in small projects anymore so I have to be very disciplined to reach my self-defined goal. But even if my intention fails, I will have improved my skills and will have done some research for a current project of our studio.

The prototype

The idea for the game emerged about five years ago and although there is already a published game, which assembled the most innovative core feature in the meantime, it belongs to the RPG genre. My prototype will be a Shoot’em Up (or “shmup” for short) and I call it “Project: Evolution”. The player will control a aircraft (most likely a space ship) and has to fight against appearing waves of enemies. A very familiar representative is “Space Invaders” from 1978.
For my prototype I am aligning for a subsequent time but not for a single spot. In the first level you look from the top down to your ship and the scenery. That will change to a bird’s view in the second and side perspective in the third one. And that is not all, which is changing. Screen resolution, color depth, graphical complexity and even player control will increase from stage to stage. At first you may only see ships and stars, then some kind of blocky space station exterior and at last you will enter one displayed using fantastic parallax scrolling. Everything should look like 2D pixel art from “Zaxxon“, “R-Type” and other similar hits from more than two decades before.
As you might see the project is showcasing some of the evolution of the genre and that is the origin for the name. The concept is kind of similar to the earlier mentioned role-playing game named “Evoland“.

Free spaceship fighter
Free spaceship model by CgPitbull

The execution

Three years ago I started to develop the basic technology once before. It was written in XNA to be able the run the game on an Xbox 360, PC and maybe Windows Phone. But now XNA is dead and I favorite a more common opportunity called “Unity“. It became a famous game engine and I need a well established one to realize my tight time schedule whereas I must give up technical control, because the source code is not available to me and so a lot of work is done in a black box. In return I can rely on an optimized and tested base, which is working on nearly all important gaming platforms, and I save much time in not needing to develop fundamental technology.
Even though the prototype may only show two-dimensional graphics, every art source should exist as 3D model. I want to render those to textures and modify them using shaders with specific adjustments for every stage. That creates a distinctive design in the advancing look and saves me hours on pixelating sprites several times. Moreover it should make the game moddable in an easier way because I am already planning to support that in the demo, but it is the largest variable in my schedule. It should allow players to some kind of recreate their favorite Shoot’em Ups from the past or to build completely new ones. And there is another feature, which is only possible with three-dimensional base material, but I will not include it yet so that is something to tell you about in the future.

The insight

As you can realize I am not only trying to make the final game known, I also try to generate public awareness for the development by writing about it before it starts. And I will extend my efforts when it has begun by posting tweets, publishing screenshots, summarizing collected experience and maybe streaming the progressing results. Everybody, who is interested to be up to date, should have a look on my Twitter and my public Facebook account. Not everything will land on this blog but everything here will be linked on the social networks.
Why will I devote so much time for social interaction, when I could spend it for development instead? First and foremost I want to generate buzz for the release of course. I reckon that is very hard but maybe I will be in luck. Secondly I hope to get support from the community and I want to give some help back by making my information public available. And at last I would like that people are getting interested in modding the game as soon as the prototype is being released.

The release

I am planning the publish the prototype at the last day. Perhaps it only appears as a browser game on a site like “Kongregate” but I will also investigate in the options to bring it to the “Windows Store” or the “Windows Phone Store“. The reason for preferring Windows over Android and iOS is simply because my Unity license includes export options for “Windows (Phone) 8” but not for the other two. Still there are a lot of time consuming things to pay attention to to get released on an app marketplace. So I do not know if I am able to accomplish it in my short time frame.

The development will start on Wednesday, March 26th, 2014!

 

What did I do since 2008?

Five and a half year have been passed since the last real content appeared here on the blog. Ok, there was video post in between but that was 2010. Now we have got the year 2014, time elapsed so fast and I had a lot to do along the way. In 2008 and 2011 two daughters were born and children are very engrossing you. Because I am entrepreneur my profession is also very time consuming, so a lot of spare time jobs like this weblog had to be missed out. Today I will try to outline some of the interesting things I did in the last years.

Driving Simulator 2009 cover Tow Truck Simulator cover Driving Simulator 2011 cover Driving Simulator 2012 cover Driving Simulator 2013 Edition cover Camper driving simulator

As you can see at the video in “Driving Simulator for Caravan Trade Fair” I had something to do with simulation software to virtually drive cars. Originally developed as a driving school product for the end-user market, the “Driving Simulator 2009” had been completed as a casual game simulator, because after the first “Farming Simulator” the popularity of that genre was growing fast… at least here in some parts of Europe. You could choose between three car type and drive them free through town, a village or over high- and freeways or solve missions in various story lines. With free DLC we enhanced it by two new cars, a race circuit and some technical improvements. One year later a simulator, in which only tow trucks can be used, followed. It was the idea of our publisher Astragon and the complex interconnected physics of the crane, which were really simulated using PhysX like the driving, too, turned out as the highest difficulty in that project. The game generated random jobs, which put on weight later, and you could earn money for successfully completing them. But you have to avoid damage and pay attention to traffic rules. With enough wealth you are able to purchase better trucks. The game was situated in a complete new city and could be enhanced by the scenery of the first product. For 2011 we went back to free driving, predefined and randomly generated mission and included certain vehicles for special jobs like police, ambulance, truck, motorbusses, racing cars and a third diversified town. In 2012 we added off-road vehicles and a suitable pit. Furthermore all previous sceneries were bundled into one package. The 2013 edition closed the circle and incorporated practical driving school lessons and a district for compact exercise possibilities. All routes were created dynamically, so one or more repetitions of a lesson do not result in boredom. A theory test was also included in the German version.

 

As much as it may sound I only worked a few months of the year on every game. Mainly I spend my office hours on projects for television and sport events. We created a second soccer analysis tool, which later had been named “tvSOCCER” by our client company Swiss Timing. At the UEFA Euro 2008 it was used by the Austrian broadcaster ORF to show virtual frozen shots or animated scenes from matches in the break or the debriefing. Until 2009 the software had been enhanced by the ability to cut out real players as cardboard figures from one or multiple camera images of the same time. The leftover was projected onto the playing field or being replaced by a virtual stadium. And in the resulting model the camera view could be modified and animated, explanatory drawings could be displayed and figures could be moved. At first those features were used by the public German broadcaster ARD and subsequently by the German and Austrian Pay TV channels of Sky. With the addition to show interactive player lineups our program was brought into operation at the 2010 FIFA World Cup for the ORF, again.

Around 2010 we wanted to enhance “tvSOCCER” by automatic camera and player tracking. A lot of code had been developed and the camera detection functionality could already be used but it was not already real-time optimized, when our client decided to shift our right evolved image processing power to new fields. First we had to create a generic runtime solution, which is able to perceive the camera movement between video frames. That was done on GPU using CUDA.
Afterwards we continued with the detection of athletes in alpine skiing and at last with curling stones. The skiing project had already been tested but the curling one was actually on duty for the OBS at the 2014 Winter Olympics in Sochi.

Curling stone dection preview of the runtime Operating curling stone tracking

And there is another large project. It is the one, which claimed most of my time in the last two years and its name is still not official. So I will only call it “scoreboard system”. What does it do? It is a system, which has the ability to show scores on a board. That doesn’t sound sensational, does it? Well… And it does not look spectacular, too. Ok, it is a little bit more than it may sound. It is very flexible. It can receive data from various sources in various formats and the output can be automatically animated, if elements are changing or a time line is advancing. Videos from files and streams can be integrated. Photoshop files can be loaded as dynamic elements, where texts and image are being swapped and moved. Other than that there is an editor to create and manipulate layouts and connect elements to data inputs. And all of the two-dimensional stuff is computed and rendered in 3D space so the layouts or effects can easily be upgraded to the next dimension. In addition many, many small things have to be done and the system should run days without disruption.

Scoreboard at World Games 2013 in Cali   

While I primarily did graphics programming and some mission scripting in the “Driving Simulator” series, I was the main architect and implementer of “tvSOCCER” and the “TigerHeart” engine. I also created the first working application framework of the scoreboard system and now I am still responsible for visualization and runtime code and the basic integration of many new features. For the tracking projects I am also architect of the runtime and its external connections and I am porting Java to C++ code and optimizing the results for realtime usage afterwards.
And there were and are other projects, in which I have only small stake like the board game conversion of ” Hey, That’s my fish!” for Xbox 360 and PC: “Pingvinas“.

"Pingvinas" on Xbox Marketplace

Lightrock Entertainment is coming back!

For the upcoming release of Media Seasons “Driving Simulator” the title Lightrock Entertainment is being reactivated as a consumer label for entertainment software.

This also means that this weblog is being moved to a sub-path of www.lightrock.biz. Stay tuned…

Six days of congress and trade show

From Monday until Saturday I participated in the “GCDC” and the “Games Convention“.

The developer congress was very interesting and partially educational. For me the most entertainment lecture was the keynode by David Perry, who had integrated a lot of photos and useful statistics (Sony has lost more money on the Playstation 3 than they had earned with the Playstation 2 while its five year peak before), and the most valuable speech was “Driving DirectX in a parallel World” by Leigh Davies.

About future gaming graphics Making of Gears of War 2

At Wednesday evening I went to see “Video Games Live“, which was the official opening concert for the “Games Convention” trade show this year. It was very entertaining but I had seen nearly all available recordings of former concerts on YouTube before, so that I already knew most of the show components. Unfortunately that led to a reduced amount of goosebumps.

Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008 Games Convention 2008

From Thursday on I have been on the trade show and had a look on a lot of coming games: “LittleBigPlanet“, “Fallout 3“, “Mirror’s Edge“, “Far Cry 2“, “Star Wars: The Force Unleashed“, “Command & Conquer: Red Alert 3“, “Sonic Chronicles: The Dark Brotherhood” and so on. And I had many meetings with different technology vendors to inform me about new ways for our development future.