Johannes 'johno' Norneby's
Too much info at once? Try the paginated version.
I am very proficient in C/C++ and have been programming seriously since 1994. I initially became very enamoured of Object Oriented Programming (OOP) and Design Patterns (the original Gang of Four book), but have since come become very sceptical as to whether OOP actually added any value, especially in the field of game development, so I am currently tending to program much closer to straight procedural C in most cases.
When it comes to methodologies, some people are now saying that Agile is Dead. In any case I have found that You Can't Stop the Change in software (hey, it's SOFT!), so I tend towards simplicity and minimalism. I am extremely effective and result oriented, probably stemming from the fact that my interest in programming is largely based upon an interest in game design on a practical level. I am not a technology-fetischist, but rather thrive on creativity and the satisfaction of project completion.
I view myself as a highly competent programmer in all areas of game development, and have extensive programming and architectural experience in:
I also have some experience in the following fields:
Besides my interesting in games, gaming and programming, I spend a large part of my free time working on various musical pursuits (both as a player and a writer). I sing and have played guitar and piano for about 25 years, have played in many bands and Broadway-musical-style contexts, and have written a great deal of music in a number of genres.
My instrumental / musical / audio production experience includes:
I joined WaVR Tech AB in late 2016 to work on the latest wave of Virtual Reality technology. I wrote the foundation for a completely bespoke C/C++/OpenGL codebase targeting Android, OpenVR, and Windows desktop, and that stuff powers AVEM33 and AVEM888. I also continued work at nornware AB on development of Space Beast Terror Fright.
In mid 2013 I switched from part time teaching to part time software development as part of new startup called Dreamler AB. Dreamler is building a speculative planning tool based on what is basically gaming technology. The rest of my time was game development with my company nornware AB.
In 2012 I adjusted my commitment to NTI-Gymnasiet in Goteborg to be a 40% gig for the schoolyear of 2012-2013, switching to teaching programming courses (Web Server Programming in PHP / Programming in Flash AS3). The remaing 60% was all game development in my company nornware AB, releasing an updated version of Bloom in July of 2012.
During this period I worked part time (60%) as a high school teacher in the fields of Database Programming and Multimedia / Desktop at NTI-Gymnasiet in Goteborg. As a first time teacher on this level of education I found this kind of work both challenging and rewarding, as it is largely a social / motivational undertaking. I am happy to say that this job has made me realize that I truly "like people", and especially working with developing the potential of young people.
As part of my school work I spent a lot more time programming Flash / AS3; I worked on a small game together with two talented students during the first weeks of 2012 called TP-Man Nightmare. This in turn has allowed me to pursue further consultancy work for clients like Pet Factory.
2010 saw the beginning of development of my first "professional grade" indie game UfoPilot : Astro-Creeps Elite in collaboration with artist Jonas Dahlin. We published UfoPilot : Astro-Creeps Elite on BeamDog on the 8th of March 2011 (it was later released on Steam).
I started my games company nornware AB in early 2011 as a platform for all my current and future games. In addition to UfoPilot : Astro-Creeps Elite I released a new and improved version of UfoPilot : The Phadt Menace - Special Edition in August of 2011.
I have been self-employed since April of 2008, and have done consultancy work for game industry clients such as (the now defunct) Jungle Peak Studios and StarVault, as well as audio-design work and software coaching for Pet Factory. I have lectured several times on the topics of game design and programming at both the Kalmar University and School of Future Entertainment in Karlshamn.
During the autumn of 2008 I held courses in both network / multiplayer programming and agile development technologies at GameMaker in Arvika, Sweden. I also developed Java based web games for Jungle Peak Studios during that period, as well as visual effects plugins for FilmGate.
2009 also saw my continued involvement in Spell of Play Studios, furthering development on collaborative and personal game projects, as well as doing audio and music production (among other things the song Bärs é Livet, available on Spotify and iTunes). Some work was also done on a book in the field of software engineering / game development.
I was involved in the company Spell of Play Studios in my spare time from late 2005 to early 2010. Spell of Play is a small gaming studio that develops games for the Windows platform, run as an informal design collective. We developed a digital distribution platform called hUb based entirely on open-source software, offering a growing number of both free and commercial games.
Spell of Play is interested in what we call "collaborative game development", a process in which the actual customers are heavily involved in the continued development of the games. We released our games early and updated them often, a process made completely seamless and transparent to the end user via the auto-update functionality offered by the hUb platform.
While being involved in many aspects of programming, game and audio design on hUb, I am the sole creator of the games in the UfoPilot series. I have also collaborated with Madeleine Bengtsson on Bloom.
The developers at Spell of Play use primarily C++ and immediate mode techniques as our main client/games-side development tools, as well as utilising PHP/MySQL on cheap commercially available web-hotel backends, a combination that we found to be extremely productive. An interesting detail is that all development has to date been done in a distributed fashion, with team members collaborating from all over Sweden using open-source software (notably SubVersion and Trac).
While I am still active in the forums at Spell of Play, my current indie game development work is outside the scope of this collaboration.
I joined MindArk in January of 2008 as a programmer on the Entropia Universe project. While working on what is essentially an MMORPG with a unique real-world cash economy was certainly educational in many ways, I quickly began to feel stifled by the inflexibility of the company structure (and technology). I began having serious thoughts about starting my own business, which I finally did in April of 2008.
In June of 2007 Jungle Peak chose to cancel all game related development, and I left the company to start working as System Engineer at Wireless Car, a telematics service provider. At Wireless Car I was involved in maintenance of the Java EE based software that supports the services provided by the company. However, due to my passion for games programming and need for creativity I chose to leave the company in January of 2008 to once again try my hand at game development.
During my time at Wireless Car, I have gained deeper insight into the Java EE platform and web applications in general, and have been able to feed this knowledge back into betterment of both tools and community features used in the continued development of the hUb platform at Spell of Play Studios. I believe diversification of this kind has enabled me to make better choices when it comes to choice of technology for various software tasks (for example, using PHP and IMGUI techniques to implement this website).
In early 2006 I accepted the job of Senior Lead Programmer at the now defunct Jungle Peak Studios. During the year that followed I led the development of a game prototype (Jungle Bowl) based on Epic Games Unreal 2 technology (a "mod"), worked on the design and implementation of proprietary game engine based on Microsoft DirectX 9 / HLSL / C++, and also a number of small web games and applications in Java.
In October of 2004 I was recruited by DICE in Stockholm for the role of Programming Development / Technical Director. This involved leading the programming effort on a next-generation game project for PC / XBox 360 / Playstation 3. However, I soon found that my own experience and views on game development were incompatible with those of DICE as a company (this was during the corporate takeover by Electronic Arts), and I chose to leave the company in May of 2005.
During the remainder of 2005 I indulged in my another personal passion, namely music. I started the band UP which played various venues in and around the Gothenburg area with good success.
At Massive Entertainment I became a central figure in the design and implementation of the company's first Real-Time-Strategy (RTS) game Ground Control, from the start of the project in 1997 until completion in June of 2000. Thereafter Massive moved to Malmo, Sweden, and I was promoted to the position of Technical Director. In that role I was responsible for the design and maintenance of the company software framework/toolkit, the basis of all software projects within the company, as well as the company code standard. In 2000 I led the team that aided an external developer in the implementation of Ground Control : Dark Conspiracy. During 2001-2002 I was Lead Programmer on the project Dromjobbet i Rosemond Valley, a shopping-mall simulator that was localized to several european languages.
In early 2002 Massive was purchased by Vivendi Universal Games International, and the development of Ground Control 2 commenced in earnest. I was involved in the design and implementation of the project's world/mission editor (XED), further developed the company codebase and proprietary scripting/data language Juice/Ice (previously designed by me during the Rosemond Valley project), designed and implemented a system for build automation / content management, as well as designing the initial version of MassGate, a system of online services for use in Ground Control 2 as well as in future projects.
In the spring of 2003 I was asked to take over the role of Lead Programmer on Ground Control 2, which involved managing the programming team (10 programmers). The project was completed in June of 2004. Thereafter I resumed my earlier role of Technical Director, further developing the company's internal processes and doing research into various object-oriented database and persistence solutions.
While I was born in Sweden in 1975, my family moved to Alberta, Canada in 1977 and remained there until 1989. Hence my native tongue could be said to be English, but I am equally fluent in both English and Swedish.
My higher educational background is 3-year Technical High School (Computer Sciences, 1991-1994), with an additional year of Graphic Design (1994-1995). After mandatory Swedish military duty (1995-1996) I enrolled in the Software Engineering program at Blekinge Institute Of Technology and completed the first year of the 4 year masters program (1996-1997). At that time I left school and joined the newly started Massive Entertainment, at that time situated in Ronneby, Sweden.
Even though my formal studies have come to an end, I am something of a knowledge junkie who is always interested in learning new things. I consider my education to be a constant process.