Help
RSS
API
Feed
Maltego
Contact
Domain > aggrogames.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-12-15
172.67.198.70
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Mon, 15 Dec 2025 04:38:26 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveAccess-Control-Allow-Origin: *Cache-Control: public, max-age0, must-revalidatereferrer-policy: strict-origin-when-cross-originx-content-type-options: nosniffVary: accept-encodingReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sX6lKMarRM5xE3GJUCzeOwqtFcgL%2ByJ3wUnRln1U%2Bpku3cTO7RoDR76YI%2F5Z5XaksaXWolc19eh97f56C4idkDMaq9ZdMJKomzCex9A%3D%3D}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflarecf-cache-status: DYNAMICCF-RAY: 9ae34061ff8fb18c-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Aggro Games - Player-First Indie Game Development/title> !-- SEO Meta Tags --> meta namedescription contentSolo indie game developer creating complete gaming experiences without loot boxes, pay-to-win, or paid DLC. Fair pricing, player-first design, free expansions.> meta namekeywords contentindie game developer, solo game dev, no loot boxes, no pay-to-win, fair pricing, ethical gaming, player-first games, no paid DLC, free expansions, indie games> meta nameauthor contentAggro Games> meta namerobots contentindex, follow> !-- Open Graph / Facebook --> meta propertyog:type contentwebsite> meta propertyog:url contenthttps://aggrogames.com/> meta propertyog:title contentAggro Games - Player-First Indie Game Development> meta propertyog:description contentSolo indie game developer creating complete gaming experiences without loot boxes, pay-to-win, or paid DLC. Fair pricing, player-first design, free expansions.> meta propertyog:image contenthttps://aggrogames.com/aggro_games_logo.png> meta propertyog:site_name contentAggro Games> !-- Twitter --> meta nametwitter:card contentsummary_large_image> meta nametwitter:url contenthttps://aggrogames.com/> meta nametwitter:title contentAggro Games - Player-First Indie Game Development> meta nametwitter:description contentSolo indie game developer creating complete gaming experiences without loot boxes, pay-to-win, or paid DLC. Fair pricing, player-first design, free expansions.> meta nametwitter:image contenthttps://aggrogames.com/aggro_games_logo.png> meta nametwitter:creator content@AggroGamesHQ> !-- Favicon --> link relapple-touch-icon sizes180x180 href/apple-touch-icon.png> link relicon typeimage/png sizes32x32 href/favicon-32x32.png> link relicon typeimage/png sizes16x16 href/favicon-16x16.png> link relcanonical hrefhttps://aggrogames.com/> link hrefhttps://fonts.googleapis.com/css2?familyOrbitron:wght@400;700&displayswap relstylesheet> style> :root { --primary-color: #ea0026; --text-color: #333; --bg-color: #f3f6f6; } body { font-family: Arial, sans-serif; line-height: 1.6; color: var(--text-color); margin: 0 0 2em 0; padding: 0; background-color: var(--bg-color); font-size: 18px; } header { background-color: var(--primary-color); color: var(--bg-color); text-align: center; padding: 2em 0; margin-bottom: 2em; box-shadow: 0 4px 6px rgba(0,0,0,0.1); width: 100%; } .logo { width: auto; height: 200px; margin-bottom: 1em; } .social { width: auto; height: 50px; margin: 0.2em 0.2em 0.5em 0.2em; } h1 { margin: 0; font-size: 3em; text-transform: uppercase; letter-spacing: 2px; font-family: Orbitron, sans-serif; } h2 { color: var(--primary-color); border-bottom: 2px solid var(--primary-color); padding-bottom: 0.5em; font-family: Orbitron, sans-serif; } main { max-width: 1000px; margin: 0 auto; padding: 0 2em; } .social-links { display: flex; justify-content: center; gap: 20px; margin-top: 2em; } .social-links a { color: var(--primary-color); font-size: 1.5em; transition: color 0.3s ease; text-decoration: none; } .social-links a:hover { color: #c70020; } .unicode-icon { font-size: 1.2em; margin-right: 0.2em; } .values-list { list-style: none; padding-left: 0; } .values-list li { margin: 0.8em 0; padding-left: 1.5em; position: relative; } .values-list li:before { content: ✓; color: var(--primary-color); font-weight: bold; position: absolute; left: 0; } @media (max-width: 768px) { main { padding: 0 1em; } } /style>/head>body> header> img srcaggro_games_logo.png altAggro Games Logo classlogo> h1>Aggro Games/h1> p>span classunicode-icon>▶/span> Making games the way they should be made/p> /header> main> section> h2>span classunicode-icon>✦/span> About/h2> p>Aggro Games is an indie passion project dedicated to creating games the way they should be: complete, fair, and focused entirely on player enjoyment./p> p>No loot boxes. No pay-to-win mechanics. No psychological tricks designed to drain your wallet. Just a genuine love for gaming and a commitment to treating players with respect./p> p>span classunicode-icon>⚔/span> This is a solo endeavor—one developer pushing back against industry trends that prioritize profits over players, where every design decision stays true to the vision: making games that are actually fun./p> /section> section> h2>span classunicode-icon>⚙/span> Whats Being Built/h2> p>The debut title is currently in development. One purchase, complete experience—no paid DLC, no premium currencies, no paywalls. Future expansions will be free./p> /section> section> h2>span classunicode-icon>⚖/span> Core Values/h2> ul classvalues-list> li>Fair pricing with zero hidden costs/li> li>No paid DLC or premium currencies/li> li>Player feedback shapes development/li> li>Honest, transparent communication/li> li>Fun over monetization, every single time/li> /ul> /section> section> h2>span classunicode-icon>➤/span> Join the Journey/h2> p>Building games solo means staying true to the vision without compromise. Follow along to see development updates, behind-the-scenes work, and proof that indie developers can create memorable experiences while respecting players./p> p>Your support and feedback help make this possible./p> /section> div classsocial-links> a hrefhttps://www.facebook.com/aggrogamesofficial target_blank>img srcsocial-facebook.png altFacebook classsocial>/a> a hrefhttps://www.instagram.com/aggrogameshq/ target_blank>img srcsocial-instagram.png altInstagram classsocial>/a> a hrefhttps://www.youtube.com/@AggroGames/ target_blank>img srcsocial-youtube.png altYoutube classsocial>/a> a hrefhttps://x.com/AggroGamesHQ target_blank>img srcsocial-x.png altX / Twitter classsocial>/a> a href/support>img srcsocial-contact.png altContact Us classsocial>/a> /div> /main> script> document.addEventListener(DOMContentLoaded, function() { const canvas document.createElement(canvas); const ctx canvas.getContext(2d); document.body.appendChild(canvas); const pixelRatio window.devicePixelRatio || 1; let canvasWidth, canvasHeight; function updateCanvasSize() { canvasWidth window.innerWidth; canvasHeight window.innerHeight; canvas.width canvasWidth * pixelRatio; canvas.height canvasHeight * pixelRatio; canvas.style.width canvasWidth + px; canvas.style.height canvasHeight + px; ctx.scale(pixelRatio, pixelRatio); } updateCanvasSize(); canvas.style.position fixed; canvas.style.top 0; canvas.style.left 0; canvas.style.pointerEvents none; canvas.style.zIndex 9999; let pointer { x: 0, y: 0, lastX: 0, lastY: 0 }; let particles ; let headerHeight; let lastTime performance.now(); let isTouch false; function updateHeaderHeight() { headerHeight document.querySelector(header).getBoundingClientRect().bottom; } updateHeaderHeight(); function createParticle(x, y, speed) { const maxSpeed 300 / pixelRatio; const minSpawnRate 0.5; const maxSpawnRate 2; const spawnRate minSpawnRate + (maxSpawnRate - minSpawnRate) * Math.min(speed / maxSpeed, 1); const particlesToSpawn Math.floor(spawnRate); for (let i 0; i particlesToSpawn; i++) { particles.push(new Particle(x, y)); } } function handlePointerMove(e) { const currentTime performance.now(); const dt (currentTime - lastTime) / 1000; lastTime currentTime; pointer.x isTouch ? e.touches0.clientX : e.clientX; pointer.y isTouch ? e.touches0.clientY + window.scrollY : e.clientY + window.scrollY; const dx (pointer.x - pointer.lastX) / pixelRatio; const dy (pointer.y - pointer.lastY) / pixelRatio; const speed Math.sqrt(dx*dx + dy*dy) / Math.max(dt, 0.016); createParticle(pointer.x, pointer.y, speed); pointer.lastX pointer.x; pointer.lastY pointer.y; } document.addEventListener(mousemove, (e) > { isTouch false; handlePointerMove(e); }); document.addEventListener(touchstart, (e) > { isTouch true; pointer.x e.touches0.clientX; pointer.y e.touches0.clientY + window.scrollY; pointer.lastX pointer.x; pointer.lastY pointer.y; }); document.addEventListener(touchmove, (e) > { handlePointerMove(e); }, { passive: true }); class Particle { constructor(x, y) { this.x x; this.y y; this.size (Math.random() * 8 + 2) / pixelRatio; this.speedX (Math.random() * 3 - 1.5) / pixelRatio; this.speedY (Math.random() * -3 - 1) / pixelRatio; this.gravity 0.1 / pixelRatio; this.life 200; this.opacity 1; this.color this.getInitialColor(); this.isWhite this.color #ffffff; } getInitialColor() { return this.y headerHeight ? #ffffff : #ea0026; } update() { this.speedY + this.gravity; this.x + this.speedX; this.y + this.speedY; if (this.isWhite) { if (this.y + this.size > headerHeight) { this.y headerHeight - this.size; this.speedY * -0.5; this.speedX * 0.9; } } else { if (this.y + this.size > canvasHeight + window.scrollY) { this.y canvasHeight + window.scrollY - this.size; this.speedY * -0.5; this.speedX * 0.9; } } if (this.x + this.size > canvasWidth) { this.x canvasWidth - this.size; this.speedX * -0.5; } else if (this.x - this.size 0) { this.x this.size; this.speedX * -0.5; } this.life--; this.opacity this.life / 200; if (this.size > 0.2 / pixelRatio) this.size - 0.03 / pixelRatio; } draw() { ctx.save(); ctx.globalAlpha this.opacity; ctx.fillStyle this.color; ctx.beginPath(); ctx.arc(this.x, this.y - window.scrollY, this.size * pixelRatio, 0, Math.PI * 2); ctx.fill(); ctx.restore(); } } function animate() { requestAnimationFrame(animate); ctx.clearRect(0, 0, canvas.width, canvas.height); for (let i 0; i particles.length; i++) { particlesi.update(); particlesi.draw(); if (particlesi.life 0 || particlesi.size 0.2 / pixelRatio) { particles.splice(i, 1); i--; } } } requestAnimationFrame(animate); window.addEventListener(resize, function() { updateCanvasSize(); updateHeaderHeight(); }); updateCanvasSize(); updateHeaderHeight(); }); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]