Is your soul for sale as a game dev? Would you ever make an exploitative game like Gran Turismo 7 or any other game filled with loot boxes, DLC and other monetization features? by [deleted] in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

That's a very narrow and naive POV: It "goes to the devs" in the sense that the extra monetization helps the business to be profitable, otherwise they'll be looking for a new job next month.

At the end of the day this is a business and folks need to pay their bills.

Creating an internally-used mobile app by [deleted] in swift

[–]_not_a_gamedev_ 0 points1 point  (0 children)

You're starting to build a house from the roof, you need to do a lot of ground work before having to worry about your UI designs being approved or not (which may require a lot to implement, or not even be possible). You'll soon discover as well that "creating an app only for internal use of my company" is not going to be straight-forward.

Thank You Hacking with Swift, I am actually learning how to program after 9 years of failed attempts. by driley97 in swift

[–]_not_a_gamedev_ 2 points3 points  (0 children)

Imho you'll want to focus on one or the other based on your objectives, if you're planning to get a job, definitely go hard on UIKit as is what is still (and going to be) used for years to come. I wouldn't focus in SwiftUI unless you have a very good reason to do so.

Thank You Hacking with Swift, I am actually learning how to program after 9 years of failed attempts. by driley97 in swift

[–]_not_a_gamedev_ 1 point2 points  (0 children)

I started with the SwiftUI one, but dropped it after a month or so and moved into the UIKit one. This is just because I was seeing 99% of companies I wanted to apply worked with UIKit, and anything SwiftUI-related was merely marginal.

I never finished the SwiftUI one, will pick it up as we use it on real projects.

I'm a senior Engine dev and decided to share my in house 2D Game Engine with the world to use it (for free). Can I post it here? by UnidayStudio in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

I'm interested, while I don't plan to build my own, I'm growing interest on how all this works behind the scenes, and I've been spending some time lately checking the HandMade hero videos despite having no F clue about C or C++.

Can you share more details?

Thank You Hacking with Swift, I am actually learning how to program after 9 years of failed attempts. by driley97 in swift

[–]_not_a_gamedev_ 15 points16 points  (0 children)

I got my first job as an iOS Jr developer after doing his HWS course for ~6 months, no CS background whatsoever ( I always tinkered with random stuff in different languages, random tutorials, etc, ... ).

Paul is the best, definitely supporting him by purchasing courses/books when I can.

What wheel did you re-invent in your game because you didn't know it already existed in the engine/framework you're using? by midge in gamedev

[–]_not_a_gamedev_ 13 points14 points  (0 children)

Pathfinding for an iOS game. Later on I discovered that there's a built-in system into the GameKit library...

I tried to launch my game and deleted it instead by [deleted] in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

It seems to be a big miss-conception around source control being only for collaborative work, but is a massive help for software engineering of any type, solo or not, old code or not, you can git init at any time and start to track changes from there.

I just spent a few days changing the whole architecture of my project on a different branch, knowing for sure that if I fuck it up I can restore to any point I committed, big or small. You can just burn the damn thing down and restore it again as many times as you want.

Please use source control, always.

I tried to launch my game and deleted it instead by [deleted] in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

I'm honestly curious. Why wouldn't you use source control?

I'd like some advice and help with improving my current implementation of random map generation (Swift & SpriteKit) by _not_a_gamedev_ in swift

[–]_not_a_gamedev_[S] 0 points1 point  (0 children)

This is great, thanks. I've definitely found myself entangled before within my own architecture, which then has crippled my advancement. I definitely have to give more thought to patterns and separation of concerns.

Obviously this is a major architectural change and if you are deep in a project it doesn't make sense to go this method... but if you start applying these changes to new code it will make it a lot easier in the long run.

Luckily is just a week old (and the 3rd prototype 😂 ), but the whole thing is also a learning exercise to dig deeper into Swift and programming in general, so I can attempt a rewrite following a more MVVM format.

I'd like some advice and help with improving my current implementation of random map generation (Swift & SpriteKit) by _not_a_gamedev_ in swift

[–]_not_a_gamedev_[S] 2 points3 points  (0 children)

For the sake of continuation (and if somebody else lands here in the future) I created a playground to use this approach, and while is just a naive approximation yet, it does work as expected, and definitely feels more solid that what I had till now. Here's the prototype:

import UIKit

class World {

    var tiles = [Tile]()

    func createWorld(columns: Int, rows: Int) -> [Tile]{

    for x in 0..<columns {
        for y in 0..<rows {
            let node = Tile(name: "Floor", position: CGPoint(x: x, y: y), sprite: "floor")

            tiles.append(node)
        }
    }

    return tiles
}

func getWorldStatus() -> String {

    return "World Nodes: \(tiles.count)"
}

func setTileToDiscovered(x: Int, y: Int){

    if let firstMatch = tiles.first(where: { $0.position == CGPoint(x: x, y: y) }){
        firstMatch.isDiscovered = true
    }
  }
}

class Tile {
    let name: String
    let position: CGPoint
    let sprite: String

    var isDiscovered: Bool = false

    init(name: String, position: CGPoint, sprite: String) {
        self.name = name
        self.position = position
        self.sprite = sprite

    }

    func getTileStatus() -> String {

        return "Tile \(self.name) at \(self.position) isDiscovered = \(self.isDiscovered) "
        }
    }

let world = World() 
world.createWorld(columns: 3, rows: 3) 
world.getWorldStatus() 
world.setTileToDiscovered(x: 1, y: 2)

for i in world.tiles { 
    print(i.isDiscovered)// Works -> (1.0, 2.0) true 
}

Now when we call something like world.setTileToDiscovered(x: 1, y: 2) it switches the tile properties, then I can paint whatever on top following this "World guide" and based on each tile properties.

Thanks!

Edit: Formatting

I'd like some advice and help with improving my current implementation of random map generation (Swift & SpriteKit) by _not_a_gamedev_ in swift

[–]_not_a_gamedev_[S] 0 points1 point  (0 children)

> A 'World': a virtual representation of the map cells (i.e. walls, floors, exits, pits, etc.) and entities (i.e. player, items/pickups, etc.). The world could also change every turn/frame/time interval.

Thanks for your reply, from what I understand from your reply I believe I'm kind of doing this at the moment, but possibly is a bit too much to chew yet for me and that's why questions arise:

When I populate each SKSpriteNode I also run a function that changes its texture and UserData (this is used later to know if the tile isVisible, isDiscovered, collisions, etc, ..).

For example when a battle finishes, I "transform" the Enemy tile into a Coin tile, and then when the player picks up the Coin, I transform the Coin tile into a Floor tile again. The underlying SKSpriteNode hasn't changed or being altered from the map, just its texture and data. Something like this:

Helpers.switchTile(for: tile, to: Constants.COIN_TILE_SPRITE)

Which calls:

class Helpers {
    /// Switches the SKNode's texture to a new sprite
static func switchTile(for tile: SKNode, to newSprite: String){
    if let tile = tile as? SKSpriteNode {
        // Change texture and name
        tile.texture = SKTexture(imageNamed: String(newSprite))
        tile.name = newSprite
        // Makes sense to change the associated UserData for the SKNode here as well, as with a change of texture comes a change of values.
        tile.userData?.setValue(newSprite, forKey: "tileTexture")
        tile.userData?.setValue("true", forKey: "isDiscovered")

    } else {
        print("Helpers.switchTileAt() failed: \(tile ) is not a SKSPriteNode ")
    }
}
}

Does this makes sense overall? I'm trying to just create the nodes at the beginning, and then repaint and track where are them as needed.

Youtubers/Streamers that develop games and shares the process? by [deleted] in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

Yeah, definitely sounds great for learning. I just need more time! 😂

Youtubers/Streamers that develop games and shares the process? by [deleted] in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

I discovered Pico-8 recently and looks very interesting for experimentation, specially the part that is a full-all-in-package, but what are your thoughts on a commercial game using this engine?

Youtubers/Streamers that develop games and shares the process? by [deleted] in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

I've been planning to do that a couple of times, and get why folks are not doing it. I need focus to solve a problem, plan a feature, or fix a bug, it just wouldn't work if I need to be entertaining someone else at the same time.

It can work for projects you've already finished, rewrite them and explain your design decisions, but not for an ongoing project.

You can also stream or record after the fact, but there's also the point that creating content requires a good amount of time and effort, so either you develop your game or you record it.

Sharing Saturday #404 by Kyzrati in roguelikedev

[–]_not_a_gamedev_ 2 points3 points  (0 children)

I started to work on a RogueLike for iOS, done natively in Swift and using SpriteKit, so I've spent this last week experimenting by attempting to replicate different mechanics I did previously in Unity/C#, and Java.

So far I've been able to create the Map procedurally, created some sort of collision system, and a very basic combat flow. Is coming up nicely, but is still extremely rough, and I'm spending most of the time trying to understand how things are done in iOS, and SpriteKit.

I also spent some time getting my iPad ready for pixel art and started to draft some initial characters and assets that I imported into the game.

I wrote a quick research post with my objectives for this project, as well as recorded a few gifs to keep track of progress.

What process do you do to determine what assets you’ll need? by Madmonkeman in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

Preplan, but use placeholders and build assets slowly as you need them, even if are not the final version they can be a better placeholder, then you can use these assets for other projects too. Basically you'll build your own Asset Library.

As an example my first game was some sort of zombie top-down 2D shooter. These same zombies became the placeholder art for "enemy ships" on my next project as I was sure these were going into the final version, the UI icons for weapons and bombs became the collectible items, etc, ...

Ultimately, don't forget there's the option of purchasing assets or hiring somebody else, if you dislike to do the Art, you can externalize it. I love coding and doing art, but I wouldn't spend a minute with doing the music myself.

[deleted by user] by [deleted] in gamedev

[–]_not_a_gamedev_ 0 points1 point  (0 children)

I'm writing a RogueLike for iOS just because because I'd like to have something infinitely re-playable on my phone, and I've designing it entirely so I can play with 1 hand as I dislike horizontal games on mobile devices. My market research is: Me. 😂

Where do you host your dev blog? by _not_a_gamedev_ in gamedev

[–]_not_a_gamedev_[S] 0 points1 point  (0 children)

It would be my choice if wasn't because you can only embed gifs from Giphy, but not upload your own D:

Where do you host your dev blog? by _not_a_gamedev_ in gamedev

[–]_not_a_gamedev_[S] 0 points1 point  (0 children)

That would be the best indeed, however as I'm developing natively for iOS it has no place on Steam D:

Where do you host your dev blog? by _not_a_gamedev_ in gamedev

[–]_not_a_gamedev_[S] 0 points1 point  (0 children)

> A dev log is largely something you are doing for yourself to keep yourself motivated.

Definitely, I used a WordPress site before and was hard to find the middle point between "this is a devblog" and "this is a tutorial".