Sachverhalt: A. Die A._ AG (Klägerin, Beschwerdeführerin) bezweckt die Erbringung von Dienstleistungen auf dem Gebiet der Strategie- und Finanzberatung sowie Erwerb, Halten und Vergabe von Lizenzen. Die B._ AG (Beklagte, Beschwerdegegnerin) ist ein Unternehmen, das auf Erwerb, Entwicklung und Verwertung von Software sowie auf den Handel mit EDV-Produkten spezialisiert ist. Die Klägerin war von der A._ Holding AG als 100 % Tochtergesellschaft gegründet worden. Die damalige B._ Holding AG hielt seit Herbst 2006 49 % der Aktien der Klägerin. Die restlichen 51 % sind bei der A._ Holding AG. Die Beklagte war bis Juni 2016 eine 100 % Tochtergesellschaft der B._ Holding AG, bevor sie deren Aktiven und Passiven durch Fusion übernommen hat. Die Parteien schlossen am 9. Februar 2006 einen Projektvertrag ab (nachfolgend: Projektvertrag), der einen früheren Projektvertrag "Greenax/Pegasus" ersetzte. Danach hatte die Klägerin Entwicklungskapazitäten für Softwareentwicklungsleistungen gemäss detailliert definierter Projektbeschreibungen zur Verfügung zu stellen. Hintergrund dieser Vereinbarung war gemäss Präambel des Vertrages was folgt: "B._ AG [= Beklagte] entwickelt seit Jahren erfolgreich Lösungen im ERP-Bereich und evaluierte in den letzten Monaten die Möglichkeiten, für die Softwareentwicklung Entwickler im Ausland beizuziehen. Im vorliegenden Fall konkret sollen Softwarekomponenten nach detaillierten Vorgaben von B._ AG unter Nutzung von B._ Frame und B._ Solution auf Arbeitsstationen von B._ AG in U._ via Remote Access durch Softwarespezialisten in V._ entwickelt werden. A._ AG [= Klägerin] ist eine 100% Tochter der A._ Holding AG in W._. Die A._ Holding AG besitzt in V._ zu 100% die Softwareentwicklungsfirma C._ Ltd. Die Geschäftsführung von C._ Ltd wird vom Geschäftsführer von A._ AG wahrgenommen. B._ AG und A._ AG planen, zukünftig im Bereich der Softwareentwicklung eng zusammen zu arbeiten. Dabei wird A._ AG als Beauftragte von B._ AG im Voraus genau definierte Softwareentwicklungskapazitäten durch die von A._ AG beauftragte Schwesterfirma C._ Ltd in V._ zur Verfügung stellen und Softwareentwicklungsleistungen unter enger Koordination durch B._ AG durchführen lassen. [...]" Der Projektvertrag sah eine Kündigungsfrist von 60 Tagen jeweils auf ein Quartalsende vor (Ziff. 13). Unter "Weitere Bestimmungen " heisst es in Ziffer 16 Abs. 2 sodann: "Ergänzungen und Veränderungen dieser Vereinbarung bedürfen zu ihrer Gültigkeit der Schriftform und der Unterzeichnung durch beide Vertragsparteien. Auch dieses Schrifterfordernis kann nur durch schriftliche Vereinbarung aufgehoben werden". In der Folge wurde die Softwareentwicklungskapazität bei der Klägerin unter dem Projektvertrag von ursprünglich 10 bzw. 15 Mitarbeitern im Jahre 2006 laufend erhöht, so dass diese im April 2013 53.2 Softwarespezialisten umfasste. Mit Schreiben vom 3. April 2013 hielt die Beklagte gegenüber der Klägerin was folgt fest: "Hiermit bestätigen wir Ihnen die Zusammenarbeit mit der A._ AG bis mindestens Ende 2017 und sichern Ihnen zu, die Kooperation mindestens im bisherigen Rahmen weiterzuführen". Bereits mit Schreiben vom 6. September 2011 und mit Schreiben vom 11. Juni 2012 hatte die Beklagte der Klägerin mit gleicher Formulierung bestätigt, die Zusammenarbeit bis mindestens Ende 2013 bzw. bis mindestens Ende 2015 weiterzuführen. Mit Schreiben vom 23. Dezember 2014 kündigte die Beklagte den Projektvertrag auf den 31. März 2015. Die Klägerin widersetzte sich dieser Kündigung mit Schreiben vom 5. Januar 2015 und hielt fest, die vertraglich vereinbarte Zusammenarbeit sei bis mindestens Ende 2017 einzuhalten. Die Beklagte bezahlte in der Folge die Monatsrechnungen der Klägerin bis und mit März 2015. Diese betrugen, ausgehend von 53 Softwarespezialisten, je rund Fr. 430'000.--. B. Mit Klage vom 12. November 2015 beim Bezirksgericht Willisau beantragte die Klägerin, die Beklagte sei im Rahmen einer Teilklage gemäss Art. 86 ZPO unter Vorbehalt des Nachklagerechts zu verpflichten, ihr Fr. 1'300'263.-- zu bezahlen zuzüglich Verzugszins von 5 % auf je Fr. 433'421.-- seit 1. Mai 2015 bzw. 1. Juni 2015 bzw. 1. Juli 2015. Das Bezirksgericht wies mit Urteil vom 24. August 2017 die Klage ab. Es stellte fest, die Parteien hätten mit Ziffer 16 Abs. 2 des Projektvertrages Schriftlichkeit für die Abänderung des Vertrages vorgesehen im Sinne von Art. 16 i.V.m. Art. 13 Abs. 1 OR. Mit dem Schreiben vom 3. April 2013 sei das Schrifterfordernis seitens der Beklagten eingehalten, nicht jedoch seitens der Klägerin. Es könne auch nicht davon ausgegangen werden, dass das Schriftformerfordernis konkludent aufgehoben worden sei. Auch ein rechtsmissbräuchliches Verhalten könne der Beklagten nicht vorgeworfen werden, wenn sie sich auf die Kündigungsbestimmungen im Vertrag berufe und geltend mache, sie habe nicht auf die Einhaltung der Schriftform für Vertragsänderungen verzichtet. Gegen dieses Urteil erhob die Klägerin am 22. September 2017 Berufung an das Kantonsgericht Luzern. Dieses wies die Klage mit Urteil vom 15. März 2018 ebenfalls ab. Anders als die Erstinstanz erwog das Kantonsgericht, die Parteien hätten mit dem Schreiben vom 3. April 2013 die im Projektvertrag enthaltene Kündigungsregelung geändert und vereinbart, der Projektvertrag solle mindestens bis Ende 2017 fest dauern. Mit diesem Schreiben sei zudem zugesichert worden, dass die Kooperation mindestens im gleichen Rahmen - d.h. auf der Basis von 53 Softwarespezialisten - weiter geführt werde. Die Kündigung vom 23. Dezember 2014 sei aber trotzdem rechtskonform. Der Projektvertrag samt den erwähnten Vertragsanpassungen sei ein gemischter Vertrag. Schwerpunkt bildeten aber eindeutig auftragsrechtliche Komponenten. Deshalb könne er gemäss Art. 404 Abs. 1 OR jederzeit mit sofortiger Wirkung gekündigt werden. Die Klägerin mache mit den gestellten Rechnungen von je Fr. 433'421.-- Aufwand für "nicht benutzte Ressourcen" geltend. Dieser Schaden beruhe auf der Weitergeltung des Vertrages und sei deshalb nicht geschuldet. C. Mit Beschwerde in Zivilsachen vom 7. Mai 2018 beantragt die Klägerin dem Bundesgericht, das Urteil des Kantonsgerichts sei kostenfällig aufzuheben und die Klage sei gemäss den erstinstanzlich gestellten Anträgen gutzuheissen. Eventualiter sei die Sache zu neuem Entscheid an das Kantonsgericht zurückzuweisen. Die Beschwerdegegnerin trägt auf kostenfällige Abweisung der Beschwerde an. Das Kantonsgericht beantragt ebenfalls die Beschwerde abzuweisen, soweit darauf einzutreten sei. Die Parteien haben eine Replik bzw. Duplik eingereicht.